When a project has outgrown using a small microcontroller, almost everyone reaches for a single-board computer — with the Raspberry Pi being the poster child. But doing so leaves you stuck with essentially a headless Linux server: a brain in a jar when what you want is a Swiss Army knife.
It would be a lot more fun if it had a screen attached, and of course the market is filled with options on that front. Then there’s the issue of designing a human interface: touch screens are all the rage these days, so why not buy a screen with a touch interface too? Audio in and out would be great, as would other random peripherals like accelerometers, WiFi, and maybe even a cellular radio when out of WiFi range. Maybe Bluetooth? Oh heck, let’s throw in a video camera and high-powered LED just for fun. Sounds like a Raspberry Pi killer!
And this development platform should be cheap, or better yet, free. Free like any one of the old cell phones that sit piled up in my “hack me” box in the closet, instead of getting put to work in projects. While I cobble together projects out of Pi Zeros and lame TFT LCD screens, the advanced functionality of these phones sits gathering dust. And I’m not alone.
Why is this? Why don’t we see a lot more projects based around the use of old cellphones? They’re abundant, cheap, feature-rich, and powerful. For me, there’s two giant hurdles to overcome: the hardware and the software. I’m going to run down what I see as the problems with using cell phones as hacker tools, but I’d love to be proven wrong. Hence the “Ask Hackaday”: why don’t we see more projects that re-use smartphones?
When Mr. Spock beams down to a planet, he’s carrying a tricorder, a communicator, and a phaser. We just have our cell phones. The University of California Santa Barbara published a paper showing how an inexpensive kit can allow your cell phone to identify pathogens in about an hour. That’s quite a feat compared to the 18-28 hours required by traditional methods. The kit can be produced for under $100, according to the University.
Identifying bacteria type is crucial to prescribing the right antibiotic, although your family doctor probably just guesses because of the amount of time it takes to get an identification through a culture. The system works by taking some — ahem — body fluid and breaking it down using some simple chemicals. Another batch of chemicals known as a LAMP reaction mixture multiplies DNA and will cause fluorescence in the case of a positive result.
Over the years, we’ve seen dozens of projects that sell themselves as an ‘Open Source’ cellphone, a hackable cellphone, or some other confabulation of a microcontroller, screen, and a cellular module. The WiPhone is not one of these projects. That’s not to say it’s not an Open Source phone that’s intended to be hackable. No, this is a DIY phone that doesn’t make cellular calls, because this is a phone that only works with SIP and VoIP apps. It’s a WiPhone, and something a lot of us have been waiting for.
The hardware for this WiFi enabled phone is extremely minimal, but there are some interesting tricks up its sleeve. Instead of letting the main microcontroller handle capturing all the button presses, the team behind the WiPhone are using a SN7326 key-scan controller. This cheap part is able to scan 64 buttons, although there are only 25 buttons on the phone. The audio board is a WM8750BL, a cheap codec with a stereo microphone interface and a 400 mW speaker driver. The display is a simple SPI TFT, and apart from the microcontroller, that’s about it.
But it’s the microcontroller that makes it, and for that we turn to the incredible ESP-32. This chip has enough power to play Doom, be a Game Boy, and in this case, make and receive calls from a VoIP provider, scan and connect to WiFi networks, and yes, it can even play snake.
While this is just about the simplest phone you can imagine, and it only works where there’s a WiFi network, a device like this could be invaluable. And really, these days how far are you from a WiFi network you’re already connected to anyway?
Let’s get this out of the way first – this project isn’t meant to be a replacement for your regular smartphone. Although, at the very least, you can use it as one if you’d like to. But [Shree Kumar]’s Hackaday Prize 2018 entry, the Kite : Open Hardware Android Smartphone aims to be an Open platform for hackers and everyone else, enabling them to dig into the innards of a smartphone and use it as a base platform to build a variety of hardware.
When talking about modular smartphones, Google’s Project Ara and the Phonebloks project immediately spring to mind. Kite is similar in concept. It lets you interface hacker friendly modules and break out boards – for example, sensors or displays – to create your own customized solutions. And since the OS isn’t tied to any particular brand flavor, you can customize and tweak Android to suit specific requirements as well. There are no carrier locks or services to worry about and the bootloader is unlocked.
At the core of the project is the KiteBoard – populated with all the elements that are usually stuffed inside a smartphone package – Memory, LTE/3G/2G radios, micro SIM socket, GPS, WiFi, BT, FM, battery charging, accelerometer, compass, gyroscope and a micro SD slot. The first version of KiteBoard was based around the Snapdragon 410. After some subtle prodding at a gathering of hackers in Bangalore, [Shree] moved over to the light side, and decided to make the KiteBoard V2 Open Source. The new board will feature a Snapdragon 450 processor among many other upgrades. The second PCB in the Kite Project is a display board which interfaces the 5″ touchscreen LCD to the main KiteBoard. Of Hacker interest is the addition of a 1080p HDMI output on this board that lets you hook it up to external monitors easily and also allows access to the MIPI DSI display interface.
Finally, there’s the Expansion Board which provides all the exciting hacking possibilities. It has a Raspberry Pi compatible HAT connector with GPIO’s referenced to 3.3 V (the KiteBoard works at 1.8 V). But the GPIO’s can also be referenced to 5 V instead of 3.3 V if you need to make connections to an Arduino, for example. All of the other phone interfaces are accessible via the expansion board such as the speaker, mic, earpiece, power, volume up / down for hacking convenience. The Expansion board also provides access to all the usual bus interfaces such as SPI, UART, I²C and I²S.
To showcase the capabilities of the Kite project, [Shree] and his team have built a few phone and gadget variants. Build instructions and design files for 3D printing enclosures and other parts have been documented in several of his project logs. A large part of the BoM consists of off-the-shelf components, other than the three Kite board modules. If you have feature requests, the Kite team is looking to hear from you.
When it comes to smartphone design, Quantity is the name of the game. Whether you’re talking to Qualcomm for the Snapdragon’s, or other vendors for memory, radios, displays and other critical items, you need to be toeing their line on MOQ’s. Add to this the need to certify the Kite board for various standards around the world, and one realizes that building such a phone isn’t a technical challenge as much as a financial one. The only way the Kite team could manage to achieve their goal is to drum up support and pledges via a Kickstarter campaign to ensure they have the required numbers to bring this project to fruition. Check them out and show them some love. The Judges of the Hackaday Prize have already shown theirs by picking this project among the 20 from the first round that move to the final round.
When project inspiration strikes, we’d love to do some quick tests immediately to investigate feasibility. Sadly we’re usually far from our workbench and its collection of sensor modules. This is especially frustrating when the desired sensor is in the smartphone we’re holding, standing near whatever triggered the inspiration. We could download a compass app, or a bubble level app, or something similar to glimpse sensor activity. But if we’re going to download an app, consider Google’s Science Journal app.
It was designed to be an educational resource, turning a smartphone’s sensor array into a pocket laboratory instrument and notebook for students. Fortunately it will work just as well for makers experimenting with project ideas. The exact list of sensors will depend on the specific iOS/Android device, but we can select a sensor and see its output graphed in real-time. This graph can also be recorded into the journal for later analysis.
Science Journal was recently given a promotional push by the band OK Go, as part of their OK Go Sandbox project encouraging students to explore, experiment, and learn. This is right up the alley for OK Go, who has a track record of making music videos that score high on maker appeal. Fans would enjoy their videos explaining behind-the-scene details in the context of math, science, and music.
An interesting side note. Anyone who’s been to Hackaday Superconference or one of the monthly Hackaday LA meetups will likely recognized the venue used in many of the OK Go Sandbox videos. Many of them were filmed at the Supplyframe Design Lab in Pasadena. It’s also nice to see AnnMarie Thomas (Hackaday Prize Judge from 2016 and 2017) collaborated with OK Go for the Sandbox project.
While the Science Journal app has provisions for add-on external sensors, carrying them around would reduce its handy always-available appeal. Not that we’re against pairing smartphones with clever accessories to boost their sensing capabilities: we love them! From trying to turn a smartphone into a Tricorder, to an inexpensive microscope, to exploring serious medical diagnosis, our pocket computers can do it all.
Modern smartphones, even the budget models, are extremely impressive pieces of technology. Powerful ARM processors, plenty of RAM, and an incredible number of sensors and radios are packed into a device that in some cases are literally given away for free when you sign up for a service plan. Unfortunately manufacturers are not obligated to keep up with software updates, and while the hardware may be willing to keep on fighting, the user is often pushed to upgrade due to perennially outdated software. Even if you aren’t the kind of person to be put off by using a phone that doesn’t have the latest and greatest OS, the lack of software security updates pose a clear threat in a world where mobile devices are increasingly targeted by attackers.
One of the key goals of postmarketOS is to avoid the fragmented nature of previous attempts at replacing Android with a community-developed operated system. By avoiding binary blobs and focusing on getting the mainline Linux kernel running on as much as the hardware as possible, there’s no need to make different forks and releases for each supported device. By unifying the OS as much as far as it can be, an upstream update can be pushed to all devices running postmarketOS regardless of their make and model, just like with traditional Linux distributions.
The blog post shows two things very clearly: that the community is extremely excited and dedicated to the prospect of running what is essentially desktop Linux on old smartphones and tablets, and that postmarketOS still has a long way to go. In these early days, many devices aren’t what could be considered “daily drivers” by most standards. In fact, the blog post mentions that they’ve decided to abandon the term “supported” when talking about devices, and make no claims beyond the fact that they will boot.
Still, incredible progress is being made on everything from mainline kernel development to getting standard Linux desktops such as Gnome, MATE and XFCE4 running. Work has also been done on the backend process of compiling and packaging up components of the operating system itself, promising to speed up development times even for those who don’t have a beefy machine they can dedicate to compiling. The blog post ends with a helpful list of things the reader can do to help support postmarketOS, ranging from making your own t-shirts to porting to new hardware.