David Hamp-Gonsalves had two things quite a few people have these days: old phones lying around and a slowly building desire to get another Raspberry Pi for a quirky personal project.
The project this time was a personal music streaming server (detailed in full on GitHub). While Pi inventories are slowly improving, they’re still not quite what they were, as a glance at rpilocator shows. What is far more readily available is the old Samsung Galaxy S7 phone in your drawer. Hamp-Gonsalves had one with a broken charging port, and a friend had another one with a bad battery, and one transplant later, he had a test model.
You can read David’s full post for the details (which we first saw at Hackaday). The gist is that he tried three solutions, with varying degrees of fiddling and success, to get the Navidrome personal music service running:
- Running an Android terminal emulator, Termux, and discovering Android would frequently auto-kill it for memory
- Using PostmarketOS, an actual Linux distribution for phones, the same one used on some PinePhones, but support for the S7 had fallen off considerably
- Using LineageOS, the open source Android-based system, which worked after some package building, SSH, DDNS, and transcoding work
This kind of project could be far more commonplace, and it should be far easier to pull off, too. Selling, trading in, or properly recycling your old phone involves inherent friction, some of it more unreasonable than it should be. Those factors, plus the human tendency to hoard old devices, lead to junk drawers of sadness. With effort, though, a device with 4GB of RAM, 64GB of storage, an SD card slot, Wi-Fi, Bluetooth, and an SoC found new life as a streaming server.
Seeing a reborn Galaxy S7 reminds me of Samsung’s short-lived, little-considered Galaxy Upcycling program. The company, having partnered with iFixit (where I previously worked and wrote about this), intended to provide unlocked bootloaders and software projects to help people turn their older Galaxy phones into home-automation tools, retro game consoles, or even straight-up Linux desktops—the typical assortment of “old computer, what now” projects. It was novel for an Android phone maker to proactively offer unlocked and repurpose-ready devices rather than watching as the community bypasses its security and updates its old phones, as LineageOS has done for Hamp-Gonsalves’ S7.
Software-unlocking and root access are important, but so is battery control. I’ve spent close to a decade repurposing dozens of old devices and looking at hundreds more projects. At the moment, I would love to turn an old iPad into a wall-mounted Home Assistant smart home control. But nearly every online discussion of these projects can be derailed by contemplating what you’ll do about the battery inside.
Some batteries are smart and won’t keep trickle-charging when they’re full, switching instead to run themselves fully from a power source. Some batteries are just a cathode, an anode, and a very dumb controller and will allow you to keep applying high-charge pressure to them until their already-old selves swell, push on their already-tight spaces, and either become spicy pillows or, well, catch fire. In every discussion, you’ll find someone who kept an old Android tablet plugged in for years and had no issues, alongside cautionary tales from people talking about why their desk has a rectangular heat mark in it. If battery firmware could be updated or phone makers always offered a kiosk-like cable-only mode, this kind of dire guesswork could be avoided.
Not every phone can do what a Raspberry Pi can do, to be sure, and niche phones are sure to have far less interest from developers. But it would be nice if more small, useful projects could find a home inside a small, useful device that has already been manufactured and is worth a lot more working than as shredded bulk.
https://arstechnica.com/?p=1935208