For [Tyler]’s entry to the Hackaday Prize, he’s making something that just a few years ago would be unheard of in a homebrew build. He’s making a DIY smartphone. Yes, with cheap single-board Linux computers, GSM modules, and SPI touchscreen displays, it’s possible to build your own smartphone.
Inside [Tyler]’s DIY smartphone is a Raspberry Pi Model A, a 3.5 inch touchscreen PiTFT with 480×320 resolution, and an Adafruit FONA module The connections are simple enough; the TFT is connected over SPI, and the GSM module over serial. The entire device is powered by a 1200mAh LiIon battery, charged with a powerboost board, runs an operating system written in Python capable of making calls, sending texts, and takes pictures with a Pi camera.
This is not what you would normally call a smartphone. The FONA module is 2G only, meaning you’re limited to 2G speeds and 2G networks. AT&T will be shutting down 2G networks in a little bit, although T-Mobile will be keeping them up for anyone who still has an old Nokia Brick.
That said, [Tyler]’s phone is still exactly what you want in a minimal phone: it just makes calls and receives texts, it has a camera, and unlike the Nokia, you can take it apart and repair it easily. Not that you ever had to do that with a Nokia…
32 thoughts on “The 2G Raspberry Pi Smartphone”
great alternative to botnet devices…or is it…
Where are the microfone ans speaker connected to? Directly to the GSM module, or to the pi? Is the serial connection fast enough to transmit the audio of a conversation?
I checked on the project page. The mic and speaker are connected directly to the fona module.
He’s got all the diagrams. The mic is hooked into the GSM mod.
FWIW the 2G GSM CODEC sends 9600bps for voice. There’s a 14.4k optionally-supported mode for enhanced sound quality. GSM phones have been around a fair while, I guess the encoding doesn’t need too many MIPS. But as others mentioned, the module takes care of that. Wonder if there’s an option to do it yourself anyway, and feed it your own encoded audio stream?
Curious, why not use raspberry pi compute module? It looks like it would allow for a smaller footprint. Or are there some limitations I’m not aware of?
You have to buy lots of them.
Probably the cost of the IO board and/or difficulty in developing the adapter board, as opposed to $35 for the whole motherboard.
My mistake, he’s actually using a Pi Model A, so $25 for the motherboard.
pay more for less? they are a ripoff compared to standard pee
The Hardkernel ODROID-W is a mini RasPi plus a bunch of other things and that would work amazingly.
Am I the only one looking at a processor originally designed for mobile phones (and set top boxes), back in a mobile phone as a bit of a technological full circle.
Acorn Risc Machine was not originally designed for mobile phones!
Ha Ha, no I’m talking about the BCM2835 which includes an ARM1176JZF-S 700 MHz processor, VideoCore IV GPU. Not the actual origin of the ARM line of processors.
Superb. Bonus points for the OS being written in Python.
Even more bonus points for not collecting owner’s personal data, messages, contacts, position, etc.
for that, you’d have to install pyTattle and pySpy. but no one would want to (lol).
That would be the only reason to make this, although the GSM module probably will have a inbuilt function, as will have the network.
Incidentally, I see that that module also has a FM radio receiver, I wonder if you can mod the frequency range of that. And then route the output to the microphone? Just throwing out some ideas.
Awesome project! One correction the operating system is most likely a linux variant the GUI and programs are indeed written in python and GPL too that’s way cool!
I don’t see why some 3G usb dongle guts can’t be added for high speed connectivity. This would require a second (data only?) contract of course.
Here’s a great how to guide for setting up an LCD touchscreen on the RPi – http://www.circuitbasics.com/setup-lcd-touchscreen-raspberry-pi/
This is great! DIY phones have never been very beautiful or high performing, but they are an awesome and necessary steps to bring us into the future of personal cell-phoning
Not completely open source, because you don’t have access to the baseband firmware.
Which means that the feds can still use thibgs like silent SMS to track you.
Pfft what, Mr Ninja?
There’s a project for freedom-lovin’ hackers of the future. An implementation of baseband. Even 2G GSM would be nice, and I guess in the range of running on something like an Atmel or other low-power MCU. Up until smartphones, mobiles were pretty stupid, even getting WAP out of some was pushing the hardware.
3G I’d guess has more to it, so would be harder. Are the standards for these published freely? Any ARM should be up to doing that.
The problem might be getting the parts. Nowadays the whole baseband thing is a single unit, one chip that’s enough to run the whole phone, for a lower-end phone. Stuff like the radio synthesizer I guess is all built into that, so stuff that was separate chips a decade ago is obsolete and presumably no longer manufactured, so inseparable from all the spook circuits. Though even a few hundred old parts might be enough to satisfy the market for a true privacy-geekphone.
It might be a nice idea. Then again it doesn’t stop the network triangulating you, block that and the phone no longer works. There might be some mileage in bringing discipline to a standard phone module, just stuff like disconnecting the mic until it’s needed, cutting power under user control so you can be sure it’s really off.
To do it without using one of the simple modules would be an effort. But having free source code for communicating with 3G or LTE would enable a lot of niche options to pop up, it would be valuable to many people, and maybe free us from having to use the pre-made modules. Approval would be a separate issue, but as long as it behaves itself, how would they ever know?
osmocomBB is an opensource gsm baseband implementation, but it is made for the obsolete TI Calypso baseband chipset.
If i made something like this i would use a 3g or 4g dongle instead because lets face it, who uses the phone function of a smartphone nowadays? And besides theres voip for that. I would probably skip the camera module too. Could probably get it thinner that way.
And i doubt this kid made his own OS. I could be wrong. But seems to me he just made a interface. I would use some basic wm like ratpoison or nowm and then a bunch of bash scripts and utilitys to form the basic ui. Probably be a lot faster too.
The majority of people on the world use the phone functionality.
Most often with additional use of data of course. But still though. I think you project too much, or forget about the times you use voice.
Also worth a look – The Piphone – https://learn.adafruit.com/piphone-a-raspberry-pi-based-cellphone/overview
How much current does it draw?
Please be kind and respectful to help make the comments section excellent. (Comment Policy)