Combining Arduino and other shield modules, we make a mobile phone named Arduino Phone. Meanwhile, we printed a shell for it with a 3D printer. Though not as fine as you think, even a little bit clunky, it is still very cool: that is the point--this is a cell phone made by ourselves.
Here is a detailed explanation about the steps of making an Arduino Phone, including the hardware connection and software implementation.
At the very beginning, we’d better prepare the materials. Of course, most of these modules can be purchased directly, such as Arduino Uno, TFT Touch Shield and GPRS Shield.
Owning to we want to put our Arduino Phone into a 3D printed shell, and in order to adapt the size of this shell, we have to DIY a charging and discharging PCB board (including two parts) and an expansion PCB board which can connect to the headphone jack of GPRS Shield.
If you want to make a shell by yourself, you can directly take Lipo Rider, or something like this, as the charge sheet. Thus, you do not need to DIY PCB board in order to meet the size of the shell.
What you need:
- Arduino Uno
- TFT Touch Shield
- GPRS Shield
Custom ArduinoPhone Charge Circuit (or Lipo Rider)
- Li-po battery
A shell (with 3D printer)
After preparing the materials, we need to assemble the above electronic components to lay the foundation functional part of Arduino Phone.
- Plug GPRS Shield into Arduino UNI, then, connect the TFT Touch Shield to GPRS.
- Connect RTC module to Arduino UNO.
- Plug into the power module, and connect your earphone to the headphone jack on GPRS.
If you choose to use Lipo Rider, you can refer to this sort of connection.
This Arduino Phone contains the following main functions.
- Receive & send message (letter input)
- Dial & answer calls
- Real time clock display
- A convenient and concise UI: you can switch functions by sliding your finger on the screen. A standard 12 key input method for inputting message.
You can get all of the Arduino Phone code from the Github, including the dependent libraries.
Before uploading code to the Arduino, you need to copy all the files in Libraries directory of source code to Arduino-1.0.4\libraries folder.
However, a much more difficult problem is that this Arduino Phone hasn’t physical buttons (except the Reset button switch and GPRS). So managing UI will be a challenging task.
Fortunately, TFT Touch not only provides a display function, also a touch screen function. Thus, we can manage the UI through gesture, like left-swipe and right-swipe. In this step, we will show how the ArduinoPhone works (the picture indicates the workflow of ArduinoPhone)
Finally, opening ArduinoPhone.ino with Arduino IDE, then uplaod source code to ArduinoPhone.
In order to make it look like a phone, we printed a shell with 3D printer as shown below. Then, assemble them carefully.
This is a troublesome but interesting process. Actually, maybe it will be more interesting if you put them into other shells, such as in shoes( see the picture :) ).
We are planning to do Arduino upgraded version. If you have any ideas or are willing to help us design a more perfect UI, welcome to contact me.
Do you have any ideas to improve the ArduinoPhone? We plan to develop the Vesion 2.0.
- More powerful hardware
- More shells, created by paper or 3D printer
- Integrated models
More details available here.