Introduction: ArduinoPhone 2.0 - an Open Source Mobile Phone

About: Howdy, we are application engineers in Seeed. Sharing projects with maker community is awesome. Hope you like it XD Seeed is the IoT hardware enabler providing services that empower IoT developers to swiftly …

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.


Digital Life 101 Challenge

Runner Up in the
Digital Life 101 Challenge