This isnt new and has a major flaw. Phones are not made to be continously charged. You have to find or tinker your own solution to power it without battery which is more cumbersome than just getting off the shelf used hardware in the raspberry range.
There are a few issues with Android devices. I have 2 Android phones lying around in my rack, as well as an Android tablet that I use as a dashboard.
1. Batteries swell over time. Replacing them is easy, but it's still harder than changing one inside a UPS hat. Most phones won't even start without a battery.
2. Software support will be awful. Maybe you'll get lucky and your device will be able to run postmarketOS.
3. There's no modularity, you're stuck with the full package. Don't feel comfortable having a camera or a microphone on a device with no security updates? Too bad, there's not much you can do about it.
Don't get me wrong, if you understand these risks, are fine with them, and Android devices cover your use cases — that's great, go for it! I just find SBCs with decent software support to be a better option for general projects.
I have recently taken to gathering old phones and putting Nerves on them (Nerves packages up the Erlang VM into a mainline kernel to run on a variety of devices). I got inspired by a talk by Marc Lainez at Goatmire who had put it on a variety of exotic devices (e.g., a Wii).
I am by no means an expert at this, but starting of with a device on the Postmarket OS list and Claude, you can get a lot of these old devices working with mainline Linux and nearly all drivers. The newer devices are a bit harder, but if you go back nearly a decade, they're very easy to get working.
So far I have repurposed a Fairphone 3, Nexus 5, Galaxy S20, and Galaxy Tab 3.0 7". All of them (except the s20) with all drivers working compared to stock. Others have done a lot too: https://github.com/mlainez/awesome-nerves-systems
For DIY projects you can use host USB, or get one of the Adafruit FT232H type boards for GPIO pins.
Neat. I've heard good things about Erlang, though I haven't taken a proper look at it. What kind of things can you do with it? Or rather, where does it shine?
> The open question is supply. Finding two good used phones is easy; finding a few hundred matching ones, with healthy batteries and predictable camera behaviour, would take more work. I feel increasingly confident that it’s possible.
RaspberryPies and such are commodity hardware. You can buy one, two, ten, twenty, a hundred, and it just scales along. All of those devices will, barring perhaps a few dead-on-arrival ones covered under warranty, just work out of the box.
A used smartphone will have issues which can vary from device to device, so scaling that would take a very dedicated refurbishing setup where the quirks are ironed out (and the unsalvageable ones discarded).
I would also expect that you are starting out at the other end of the bathtub curve: with new devices you will have a few that fail soon after unboxing and using them a bit, and then they will run fine for years until you start hitting the other end of the curve and wear-related faults pop up. With old cheap phones you would start out at that side of the curve, so if you buy one hundred of those, a bunch will fail at various points soon after deploying them.
The cost of that unpredictable behaviour seems high to me. So much so that I wonder if it wouldn't be cheaper to buy a lot of unsold stock of a certain type of budget smartphone from two or three years back. Those devices could run fine as long as they aren't connected to the internet directly.
> RaspberryPies and such are commodity hardware. You can buy one, two, ten, twenty, a hundred, and it just scales along.
Not my experience at all. Pies are hard to find, get more expensive each week. Some are impossible to find (Pi zero).
The most fragile part of a phone is the screen. If you don't care about breaking it, then access to the battery becomes pretty easy, and therefore easy to replace.
Phones are pretty robust though, meant to handle everyday use and abuse. In terms of failure, the battery is really the only thing to be concerned about. Most phones have some battery limiting option, and bypass the battery when the charger is connected. And if you're determined enough you can run without a battery.
Just plug all the battery slots in parallel to a 4.1V power source (that's a nearly full battery voltage). You probably have to solder them to make a reliable connection.
I'm pretty sure the third/fourth pins are used for communication to the battery. I doubt the phone would be happy it wasn't responding. I vaguely remember some phones can just use a resistor for that pin? Either way it's not quite that simple.
Maybe. Try it and see. If it doesn't work it's probably just a temperature sensor (thermistor) and a resistor indeed simulates a certain temperature the same way your power supply simulates a charge state.
Hobbyist don't usually need to scale beyond one device. Warranty is not that a big issue, if you buy a used hardware you know what are getting into, that's why they are cheaper than new devices.
we are talking about embedded devices here. you dont need a second one because your web server cant serve enough requests, you need a second one because you want separate projects to have separate hardware.
for applications like that your should remove the battery and put small cheap circuit that emulates it. then you can run such server very very safe, unlike with 100x batteries always harging.
Took me hours to replace the battery in a pixel. They make it almost impossible to open a phone without breaking it. I can't imagine doing that for more than 2 phones
The main issue with old phones are NAND Flash degradation and battery problems. As long as you fix those two issues everything else is simple. These days with AI it's almost trivial to build and flash your own ROM and even the most hardcore of binary blob drivers can be reversed so long you have enough GPUs.
It's not the dark days of android where something like CyanogenMod takes a whole team of experienced system and embedded engineers to port and you don't have to hunt for information on XDA anymore.
Oh and cooling. That's something that the Pi has an edge on.
Early Android hackers might remember something called the Android Arduino Mega ADK. I suspect nowadays if you need real time control you can probably just have smartphone control the peripherals via the ESP32 using either USB C or Bluetooth. Developing over the wire protocols is trivial since LLMs can hammer out protobuf definitions like there's no tomorrow.
Nowadays, I just get old laptops with broken screens and take the mainboard out. They are dirt cheap, often even have 16GB of RAM, you can just dump pretty much any linux on them and they are usually way faster than Pis.
The boards are of course bigger, which I guess will be a non-starter for many. They'll also require active cooling unless you downclock them considerably. They often also require more power, although many mainboards can be configured down two a few watts of power consumption, depending on what peripherals and speed you need.
Yeah, it's more work than just getting a Pi, but given the current prices, it makes sense for me.
How do you power them? Via the battery? I was thinking about turning my old mbp into a build machine, but i am a bit concerned with running it via the battery 24/7
Most old PC laptops have external batteries you can detach by pulling out on a springloaded tab. Even MacBooks are possible to run without the battery, but it requires some NVRAM trickery IIRC.
Reasons to get a Pi: GPIO support, software support, OS updates, free root & bootloader, more flexibility and customizability, extensive documentation and support, consistency, simplicity, more ports, battery optional.
Used phones are good for tinkering, especially for "display with sensors and battery attached" usecases, but there are still plenty of downsides. And unfortunately Linux on phones is just not ready for primetime, last I checked.
Cool, didn't know that. But like are they physically accessible? I don't think you can use the USB port as GPIO. Maybe some unused pins on the SOC itself, but that means opening up the phone and probably removing the shielding/heatsink...
I think you can attach a keyboard to a phone over USB, and in theory it can provide both input and output (you can control the LEDs from the host computer). That would be a more convenient route, I suppose.
Atom x5 Z-8350, 2GB of RAM, 8-16GB of flash, some USB, and there's a board on that page you can have done up to do a slapdash SD adapter inside the case for more flash.
Yes, the terms "kernel" or "security updates" don't exist in the article at all.
Everything without upstream kernel support is inherently vulnerable.
This is why most phones are unfortunately not general purpose computers. They don't run the software you want, but only work on closed binary blobs hardcoded against specific kernel versions.
Yeah like its a weird article idea where the pi is expensive compared to an old phone which you have for free. But that doesn't make the used phone cheaper. You can just as well say why use an expensive PI when I have an old computer with a 1680ti and 12 gigs of ram. Like yeah okay but what does that have to do with Pi? Entirely different device classes imo
Why get an expensive Pi when I have an old free Pi? My issue is with the expensive qualifier. Anything is expensive compared to something you have lying around for free.
If you want to compare the expensive factor, at least use some kind of cost to compare like the price of a used phone etc or the cost of a basic server to see how they differ.
You could consider getting an older flagship phone perhaps 2022-2023 and have a strong portable device with a decent amount of compute power and not to mention ram. I'm starting to believe that these devices are under utilised and we will see some interesting applications using either with AI or without.
I particuarly think the economics of this are interesting, if you take the one plus 11 you can get one for around £200-250. The CPU is very capable and the alternatives are a PI 5 or N100. You get 16b of ram, a screen, gps, bluetooth a camera... the list goes on.
These devices could really shine as edge computing devices and I believe they are overlooked.
The problem with modern smartphones is that they run on battery, even when plugged into external power. You cannot use it without the batteries without some more hardware hacks. As the batteries aren't designed to be always in a fully charged state, if you decide to use the phone with the battery (with 24x7 power supply) then you also have to carefully monitor the batteries too. Batteries tend to heat up when charged / discharged, old batteries can also bulge or, worst case, even explode. Another thing you need to consider is cooling - Smartphones are designed with the idea that their CPUs won't run at 100% for a very long duration. A smartphones CPU, Camera, battery etc. tends to get hot on prolonged use. So if you are, for example, planning to use it as a mini webserver or media server or as a 24x7 streaming cam, you need ensure it remains adequately cool. And ofcourse, the best smartphones for these kind of projects is one capable of running Linux.
Some OnePlus devices have a "bypass charging" system. My OP8 Pro is running since 2y now as a Kubernetes node, and nothing bad has happened to its battery (yet).
I'm honestly curious to see if bypass charging is on, but it's been a while since I touched the device itself and it has been fine do far. YMMV
>>The problem with modern smartphones is that they run on battery, even when plugged into external power.
That's not universally true - a lot of android phones have a "bypass charging" mode where you run directly from the power supply, and indeed you can run them with the battery removed.
A lot more mobile devices will require removable batteries after 2027 due to EU regs.
There are exceptions, so not all phones will, but more will. I hope there'll be more time/effort put into hacking removable battery phones to accept hardwiring a PSU onto the battery terminals over the next 5 years.
The main reason is that they are one of the few ARM computers sold with a pre-installed officially supported GNU/Linux distribution, at affordable prices.
Even with the prices increases that the PI has suffered, there no systems of vendors like Tuxedo, or System 76, at similar price point, with ARM support.
Yeah, people mostly just buy things to satisfy their wants. the PI sells because its the more reliable, low-friction option for a lot of use cases,even if an old phone is technically stronger and cheaper
Well that's because for the Pi you have GPIO. If you just want to run homelabs or software only stuff, why not go for ITX motherboard with just in time components
Phones are cheap for what you get, but problems arise when you try to add something. Driving LEDs is the start. So how do you do that? Via a cloud service? How do you add an air monitor or servos? The pi and esp32s have an ecology of add-ons and a community to support you. Sure that could be built around a rooted phone, but it would take years.
I recently used Termux on a 7 year old low-end android to run a WordPress site with sqlite db and a golang sse pubsub service at a conference, via cloudflare tunnel, with dozens of people connected and doing some realtime collaborative stuff. Worked perfectly.
It was vastly more powerful than the old RPi 3 that i have, and significantly easier to work with given the screen, keyboard, wifi etc...
Rooting or flashing a modern phone is pain in the ass. Ideally the battery needs to be replaced with a 3.7V PSU (and BMS must be salvaged without cutting the battery accidentally). And for old phones it either old linux kernel, partially unsupported hardware or fork maintained by handful of hackers for free.
I guess laptops are way easier: more upgradeable and repairable, don't require unlocking mostly, battery can just be thrown away and it works with its native PSU. Just need to make sure power won't go out. And it is bulkier, though maybe less susceptible to overheating.
I guess in general, the development experience on a Pi is much better, because it’s made to be tinkered with, right? In the other hand, Android phones are also nicely hackable. I’d just guess that for beginners, it’s much easier to install the Raspberry IDE and plug in the Pi (as opposed to learning how to connect and develop for an Android phone). But yeah, for pros or vibe coders, an Android phone might be the right or even better choice. And it’s great that Android phones can therefore be used a little longer before landing in a landfill.
Hey, I can answer that! Because me and my family have always had Verizon and when I recently went through alllllll the devices I have ever owned, I would need to go back to circa 2010's Galaxy S7 to be able to get a rooted device, which as Claude keeps reminding me, "isn't what I want, but might be good enough"....
Raspberry PI's don't give me near the struggle and I never dumbly signed a contract that I didn't really own the device I was purchasing (that I am completely aware of)
On a similar note, old smartphones (depending how old of course) are way more powerful than a Raspberry Pi. You can turn them into a Kubernetes cluster [1].
Thats a great read. I explored similar things with my rooted phone. Samsung galaxy m30s. Wrote something on it as well on what I did, may be you will also like this type of experimentation?
>Why get an expensive Pi when I have an old phone?
>I’ve unlocked and rooted the Redmi
Herein lies the issue. I don't know fuck all about phones. I don't want to. They are engineered to keep me out, and that is a pain in the ass I don't want to deal with when doing hardware work. I want to own something that works the second I get it and doesn't fight me the entire way. Sure, I could let an LLM guide me through it or even do it for me, but why bother when the whole point of the hardware is for me to fuck off and use it as a subscriber to the OEM and carrier? This is tedium, removed by further spending. Not to mention documentation - what bullshit is the OEM hiding in their board or firmware thats going to ruin my day? I'm sure that some of these devices are great for reuse as a self contained server with media and modem, but is my old phone going to do this?
I'm not gonna spend $50 on ewaste to try to do something unless I want to use that ewaste (old keyboards, old toys? :3). Old phones are a non-sequitur because, again, they're engineered to keep me out.
>>Herein lies the issue. I don't know fuck all about phones. I don't want to. They are engineered to keep me out, and that is a pain in the ass I don't want to deal with when doing hardware work.
I mean, you do know we're on a forum called hacker news, right?
In most cases it's not some magic voodoo process that you need an LLM for, it's the first result on Google and one command to run or in some cases you just hold two buttons together when booting up and click the unlock button.
Like, I completely understand your perspective and desire to have things which "just work"(I'm in the same boat a lot of the time lately) but like, let's be realistic - rooting an old phone and running some software on it is really not a big deal, I'd hope especially for people on here.
For me if I don't have a need for the GPIO pins, it's "why get an expensive pi when I can get a used ex-corporate small form factor quad core, intel core i7-something desktop PC with 16GB of RAM and a real SSD"... For like 150 bucks on eBay. RAM apocalypse and price of equipment has affected this a lot (these used to be like 90 bucks depending on era of core i7), but they're vastly more useful when a general purpose x86-64 linux is installed on them. Or even just put proxmox on it and then various things inside that.
I've always found it a bit absurd that an old phone can have more sensors and connectivity than a fairly expensive hobbyist computer, yet we rarely consider using it as one
As long as it's not an iPhone. Once Apple has bricked your old iPhone, you can't even run your own software on it anymore. Despite all their lip service to being environmentally friendly, that thing is nothing but an expensive paperweight and e-waste now.
Yes, USB to GPIO adapters are available. Note that you won't be able to implement anything that has timing requirements - you'll need a microcontroller for that.
I think in practice the timing jitter and the low cost difference to something like an Arduino Nano or Pi Pico means people use one of those even if they could technically use a GPIO adapter.
This isnt new and has a major flaw. Phones are not made to be continously charged. You have to find or tinker your own solution to power it without battery which is more cumbersome than just getting off the shelf used hardware in the raspberry range.
There are a few issues with Android devices. I have 2 Android phones lying around in my rack, as well as an Android tablet that I use as a dashboard.
1. Batteries swell over time. Replacing them is easy, but it's still harder than changing one inside a UPS hat. Most phones won't even start without a battery.
2. Software support will be awful. Maybe you'll get lucky and your device will be able to run postmarketOS.
3. There's no modularity, you're stuck with the full package. Don't feel comfortable having a camera or a microphone on a device with no security updates? Too bad, there's not much you can do about it.
Don't get me wrong, if you understand these risks, are fine with them, and Android devices cover your use cases — that's great, go for it! I just find SBCs with decent software support to be a better option for general projects.
I have recently taken to gathering old phones and putting Nerves on them (Nerves packages up the Erlang VM into a mainline kernel to run on a variety of devices). I got inspired by a talk by Marc Lainez at Goatmire who had put it on a variety of exotic devices (e.g., a Wii).
I am by no means an expert at this, but starting of with a device on the Postmarket OS list and Claude, you can get a lot of these old devices working with mainline Linux and nearly all drivers. The newer devices are a bit harder, but if you go back nearly a decade, they're very easy to get working.
So far I have repurposed a Fairphone 3, Nexus 5, Galaxy S20, and Galaxy Tab 3.0 7". All of them (except the s20) with all drivers working compared to stock. Others have done a lot too: https://github.com/mlainez/awesome-nerves-systems
For DIY projects you can use host USB, or get one of the Adafruit FT232H type boards for GPIO pins.
Thanks for making me discover Nerves to give a new life to old devices !
Neat. I've heard good things about Erlang, though I haven't taken a proper look at it. What kind of things can you do with it? Or rather, where does it shine?
This is the main issue:
> The open question is supply. Finding two good used phones is easy; finding a few hundred matching ones, with healthy batteries and predictable camera behaviour, would take more work. I feel increasingly confident that it’s possible.
RaspberryPies and such are commodity hardware. You can buy one, two, ten, twenty, a hundred, and it just scales along. All of those devices will, barring perhaps a few dead-on-arrival ones covered under warranty, just work out of the box.
A used smartphone will have issues which can vary from device to device, so scaling that would take a very dedicated refurbishing setup where the quirks are ironed out (and the unsalvageable ones discarded).
I would also expect that you are starting out at the other end of the bathtub curve: with new devices you will have a few that fail soon after unboxing and using them a bit, and then they will run fine for years until you start hitting the other end of the curve and wear-related faults pop up. With old cheap phones you would start out at that side of the curve, so if you buy one hundred of those, a bunch will fail at various points soon after deploying them.
The cost of that unpredictable behaviour seems high to me. So much so that I wonder if it wouldn't be cheaper to buy a lot of unsold stock of a certain type of budget smartphone from two or three years back. Those devices could run fine as long as they aren't connected to the internet directly.
> RaspberryPies and such are commodity hardware. You can buy one, two, ten, twenty, a hundred, and it just scales along.
Not my experience at all. Pies are hard to find, get more expensive each week. Some are impossible to find (Pi zero).
The most fragile part of a phone is the screen. If you don't care about breaking it, then access to the battery becomes pretty easy, and therefore easy to replace.
Same here. The last times I tried to get a Pi — three times in three years — the ones I wanted were completely sold out and waiting to restock.
It seems very regionally dependent.
Phones are pretty robust though, meant to handle everyday use and abuse. In terms of failure, the battery is really the only thing to be concerned about. Most phones have some battery limiting option, and bypass the battery when the charger is connected. And if you're determined enough you can run without a battery.
Just plug all the battery slots in parallel to a 4.1V power source (that's a nearly full battery voltage). You probably have to solder them to make a reliable connection.
I'm pretty sure the third/fourth pins are used for communication to the battery. I doubt the phone would be happy it wasn't responding. I vaguely remember some phones can just use a resistor for that pin? Either way it's not quite that simple.
Maybe. Try it and see. If it doesn't work it's probably just a temperature sensor (thermistor) and a resistor indeed simulates a certain temperature the same way your power supply simulates a charge state.
Hobbyist don't usually need to scale beyond one device. Warranty is not that a big issue, if you buy a used hardware you know what are getting into, that's why they are cheaper than new devices.
we are talking about embedded devices here. you dont need a second one because your web server cant serve enough requests, you need a second one because you want separate projects to have separate hardware.
You could go a step further and just buy low-end new phones. They are available at sub-$50, which is near the price of Raspberries.
for applications like that your should remove the battery and put small cheap circuit that emulates it. then you can run such server very very safe, unlike with 100x batteries always harging.
Bot farms works that way.
Took me hours to replace the battery in a pixel. They make it almost impossible to open a phone without breaking it. I can't imagine doing that for more than 2 phones
This is fascinating, I never even considered this need.
Could you say more about this? What kind of setups work well? Is this really straightforward or are there any subtleties?
What else have bot farms learned through scaling?
The main issue with old phones are NAND Flash degradation and battery problems. As long as you fix those two issues everything else is simple. These days with AI it's almost trivial to build and flash your own ROM and even the most hardcore of binary blob drivers can be reversed so long you have enough GPUs.
It's not the dark days of android where something like CyanogenMod takes a whole team of experienced system and embedded engineers to port and you don't have to hunt for information on XDA anymore.
Oh and cooling. That's something that the Pi has an edge on.
Early Android hackers might remember something called the Android Arduino Mega ADK. I suspect nowadays if you need real time control you can probably just have smartphone control the peripherals via the ESP32 using either USB C or Bluetooth. Developing over the wire protocols is trivial since LLMs can hammer out protobuf definitions like there's no tomorrow.
Nowadays, I just get old laptops with broken screens and take the mainboard out. They are dirt cheap, often even have 16GB of RAM, you can just dump pretty much any linux on them and they are usually way faster than Pis.
The boards are of course bigger, which I guess will be a non-starter for many. They'll also require active cooling unless you downclock them considerably. They often also require more power, although many mainboards can be configured down two a few watts of power consumption, depending on what peripherals and speed you need.
Yeah, it's more work than just getting a Pi, but given the current prices, it makes sense for me.
How do you power them? Via the battery? I was thinking about turning my old mbp into a build machine, but i am a bit concerned with running it via the battery 24/7
Most old PC laptops have external batteries you can detach by pulling out on a springloaded tab. Even MacBooks are possible to run without the battery, but it requires some NVRAM trickery IIRC.
I usually disconnect the battery and just power them via USB-C. The battery on these old broken laptops is usually toast anyway...
Maybe put it on a timer, or have the laptop control its own outlet.
Underrated bit: it has its own LTE modem and battery. Makes a decent watchdog for when the router or power dies and the Pi goes down with it.
Reasons to get a Pi: GPIO support, software support, OS updates, free root & bootloader, more flexibility and customizability, extensive documentation and support, consistency, simplicity, more ports, battery optional.
Used phones are good for tinkering, especially for "display with sensors and battery attached" usecases, but there are still plenty of downsides. And unfortunately Linux on phones is just not ready for primetime, last I checked.
I've never used one but android phones can use utilize USB GPIO devices which are very cheap
Your phone has GPIOs inside it, but you can't access them without at least root.
Cool, didn't know that. But like are they physically accessible? I don't think you can use the USB port as GPIO. Maybe some unused pins on the SOC itself, but that means opening up the phone and probably removing the shielding/heatsink...
You can attach some photodiodes to your screen to control things. And use the camera/mic for input.
Now that's a funny idea. But it's true!
I think you can attach a keyboard to a phone over USB, and in theory it can provide both input and output (you can control the LEDs from the host computer). That would be a more convenient route, I suppose.
PI was a thing when it was much cheaper than X86. You can buy a much better speced mini PC nowadays
For the cost of a Pico or a Zero? Even some of the SBCs cost about £30. Where can I get a mini PC for that?
ebay :-)
https://www.ebay.com/itm/147663241534
I'll bite. Wyse 3040. $20-40 on the used market, similarly crappy specs to a Zero.
https://www.parkytowers.me.uk/thin/wyse/3040/
Atom x5 Z-8350, 2GB of RAM, 8-16GB of flash, some USB, and there's a board on that page you can have done up to do a slapdash SD adapter inside the case for more flash.
> Why get an expensive Pi when I have an old phone?
Because the pi has a maintained kernel and a userspace I don't have to fight.
As someone who's tinkered with flashing linux into tablets I can 100% vouch for this. Fun to tinker with. A nightmare to use for real
Yes, the terms "kernel" or "security updates" don't exist in the article at all.
Everything without upstream kernel support is inherently vulnerable.
This is why most phones are unfortunately not general purpose computers. They don't run the software you want, but only work on closed binary blobs hardcoded against specific kernel versions.
Yeah like its a weird article idea where the pi is expensive compared to an old phone which you have for free. But that doesn't make the used phone cheaper. You can just as well say why use an expensive PI when I have an old computer with a 1680ti and 12 gigs of ram. Like yeah okay but what does that have to do with Pi? Entirely different device classes imo
Or what about an old Pi?
Why get an expensive Pi when I have an old free Pi? My issue is with the expensive qualifier. Anything is expensive compared to something you have lying around for free.
If you want to compare the expensive factor, at least use some kind of cost to compare like the price of a used phone etc or the cost of a basic server to see how they differ.
You could consider getting an older flagship phone perhaps 2022-2023 and have a strong portable device with a decent amount of compute power and not to mention ram. I'm starting to believe that these devices are under utilised and we will see some interesting applications using either with AI or without.
I particuarly think the economics of this are interesting, if you take the one plus 11 you can get one for around £200-250. The CPU is very capable and the alternatives are a PI 5 or N100. You get 16b of ram, a screen, gps, bluetooth a camera... the list goes on.
These devices could really shine as edge computing devices and I believe they are overlooked.
The problem with modern smartphones is that they run on battery, even when plugged into external power. You cannot use it without the batteries without some more hardware hacks. As the batteries aren't designed to be always in a fully charged state, if you decide to use the phone with the battery (with 24x7 power supply) then you also have to carefully monitor the batteries too. Batteries tend to heat up when charged / discharged, old batteries can also bulge or, worst case, even explode. Another thing you need to consider is cooling - Smartphones are designed with the idea that their CPUs won't run at 100% for a very long duration. A smartphones CPU, Camera, battery etc. tends to get hot on prolonged use. So if you are, for example, planning to use it as a mini webserver or media server or as a 24x7 streaming cam, you need ensure it remains adequately cool. And ofcourse, the best smartphones for these kind of projects is one capable of running Linux.
Some OnePlus devices have a "bypass charging" system. My OP8 Pro is running since 2y now as a Kubernetes node, and nothing bad has happened to its battery (yet).
I'm honestly curious to see if bypass charging is on, but it's been a while since I touched the device itself and it has been fine do far. YMMV
See: https://blog.denv.it/posts/pmos-k3s-cluster/
Wouldn't setting the charge limit to a really low ceiling suffice?
>>The problem with modern smartphones is that they run on battery, even when plugged into external power.
That's not universally true - a lot of android phones have a "bypass charging" mode where you run directly from the power supply, and indeed you can run them with the battery removed.
It does have the same problem as using a laptop as a server: the battery will fail. But it's a nice UPS until then.
A lot more mobile devices will require removable batteries after 2027 due to EU regs.
There are exceptions, so not all phones will, but more will. I hope there'll be more time/effort put into hacking removable battery phones to accept hardwiring a PSU onto the battery terminals over the next 5 years.
The main reason is that they are one of the few ARM computers sold with a pre-installed officially supported GNU/Linux distribution, at affordable prices.
Even with the prices increases that the PI has suffered, there no systems of vendors like Tuxedo, or System 76, at similar price point, with ARM support.
Yeah, people mostly just buy things to satisfy their wants. the PI sells because its the more reliable, low-friction option for a lot of use cases,even if an old phone is technically stronger and cheaper
Well that's because for the Pi you have GPIO. If you just want to run homelabs or software only stuff, why not go for ITX motherboard with just in time components
ITX motherboards also have GPIOs on them by the way, but they're not brought out to header pins like on the Pi.
Phones are cheap for what you get, but problems arise when you try to add something. Driving LEDs is the start. So how do you do that? Via a cloud service? How do you add an air monitor or servos? The pi and esp32s have an ecology of add-ons and a community to support you. Sure that could be built around a rooted phone, but it would take years.
I recently used Termux on a 7 year old low-end android to run a WordPress site with sqlite db and a golang sse pubsub service at a conference, via cloudflare tunnel, with dozens of people connected and doing some realtime collaborative stuff. Worked perfectly.
It was vastly more powerful than the old RPi 3 that i have, and significantly easier to work with given the screen, keyboard, wifi etc...
Because big tech decides what you are allowed to run on your phones
Rooting or flashing a modern phone is pain in the ass. Ideally the battery needs to be replaced with a 3.7V PSU (and BMS must be salvaged without cutting the battery accidentally). And for old phones it either old linux kernel, partially unsupported hardware or fork maintained by handful of hackers for free.
I guess laptops are way easier: more upgradeable and repairable, don't require unlocking mostly, battery can just be thrown away and it works with its native PSU. Just need to make sure power won't go out. And it is bulkier, though maybe less susceptible to overheating.
I guess in general, the development experience on a Pi is much better, because it’s made to be tinkered with, right? In the other hand, Android phones are also nicely hackable. I’d just guess that for beginners, it’s much easier to install the Raspberry IDE and plug in the Pi (as opposed to learning how to connect and develop for an Android phone). But yeah, for pros or vibe coders, an Android phone might be the right or even better choice. And it’s great that Android phones can therefore be used a little longer before landing in a landfill.
Hey, I can answer that! Because me and my family have always had Verizon and when I recently went through alllllll the devices I have ever owned, I would need to go back to circa 2010's Galaxy S7 to be able to get a rooted device, which as Claude keeps reminding me, "isn't what I want, but might be good enough"....
Raspberry PI's don't give me near the struggle and I never dumbly signed a contract that I didn't really own the device I was purchasing (that I am completely aware of)
On a similar note, old smartphones (depending how old of course) are way more powerful than a Raspberry Pi. You can turn them into a Kubernetes cluster [1].
[1]: https://blog.denv.it/posts/pmos-k3s-cluster/
Are you gonna open-source this so others can also benefit?
Thats a great read. I explored similar things with my rooted phone. Samsung galaxy m30s. Wrote something on it as well on what I did, may be you will also like this type of experimentation?
https://nimitbhardwaj.github.io/posts/hermes-agent-rooted-an...
I too have a bunch of cheap android phones of diverse vintage lying around.
Some are bought with US carrier locks - never activated or unlocked. Any chance they can be unlocked with today's tools and not dumped into ewaste.
There are a few simple projects for home automation i have in mind but the rooting felt like a daunting task.
For home automation, just build an app that does what your need. No big reason to root it.
>Why get an expensive Pi when I have an old phone?
>I’ve unlocked and rooted the Redmi
Herein lies the issue. I don't know fuck all about phones. I don't want to. They are engineered to keep me out, and that is a pain in the ass I don't want to deal with when doing hardware work. I want to own something that works the second I get it and doesn't fight me the entire way. Sure, I could let an LLM guide me through it or even do it for me, but why bother when the whole point of the hardware is for me to fuck off and use it as a subscriber to the OEM and carrier? This is tedium, removed by further spending. Not to mention documentation - what bullshit is the OEM hiding in their board or firmware thats going to ruin my day? I'm sure that some of these devices are great for reuse as a self contained server with media and modem, but is my old phone going to do this?
I'm not gonna spend $50 on ewaste to try to do something unless I want to use that ewaste (old keyboards, old toys? :3). Old phones are a non-sequitur because, again, they're engineered to keep me out.
>>Herein lies the issue. I don't know fuck all about phones. I don't want to. They are engineered to keep me out, and that is a pain in the ass I don't want to deal with when doing hardware work.
I mean, you do know we're on a forum called hacker news, right?
In most cases it's not some magic voodoo process that you need an LLM for, it's the first result on Google and one command to run or in some cases you just hold two buttons together when booting up and click the unlock button.
Like, I completely understand your perspective and desire to have things which "just work"(I'm in the same boat a lot of the time lately) but like, let's be realistic - rooting an old phone and running some software on it is really not a big deal, I'd hope especially for people on here.
Locked bootloaders mostly
What about GPIO support and Raspberry Pi OS updates?
I also keep using old android phone but the battery dies every few months if you keep plug-in power cable.
Why get an expensive Pi when you can get a cheap 1L PC / tini-mini-micro or SFF pc? Especially if you don't need GPIO pins?
My blog article about this: https://louwrentius.com/the-raspberry-pi-5-is-no-match-for-a...
For me if I don't have a need for the GPIO pins, it's "why get an expensive pi when I can get a used ex-corporate small form factor quad core, intel core i7-something desktop PC with 16GB of RAM and a real SSD"... For like 150 bucks on eBay. RAM apocalypse and price of equipment has affected this a lot (these used to be like 90 bucks depending on era of core i7), but they're vastly more useful when a general purpose x86-64 linux is installed on them. Or even just put proxmox on it and then various things inside that.
I've always found it a bit absurd that an old phone can have more sensors and connectivity than a fairly expensive hobbyist computer, yet we rarely consider using it as one
As long as it's not an iPhone. Once Apple has bricked your old iPhone, you can't even run your own software on it anymore. Despite all their lip service to being environmentally friendly, that thing is nothing but an expensive paperweight and e-waste now.
A Pi is the Apple of small compute. It's the in thing, flashy, with loads of just as capable competitors.
No one cares if you have overpriced white earbuds or not for Pi tasks.
Everything including compete is priced sky high these days.
And some higher than that, like the Pi, which has been overpriced for years.
Is there a peripheral you can plug into the USB port that exposes gpio pins?
Yes, USB to GPIO adapters are available. Note that you won't be able to implement anything that has timing requirements - you'll need a microcontroller for that.
I think in practice the timing jitter and the low cost difference to something like an Arduino Nano or Pi Pico means people use one of those even if they could technically use a GPIO adapter.
Any dev board like Arduino can work. E.g. by flashing firmware that controls GPIO via Serial.
Look at the FT232H. Does SPI, I²C, UART, JTAG, and GPIO. It’s just a chip but there are hobbyist breakout boards for it.