Have you ever wanted to make your own phone? If you ever have, then this guide is for you.
List of parts for the phone:
- Soldering skills =D
- Raspberry Pi (any of the models with 40 GPIO pins)
- Micro SD card
- Adafruit FONA 2G
- 2G GSM SIM card
- Adafruit PiTFT Plus 3.5"
- Mini keyboard
- 3.3V USB-to-serial converter (this one works)
- Slide switch
- 2500+ mAh LiPo battery
- Adafruit PowerBoost 500 Basic
- Cellular antenna (this one from Adafruit works)
- Micro-USB cable
- TRRS headset
- Soldering iron
- Solder
- Raspberry Pi Camera (optional)
- Speaker (optional)
- WiFi dongle (optional)
- Internet connection (to install necessary files and packages)
- Wire
- Wire stripper and cutter
Step 1: Getting the Raspberry Pi hooked up to a touchscreen
So you've got your Raspberry Pi and your touchscreen, and you want to make them communicate. Here's how:
- Download the Raspberry Pi operating system for the touchscreen.
- Follow the instructions at https://www.raspberrypi.org/documentation/installation/installing-images/
- Put your SD card into the Raspberry Pi, and rock and roll! =D
Step 2: Soldering
Ready for a lot of soldering? If not, we'll wait for you.
...
soldering practicing time =D
...
We are soldering the FONA to the PowerBoost to get power to the Pi. We are soldering the FONA to the USB-to-serial converter to communicate with the Pi. The switch is to turn the Pi on and off.
Ready or not, here we go!
Done yet? If so, time for step 3!
...
soldering practicing time =D
...
We are soldering the FONA to the PowerBoost to get power to the Pi. We are soldering the FONA to the USB-to-serial converter to communicate with the Pi. The switch is to turn the Pi on and off.
Ready or not, here we go!
- Solder FONA Vio to 3.3V on USB-to-Serial converter
- Solder FONA GND to USB-to-Serial converter GND
- Solder FONA GND to PowerBoost 500 Basic GND
- Solder FONA BAT to one switch contact
- Solder PowerBoost 500 Basic BAT to other switch contact
- Solder USB port (comes with PowerBoost) to PowerBoost (there are 6 holes; 4 are pretty small, and the other 2 are pretty big)
Done yet? If so, time for step 3!
Step 3: Code
Download all of the ".py" files (see link below) to your desktop on the Raspberry Pi in a folder called "Apps". The ".py" files are code written in Python. The ".py" files let you send and receive calls and texts, listen to FM radio broadcasts, access your GPS location, check your battery level, and take pictures (if you have a Raspberry Pi camera). All of the ".desktop" files** (see link below) are desktop shortcuts that run the ".py" files when you click on them; download them to your desktop on your Raspberry Pi. Also download all of the pictures (see link below) to the "Apps" folder on your Raspberry Pi desktop. The pictures are the icons for the desktop shortcuts. Here is the link to the code: https://drive.google.com/open?id=0B2cK7H3Q6h8NYU5LanpUYnBDdEk
Optional Bonus Step:
BELOW PROJECT USES CELLULAR DATA. BE AWARE OF YOUR CELLULAR PROVIDER'S COSTS.
If you want internet on the go:
**The file extension is ".desktop" so the files can be recognized by the operating system as desktop configuration files.
Optional Bonus Step:
BELOW PROJECT USES CELLULAR DATA. BE AWARE OF YOUR CELLULAR PROVIDER'S COSTS.
If you want internet on the go:
- Open LXTerminal
- Run these commands (press enter after each one):
- sudo apt-get update
- sudo apt-get install ppp elinks
- sudo -i (makes you superuser)
- cd /etc/ppp/peers/
- wget https://raw.githubusercontent.com/adafruit/FONA_PPP/master/fona
- nano fona
- sudo apt-get update
- Now edit the file (use the arrow keys to move around the file):
- Replace "#/dev/ttyAMA0", with "/dev/ttyUSB0"
- Change the "****" in the line beginning with "connect" to your cell provider's APN
- Press Control-X, then Y, then press enter (this saves your file and closes the text editor)
- Type "exit", then press enter (makes you normal user again)
- To turn on the cellular data connection, go into LXTerminal and type "sudo pon fona"
- To turn it off, go into LXTerminal and type "sudo poff fona"
- You can use a text-based browser called elinks to connect to webpages faster. To run it, type "elinks <URL-of-webpage>" into LXTerminal.
**The file extension is ".desktop" so the files can be recognized by the operating system as desktop configuration files.