Picture of Make your own cellphone from scratch.
The DIY Cellphone is a working (albeit basic) cellphone that you can make yourself. It can 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 (hardware, software).

Part of my motivation for making the phone -- and helping others to do the same -- is the fact that while cellphones are ubiquitous in our society, most of us have little idea what they're made of or how they work. In fact, you can make a cellphone in much the same way you'd make anything else: find the right parts, figure out how to connect them together, and try to do it in a way that's attractive and robust. Because of the ubiquity of cellphones, there are companies making the components they're made of; with some digging, I was able to find versions of these parts that are possible to buy in small quantities and that are possible to assemble by hand. This wasn't necessarily easy, but it's a very different problem than trying to learn the physics needed to understand how a cellphone tower works. 

I've been using various versions of this phone as my primary device for almost a year and have taught workshops in which others have made the phone for themselves. It doesn't require any specific knowledge of electronics, but it does involve configuring software, soldering a lot of small components, and laser-cutting, all of which can be difficult if you haven't done them before. I'd only recommend this project if you already have some experience with Arduino and soldering, or can find someone to help you out. You'll also need to get access to a laser-cutter, or find an alternative way to make the enclosure for the phone.
Remove these adsRemove these ads by Signing Up

Step 1: Ordering the circuit board and components.

Picture of Ordering the circuit board and components.
You can order the circuit board (PCB) from OSH Park. It costs about $60 and you get three copies of the board.

The components for the board come from three companies: Digi-Key, SparkFun, and Arduino. The full list is available in this PDF. The total cost is about $135 plus shipping.

To assemble the circuit, you'll need a pretty good soldering setup: a soldering iron (e.g. the WES51) with a good tip, fine-pitch solder, desolder wick, tweezers, etc. To program the microcontroller, you'll need an AVR in-system programmer (like the AVRISP mkII) and a 3.3V FTDI Cable (or equivalent breakout board). To charge the battery, you'll need a mini-USB cable. If you don't already have these and aren't interested in setting up your own electronics lab, you might try looking for a local hacker space, maker space or fab lab. Most of them should have the tools you'll need. (And, if not, this would be a good reason to convince them to get them!)

For the laser cut enclosure, you'll need:
  • A sheet of 1/4" / 6 mm plywood, like this craft plywood from Midwest Products available at many art supply stores. (Avoid the micro-lite aircraft plywood from Midwest Products or other plywood with dark adhesive layers as they tend to burn in the laser-cutter.)
  • A sheet of wood veneer, preferably with adhesive backing.
  • Six M0, 5/8", pan-head machine screws (e.g. this 100 pack from McMaster-Carr)
  • Six M0 nuts (e.g. this 50 pack from McMaster-Carr)
Or, try making a difference enclosure (e.g. with 3D-printing or by milling a mold).

You'll also need a full-size SIM card from any GSM provider. I've been using T-Mobile in the United States but the phone has also been tested with AT&T and in India, China, and Europe.

The PCB and GSM module may take a couple of weeks to arrive. You might try practicing your soldering in the meantime!

Step 2: Soldering the electronics.

Picture of Soldering the electronics.
While the cellphone uses many small, surface-mount components, it's possible to solder it together by hand with a good soldering iron and some practice. If you haven't done surface-mount soldering before, Adafruit Industries has some good tutorials: Adafruit Guide To Excellent Soldering, SMT Breadboard Prototyping Using Breakout PCBs.

Most of the components are straightforward to solder (apart from their small size), but there are some things to note:
  • Capacitors: Be careful of the polarity on the large (1000 uF) capacitors, they may explode if you solder them backwards. Use the orange stripe to orient them correctly.
  • Polarity: Other components with polarity include the super-capacitor, the LEDs (note the two small green dots on one side), the ATmega1284P microcontroller (note the circle in one corner), the M10 GSM module (which has an arrow in one corner), the SIM card socket, the microphone, and the diode (note the faint grey line on one side). These components have no polarity (can be soldered either way around): the crystal (8 MHz), speaker, reset button, small capacitors, and resistors. Other components only physically align in one orientation (but make sure the transistors aren't upside down and that the buttons aren't rotated 90 degrees).
  • Antenna: When soldering the antenna, start with the pad that faces the GSM module. That's the one that carries the electrical signal; the others are simply there for structural support (to hold the antenna down). You may even be able to heat the solder on that pad from the top of the antenna, the heat can be conducted through the two vias (small holes) in it.
  • Solder Jumpers: There are two solder jumpers on the bottom of the board, labelled "Cell" and "uC". Solder the center pad of each to the pad labelled "uC". (This connects the RX and TX lines from the FTDI header to the ATmega1284P on the board so that they communicate over serial. If you instead solder the center pad to the "Cell" pad, the FTDI cable connects directly to the GSM module so that you can communicate with it from the computer.)
  • Speaker: The speaker is awkward to solder because it has no legs. First, apply solder to the pads on the PCB. Then rest the speaker on top of the PCB (aligning its pads with those on the board) and solder it from the bottom. You can feed in solder or melt the pre-applied solder from below. If it doesn't work, don't remove the speaker (you might rip its pads off). Instead, try to re-melt the solder on its pads by inserting the iron into the holes from below.
  • USB Connector: Only the two outer (of the five small) legs of the USB connector are used, so you don't have to solder the three central legs. (Do solder the four corners, though, they provide structural support).
  • ISP Header: Because you only need to burn the bootloader once, I typically don't solder pins into the ISP (2x3) header. Instead, you can insert pins into the connector on your ISP and hold them against the pins (from the top of the board) while you burn the bootloader. If you have trouble, you can solder pins to the holes but you'll have to adjust the case to make room for it.

Step 3: Upload the software.

Picture of Upload the software.
Screen Shot 2013-11-21 at 1.58.31 PM.png
Screen Shot 2013-11-21 at 1.53.23 PM.png
Screen Shot 2013-11-21 at 1.56.23 PM.png
Screen Shot 2013-11-21 at 2.45.33 PM.png

Step 4: Troubleshooting the network connection.

There are a lot of pieces involved in connecting to the network and, therefore, a lot of things that might not work. If the phone's display shows "connect" forever, it's having trouble connecting to the network. Here are some potential problems and some possible solutions. (If you don't see anything on the display at all, check the soldering on its pins and the pins of the microcontroller, and review the previous step to make sure the software uploaded correctly.)

Things to Check
  • Is there a SIM card in the socket?
  • Is the SIM socket soldered correctly? The 22 ohm resistors (those connect the GSM module to the SIM socket)? The corresponding pads on the GSM module?
  • Is the antenna soldered correctly? The corresponding pad on the GSM module?
  • Is the 0 ohm resistor soldered correctly (to the trace connecting the M10 GSM module to the antenna)?
  • Do you have reception? You might try taking the phone outside. Sometimes, even if you can get reception inside, the phone has trouble connecting for the first time when it's inside.
  • Is the SIM card locked to another phone?
  • AT&T (and possibly other carriers): have you activated your SIM card and phone on AT&T's website? You'll need the IMEI number printed on the M10 GSM module.

Serial Debugging
You can further debug the phone by communicating with the GSM module via serial communication with the computer, using the microcontroller as a proxy. To do so, upload the SerialProxy sketch to the phone (using a 3.3V FTDI cable or breakout board). Then open the serial monitor and set the baud rate to 9600 and the line ending to "carriage return". After a few seconds, you should see:
That means the GSM is ready to receive AT commands (text strings that mostly start with the letters "AT"). The commands are detailed in the datasheet for the GSM module but here are a few basic ones:

Test/synchronization command. If you enter "AT" in the serial monitor (with a "carriage return" line ending), you should get a response of "OK"

Check the status of the network registration (connection). The response will be in the form " CREG 0,N", with N being: 0 (not registered to a network), 1 (registered to a network), 2 (searching for networks), 3 (network registration denied), or 5 (registered, roaming).

Display currently-selected phone book. Sample response: " CPBS: "SM",50,250", with the "SM" indicating the SIM card is the current phone book (some other options include "MC" for the missed call list, "RC" for the received call list, and "ME" for the GSM module phone-book) and that 50 of its 250 entries are in use. This command can be useful for verifying that the GSM module is able to communicate with the SIM card

Select the SIM card's phone book. You can also replace the "SM" with the abbreviations for the other phone books listed previously.


Read the first entry from the currently-selected phone book. Replace the 1 with the number of the entry you wish to read (up to the total phone book size reported by AT CPBS?).

Step 5: Using the phone.

Unlocking the Phone
Once the phone successfully starts up, it will be locked and the screen will be blank. To unlock the phone, press any button; the date and time will scroll back and forth across the screen (this is the "unlocking" screen). If, during this time, you press the "unlock" key (the top-left button), the phone will unlock. The time will remain on the display, without scrolling. This is the home screen.

Locking the Phone
From the home screen, you can lock the phone by pressing the left soft-key button (the upper-left button). The screen and backlight will turn off but the phone will still be on and able to receive phone calls or text messages.

Adjusting the Contrast/Brightness
When the phone is in the "unlocking" screen, you can adjust the brightness by using the up and down buttons (the two central buttons of the group of four buttons just below the screen).

Dialing a Phone Number
You can dial a number from the home screen. Simply press the button corresponding to the first digit of the number. You'll be taken to the dialing screen where you can enter the rest of the number. Press * to delete the last digit entered or "back" (the left soft-key) to go back to the home screen. By pressing # one or more times in succession, you can enter #, *, or . To call the number, press the right soft-key ("call").

Using the Phone Book (Contact List)
From the home screen, press the down arrow (the lower of the group of four buttons just below the display) to enter the phone book. Use the down and up arrows to navigate to the desired entry. Press the right soft-key ("okay") to enter a menu from which you can call that contact, send a text message to that contact, add a new entry to the address book, or edit or delete the contact.

Adding a Contact
To add a contact, first enter the contact list by pressing the down arrow from the home screen. Then press the right button to enter the contact menu ("call", "text", "add entry", etc); scroll (using the down and up buttons) down to the "add entry" menu item and press the right button. Now you can enter the name of the contact using the keypad (2 is "abc", 3 is "def", etc.; 1 is space, * is backspace, and # is shift). Once you've entered the contact's name, press the down arrow to move to the field for entering the contact's phone number. (You can press the up arrow to return to the field for entering the contact's name.) Enter the contact's number using the keypad (* is again backspace, but # now cycles between #, *, and ). When you've entered both the name and phone number, press the right button to save the contact (or the left button to cancel).

Calling a Contact
To call a contact in your contact list, scroll to that contact, press the right button to bring up the contact menu ("call", "text, etc.) and then press the right button again to call. Texting a Contact To text a contact, scroll to their entry in your contact list and press the right button to bring up the contact menu. Scroll down to "text" and press the right button. Now you can enter your message using the keypad. (As for entering a contact's name, 2 is "abc", 3 is "def", etc.; 1 is space, * is backspace, and # is shift.) Press the right button to send the text (or the left button to cancel).

If you find another component (e.g. the display, speaker, microphone, or buzzer) that's not working correctly, check:
  • Is the component soldered correctly?
  • Are the connected components (e.g. the corresponding legs of the microcontroller or GSM module) soldered correctly?

Step 6: Laser-cut and assemble the enclosure.

Picture of Laser-cut and assemble the enclosure.
You can make a simple but functional enclosure from laser-cut plywood and veneer, along with some small screws (see materials above):
  • Before cutting the case, check that the case files match the circuit board. In particular, I've made a lot of tweaks to the size and location of the screw holes, so check that they're in the same place on the PCB and the case. (Note that the holes in the bottom veneer file should be bigger than the others, this is to accommodate the nut, recessing it slightly.)
  • If you soldered pins onto the ISP header, you'll need to cutout a space for them in the top piece of plywood. Edit DIY-Cellphone-Top accordingly.
  • Laser-cut the plywood (1/4" / 6mm) using the DIY-Cellphone-Top and DIY-Cellphone-Bottom files in the Case/ folder of the damellis/cellphone2hw repository on GitHub. The SVG files were created in Inkscape, then exported to hpgl for importing to CorelDraw.
  • Laser-cut the veneer using the DIY-Cellphone-Top-Veneer and DIY-Cellphone-Bottom-Veneer files. Cut the veneer with the wood front facing up (adhesive back face down).
  • Remove the adhesive backing from the top veneer piece and stick it to the outer face of the top plywood piece. Repeat with the back, again attaching the veneer to the outer face of the plywood.
  • There's a bit of empty space between the top of each button and the veneer. You might need to stick small spacers to the back of the top piece of veneer, one for each button (in the middle of each rectangular flexure cutout in the veneer). That way, you don't have to depress the veneer as much to press the button.
  • Slip the top and bottom pieces of the case over the circuit board. You'll have to fit the battery's wire in between the GSM module and the battery connector, folding it in half. The plywood pieces should rest flat against the circuit board.
  • Insert the six screws and thread them onto the nuts.
1-40 of 108Next »
derickson82 months ago

dang all these big words were not coverd when getting my G.E.D. but this is a very intresting post well done Mr. Mellis

Elitecmidget2 months ago
roboguy881 year ago
Would this phone work in Australia? Has anyone tried?
That depends on the sim card accessibility in your area.
mattcintosh2 months ago

Wow. $40 for that LED display. Thats pretty much the same display used in some mid 90's Motorola MicroTAC phones (it will greenish yellow).

A VFD display would be even cooler.

noryc3 months ago

Can you play games on it

It depends on the software if it's a software you invented it you have to make your own games
It depends on the software if it's a software you invented it you have to make your own games
It depends on the software if it's a software you invented it you have to make your own games
NikhilM33 months ago

nice tutorial

add a trimmer to it. and a laser sword... like star wars LOL

This is taking hipster to the next level.

That comment is taking stupidity to the next level. You obviously mix up technology enthusiasts and dumb mass consumers.

What about a phone number

Will we be arrested for linking to mobile networks
So can or can't you text ?????
mellis (author)  Hephaestus engineer4 months ago
You can text.
robotman95 months ago
Oh my Gosh this is so my next phone but could you try to make it text? I would so make it then!!!!!!
BenT16 months ago

but can it play battle field 4

AsterixR BenT15 months ago

no, It only supports battle field 3 and yet it lags

Be pro. Add flashlight!

JohanS16 months ago

I have access to a 3d printer, and I was wondering whether that would work as an alternative to the laser-cut wooden case?

BrianH36 months ago

Pretty cool, but can it play games like Crysis 3, GTA V, or the new Battlefield?

quintinm7 months ago

Oh hell yea this is pretty impressive

kedwa308 months ago

This is great! I'm wondering how I might modify this design to include a full qwerty keyboard. My mom and dad mostly text and they want a full qwerty keyboard that is larger than, say, the Pantech P6020. I haven't been able to find one, so now I'm actually considering building it myself. If all it does is text and basic phone then that is great. I particularly don't want internet. The handset can have a cord to a SLA battery, since my mom would keep it in her purse. It is important to have a clam shell design so as to completely avoid pocket/purse dialing. The phone might be locked with a key combination, but then when a text comes in, the touch screen on my P6020 becomes active and does all sorts of mischief in my pocket. I definitely do not want a touch screen on my next phone. So basically if I can figure out how to modify this to use a full QWERTY and to have a clamshell cover, it will be perfect for my mom, my dad, and myself.

BR1042268 months ago

This is is Awesome!

nfarrow1 year ago

This is really cool could you make a waterproof cell?

stangeman1 year ago

Have you done any power measurements while transmitting/receiving and while idle? I'm interested in knowing how low power can go on this module.

From the Quectel Datasheet below, but wondering what power your system actually requires:

Compliant to GSM Phase 2/2+

Class 4 (2W @ 850/ 900 MHz)

Class 1(1W @ 1800/1900MHz)

Supply Voltage Range

3.3~4.6V 4.0V nominal

Low Power Consumption

1.3mA @ DRX=5

1.2mA @ DRX=9
momsnacher1 year ago
are you going to knock him because he didnt make the battry out of lemons or something. this looks like a fun weekend project as most of them on this site are. i like the wood case too. you could go to a flooring place and pick up a few hardwood samples for free to make a fancier case next time.
kelseymh1 year ago
What a cool project! Every few months, we've been getting somebody posting "how can I build my own cell phone?" and now we can point them toward an answer :-)

From Step 1, it sounds like the whole device costs about $200 in parts; is that accurate? If so, it seems to me this is a good demonstration of one of the pitfalls of DIY fabrication of otherwise consumer goods: there is no economy of scale.

I know from my own work (experimental particle physics), that the setup cost to have PCBs fabricated is quite high -- a run of 200 sometimes costs less than a run of 5 because the company charges a premium for the teardown time. The big components are also pricier in lots of 1 than they are (per unit) in lots of 1,000.

Do you think that something like this, made in larger volumes as a kit, could compete with basic cell phones in cost? I'm picturing the case being either vacuum formed or injection molded plastic. The components could still be soldered on by the end user (rather than a prefab board). I wonder if skipping the assembly process, while keeping the economy of bulk purchase of components, could beat out the factories.
Boards cost less in bulk if you are having your own design made. Here's why.
Setup / tooling cost is lets say $75.
Lets say each board then costs about $2 each to produce.
1 board costs $78
10 boards costs $95, or $9.50 each
100 boards costs $275, or $2.75 each
As quantities go up, the price will approach but never reach $2 each.

If some bright bulb with the cash to finance it in the first place were to buy up 100 or 1000 of everything needed to make complete kits, I am sure the cost would be quite reasonable and profitable for the seller (eventually).
I think if Radio Shack or The Source were to put a "build your own cell phone" kit on the shelves, it would be quite the hot ticket item!
Yes, the tooling/setup is a fixed cost, but I was alluding to an even stranger result. We had a company do a bid for us: for five boards (multiple layers), they were charging $400. For 50 boards, they bid $350. Apparently, they were charging an extra premium, on top of the basic tooling cost, for the short custom run.

We wanted the five board run first, in order to do prototype testing before ordering the final version. We ended up contracting with them to provide two boards after the tooling was set up, for us to run QA/QC before they did a full run of 50.
smaller companies may do this.
I have my boards fabricated in a very large place in Hong Kong where it's common that many small runs may be put into one run. IE - if 5 of one persons board, and 10 of mine and 15 of someone else's can fit onto a single sheet, they do that.
I always deal with the larger fabricators because many smaller houses can't handle how close my traces get to the very small VIAs, and as you have pointed out, they also may charge much more!
The place I deal with is extremely reasonable, and tooling for QTY1 and QTY100 are the same.
mellis (author)  kelseymh1 year ago
My sense is that PCB production continues to get cheaper, even (especially?) for small production runs. But you're right, it's difficult for this kind of DIY approach to compete with the price of a mass-produced product. I'm not sure the economics will ever catch up -- but I do think there's an opportunity to find forms and functions that aren't addressed by mainstream products. With the right design or approach, the additional cost might not be as much of a factor (or the cost may be much cheaper than the equivalent commercial product, if it's something that doesn't have a large market).
Zip1231 year ago
This is a very misleading article.

He is not "Making a Cell Phone from Scratch", he is simply embedding an off-the-shelf Cell Phone module!

And for those bleating about the legality, the Cell phone module he uses has its own approval certificates. Which of course is why he is using it!!!

neffk Zip1231 year ago
System integration is legit. I think it's inspiring.

Maybe you could post a project.
Zip123 neffk1 year ago
Not much point commenting on what I DIDN"T say. I have no problem with the project, just the description.

And yes, I have posted hundreds of projects; Not here however..
neffk Zip1231 year ago
If you must criticize, start with a positive comment. For example, "Great project." It's the internet and this is just text. We don't know what you're thinking. Starting positive is part of being nice. In my experience, it's also good for the career, marriage, and friendships.

Scratch doesn't mean that he actually started with sand. Every project starts somewhere. Besides, most of us can't do the RF work or cost of agency testing for certification. So I'd say this project is as good as it can be for this audience.

My company builds complex devices that use certified modules all the time. It's usually a question of volume and risk.
Zip123 neffk1 year ago
...And when your company repackages certified modules, do you tell your client (and their lawyers) that you designed the product from scratch?

I admire the original article. It is a very good project. What I object to is Instructable's claim that it is about building a cellphone from scratch. It clearly isn't. Most of the technology iis hidden the the phone module.

Few non technical people understand that a mobile phone is basically a two-way radio with a fancy control system tacked on. Instructables has a duty to educate as well as entertain.

neffk Zip1231 year ago
We're working for money, not pride. And 'scratch' isn't really a technical term. Usually the conversation revolves around the number of units that the customer wants and the level of integration that's needed. Once those are defined, the work begins.

I don't distinguish between designs as much anymore. In the past, I thought the complicated stuff was somehow better and 'real engineering'. But now I see that engineering is more about delivering a project on-time, or controlling budget risk, or managing safety and health risks. Even if the device is simple, if those aspects are part of the requirements, I consider it 'real engineering'. Everything else is screwing around in the garage. Perhaps it's not a perfect definition but that's what I'm working with at this moment.

I'm still waiting for you to post some projects. Projects are credibility here.
1-40 of 108Next »