Skip to main content

building-a-diy-cellphone-1_a89d565ceafc6268ffca1a6ff207548ba3181c11.jpg

An open source mobile phone that you can build yourself.

The DIY Cellphone was developed by David A. Mellis, a researcher at MIT Media Lab and one of the creators of Arduino — which as it happens, is used in this project.

As far as I am aware this is not available as a complete kit of parts. However, it's an open source design, the Gerber files have been made available and PCBs can be ordered direct from OSH Park (note that there are two variants: the one described here with an LED matrix, and one with an LCD).

Assembling the hardware

building-a-diy-cellphone-2_915909a3b0e784486188b7fde1727ea8c7da8acc.jpg

A little upfront preparation pays and I started out by printing off enlarged top and bottom layouts, and the bill of materials so that I could mark off components as they are fitted.

The first components to be soldered were the resistors, starting with the three 22 ohm ones.

building-a-diy-cellphone-3_5310d4f4c30eb7ebc7a9e3ab687e7936fe8d4534.jpg

There are various different approaches to hand soldering surface mount components. The technique I used here was to put a tiny amount of solder onto one pad, place the resistor, align it, re-melt so that one end sinks into place, and then solder the opposite end. Other techniques may be better!

Next I fitted the ceramic capacitors and then the electrolytics.

building-a-diy-cellphone-4_4d7fdd00caf10653bfec9e9327a1981bc6cca5ab.jpg

Given the relatively large size of the electrolytics, these could be first held in place with Blu Tack, before being soldered at each end.

building-a-diy-cellphone-6_e919277229dda6a6c3be7b6cddbf648e8e4736ae.jpg

The switches were also soldered using the same technique as used with the electrolytic capacitors.

Some components were somewhat trickier to solder than others, such as the loudspeaker which had to be placed onto pads covered with blobs of solder, before then re-melting this by applying heat to the reverse side and whereby it was conducted via the through-hole plating.

If you've not done any surface mount work before, you'd be forgiven for thinking that it would be difficult to hand solder the ATmega in its 44-pin TQFP package. However, this was a relatively easy task and I started by soldering a single pin at one corner, before very slightly fine tuning the alignment and then soldering a pin on the opposite corner. At this point solder could be dragged across an entire row of pins and any excess removed with solder wick.

Note that it's important to use plenty of flux and particularly with things such as the ATmega, where you are relying on surface tension to draw the solder into place.

Programming

building-a-diy-cellphone-7_82d97e520a80fd0dc0a40d69c9cf0df20a33603a.jpg

Arduino is used to provide the software platform and the sources, or Arduino “sketch”, along with the board configuration, is hosted in a repository on GitHub. This depends on other libraries and after the repository is cloned these are imported via git submodules.

As mentioned previously, there are LED and LCD variants of the design and the software is slightly different for each. The former is in the led-matrix branch and this needed to be checked out.

building-a-diy-cellphone-8_36222c9ee656a7cd36b4d461d9ab8eff4955ac86.jpg

Now that I had the correct software I could configure the Arduino IDE to point at this. Note that I experienced problems when trying to use a recent version of the IDE, and so I installed v1.0.4.

Since the ATmega came supplied without any kind of firmware loaded, the first step is to program the Arduino bootloader. This requires an in-system programmer (ISP) and I was able to use one of the excellent LittleWire boards for this purpose and connected it to the 2x3-pin header.

building-a-diy-cellphone-9_7e4c91542db3b13af2007d76e1591c6b10335a62.jpg

It took around 4 minutes for flashing to complete and when it did I got a verification error. So I tried this again and once again I got the same error. However, I managed to complete the next step without any problems, so it may be an issue with the verification process or ISP reading flash.

Next I opened up the DIY Cellphone sketch, compiled this and downloaded it to the phone via a USB UART attached to the 6-pin serial header.

building-a-diy-cellphone-10_f56e8117eea910efcfa6fee144dc61a50f8c3f27.jpg

Once upload completed the firmware was up and running.

building-a-diy-cellphone-11_306585aa7f2c27a8fa9afda399515d66527d7752.jpg

Testing

With the hardware assembled and the phone firmware loaded, it was time to insert a SIM card.

building-a-diy-cellphone-12_2715126f097defb2afa915ceeafbcaf386582594.jpg

Upon booting the phone displays “Connect” as it searches for a network.

building-a-diy-cellphone-13_489ab5a54f5a602e4158d47a4ae1d1f21073261c.jpg

If you keep the USB UART connected you can view debug messages via the Arduino serial monitor.

building-a-diy-cellphone-14_8759669129a06444f13009794d2eac7e08c394b2.jpg

After Connect, the phone briefly displays “Caching”.

building-a-diy-cellphone-15_af8aac28f1f57b3263a5687aebe64119a49c5c69.jpg

The process ends with “Done”.

building-a-diy-cellphone-16_81ac73fa1e63f65a802ba2062e3f480539471bb7.jpg

And finally, testing with a call!

A satisfyingly fun project

You might wonder why anyone would want to make their own cellphone when a complete one can be bought for far less and which has far greater capabilities (and a case!) Clues can be found via the research group which David is a member of, and that states its primary aim as being to:

“engage diverse audiences in designing and building their own technologies by situating computation in new cultural and material contexts, and by developing tools that democratize engineering. We believe that the future of technology will be largely determined by end-users who will design, build, and hack their own devices, and our goal is to inspire, shape, support, and study these communities.”

A laudable aim indeed and a belief I wholeheartedly share. It may be the simplest of cellphones, but there is something quite fun about making a DIY version of an everyday device such as this.

building-a-diy-cellphone-17_f03e58b4e73d48b89886a2a4f7cfa0d86fee6b1d.jpg

Second DIY cellphone workshop © David A. Mellis, CC BY 2.0

Finally, I should point out that most of the components used are surface mount, assembly can be a little fiddly and should you decide you want to make one yourself, it may be advisable to start with a simpler project if you haven't done any surface mount assembly before. Although don't let that put you off, as it's not that difficult and only a little practice is required.

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin