ArduinoPhone 2.0 - an Open Source Mobile Phone





Introduction: ArduinoPhone 2.0 - an Open Source Mobile Phone

Digital Life 101 Challenge

Runner Up in the
Digital Life 101 Challenge

More than 2 years ago I had made an instructable - ArduinoPhone.

ArduinoPhone was big and it's difficult for the beginner to make one. As there's a step to make the charge circuit.

And I had heard so many voice that when will you make ArudinoPhone 2.0 for this 2 years. I think I really should make it someday.

It's lucky that I have got some free time for the past month, so I spend about 3 weekend to design it. And now it's done. Before you read about the steps, let's view some featured of ArduinoPhone2.0.

  • Even more thinner, about 20 mm
  • Support of solar and DC adopt charge
  • Much more easy to install
  • A longer standby time, more that 50 hours
  • On board MIC and Speaker, say goodbye to the earphone
  • 3D print sheel

Step 1: What Do We Need

Step 2: Hack in Seeeduino GPRS

There's some pins on Seeeduino GPRS conflict with TFT Touch Shield.

Here we need to cut a line on the PCB of Seeeduino GPRS, as shown in the Image.

And do some soldering, connect the pin to D3 of Seeeduino GPRS.

Remove R_D7 and R_D8(On the back of the board), and connect R_RX, R_TX together.

Step 3: Connect the Audio Board

We need a MIC and a speaker to make a call.

Here we will use Xadow Audio to act as mic and speaker.

You need to do some soldering here. As shown at the above image

Step 4: Hardware Connection

There's a button, to power on/off the screen. Connect it to D2 and GND.

As the power supply, we need to do some solder as well, we will connect 5V and GND to Seeeduino GPRS, and 5V will cross a switch to shut down all the system.

To charge the Li-battery, there's a barrel jack input, connect it to the input port of Lipo Rider, then we can use a 5V adopt to charge the system.

Step 5: Software Works

Seeeduino GPRS was in Arudino Leonardo bootloader. So if you had ever used Arudino, it's easy for you to make this step. If not please put hand on to getting started.

Click here to get more info about the board.

Click hereto download the code.

1. When you get to the github page, find a Download ZIP button, click to download the code.
2. The code you downloaded is not an Arduino library, it's a sketchbook, which is include all the library the project need.

3. Unzip the file you had downloaded from github, you will get a folder namedArduinoPhone-master.

4. Open your Arduino IDE, click File > Preferences > Sketchbook Location, browse to the folder we had mentioned above - ArduinoPhone-master. Then click OK to save it.

5. Close and re-open Arduino IDE, click File > Sketchbook > PhoneCode, then the main code of Arduino Phone is open.

6. Choose the right board(Arduino Leonardo) and port to upload the code. Refer to the image above.

After finished this step, you should get the UI of ArduinoPhone 2.0. If not please make sure if the code had been uploaded well.

Step 6: Test It

This Arduino Phone contains the following main functions.

1. receive & send message, letter input

2. dial & answer calls

3. real time clock display

4. A simple UI, You can switch function by sliding your finger on the screen. A standard 12 key input method for inputting message.

Step 7: 3D Print a Shell

Step 8: Assembly Exploded Figure

There is an assembly exploded figure to give you a clear mind to do the assembly.

Then let's go to the next step.

Step 9: Fix the Solar Panel

Put the solar panel in the groove of the bottom shell,

Pass the electric wire through the small hole. Paste the solar panel.

Step 10: Fix Seeeduino GPRS

There are 3 fix palces on the back of the bottom shell, its diameter is 3mm,and the thickness is 1mm.Fix Seeeduino GPRS on the back of the top shell with 3 screws.

Step 11: Fix the Other Modules

fix the Lipo Rider、 Xadow Audio、 Xadow GSM Breakout

Following the picture to find the right fix places ,then fix the Lipo Rider、 Xadow Audio、 Xadow GSM Breakout on the bottom shell.

Step 12: Make It Better

It's an open source project.

So far Arduino Phone 2.0 is still simple and crude, it only has the capacity to make the basic communication. But I believe that it will grow up better and better with the help of the community. And this is why people like open source and the community.

If you get a better idea, or you had made some improvement in the code, please give me pull request in Github. I am really appreciate that.




    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Pro Tips Challenge

      Pro Tips Challenge
    • Paper Contest 2018

      Paper Contest 2018

    We have a be nice policy.
    Please be positive and constructive.




    Hi, thanks for the tutorial. please it is possible that you realize an instructable on a stationary cellphone, where the cellphone component that emit radio frequency is far away from your house, since I am electromagnetic sensitive person to high frequencies, but because is necessary the communication with friends and family and I live in rural area where there is no electricity, phone lines, but there is near cellphone towers, I like to implement your idea but changing a little the idea. because my english is not good I post an image so you can understand better the idea.

    The only problem what I have is the distance between the components and how to connect between them contrary with the idea to put them together in a case.

    thanks in advance

    kind cellphone.jpg

    Check out the new SIM808 module...GSM/GPRS/GPS all in one!

    Can we customize ui of phone

    Can we connect earphones instead of audio module

    Hi hey guys I made it but cause I didn't have a 3d printer I used a nice wooden finished frame with foam padding inside to make it shockproof instead ,I was wondering wether we could make this device waterproof or not

    this looks nice but sadly I don't own a 3d printer


    Could you help me?

    I want Arduino updates the real time clock from a mobile SIM Card, like the Mobile phone always updates the real time clock from the mobile network.

    Could it applicable?

    Thank you for your help


    Aw, no pic with display on? I wonder what the GUI looks like in real life...

    I am putting together the phone following your instructions and I can get the screen to light up, but nothing shows up on the screen.

    I may have not understood the part where you explain the you have to cut a wire on the board (step 2). Can you explain a bit more where do you have to attach the green wire? Can you post more detailed pictures?

    Thanks for a nice tutorial. More information on the green wire in steps 2 and 3 would be great. Additional explanation for how it is used to join digital 3 would make following the tutorial easier.