Software developer David Mellis demonstrates how to make a functional cell phone from scratch in this Instructables article. The DIY cell phone is able to “make and receive phone calls and text messages, store names and phone numbers, display the time, and serve as an alarm clock.”
It connects to GSM networks (like AT&T and T-Mobile in the U.S.) using a regular (full-size) SIM card. It builds on the hardware and software in the Arduino GSM Shield but extends it with a full interface, including display, buttons, speaker, microphone, etc. The phone is made up of a custom electronic printed circuit board (PCB), about 60 electronic components, and a laser-cut enclosure. Its hardware and software are open-source and available on GitHub.
images via David Mellis