Pi-Top battery replacement and upgrades
Posted: Sun Oct 20, 2024 7:28 am
A what now? It's a Raspberry Pi laptop. A what? A Raspberry Pi is (was?) a low cost single board ARM computer. Originally this was a single core sub-1GHz CPU with only a little bit of RAM. Starting with the 3rd generation hardware, these have been updated to quad-core CPUs and since the 4th generation you've been able to get units with up to 8GB of RAM, putting these things into the relm of usable general purpose computers.
For several years I've been toying with the notion of building a Raspberry Pi laptop in the guts of one of my decommissioned laptops. I had a Lenovo W510 lined up for this, but wasn't able to find a reasonable solution for the keyboard/trackpad. The unit on the Lenovo is a ribbon cable connection, which is fine, but wasn't USB, which was less fine. There were a few custom PCB solutions for a controller that translated to USB, but it was quickly becoming convoluted.
Fast forward to a few weeks ago and I found an "as-is" Pi-Top on eBay in unknown condition for $50. These devices came out back ~2014 with the 3rd generation PCB. So green. It was supposed to come with a cover that slides in to cover up the Pi and the "hub". The latter acts as the battery controller and HDMI interface to the built-in screen. It didn't come with a power supply, but I found 12V power supply laying around that was enough to get it powered on. Further investigation revealed the SD card was corrupt, fortunately I have plenty of those laying around too.
The original vendor of this is still around and still maintains 'Pi-Top OS' for this and subsequent generations of this hardware. It's a custom version of the Raspbian distro for Raspberry Pis, which in turn is based on Debian Linux. The main attraction of this OS is that it has their hub driver built in, which allows the Pi to get battery charge info via the GPIO connection. The bad news for this hardware is the battery showed 0% and wouldn't take a charge.
So I went shopping. A "correct" 18V 2.5A power supply was $15 and a st of heat sinks was $4.50. The Pi3B that came in this unit didn't "require" a heat sink, but while using it the temps would frequently spike to < 80C and it would thermal throttle. The simple aluminium heat sinks shown above for the SoC and Ethernet controller lowered the idle temps by 15C and the full load temps by 20C. Score. So obviously, it's time to overclock. Bumping the 1.2GHz CPU up to 1.4GHz did make a difference, but this particular Pi3 is really held back by the 1GB of RAM.
Now for the battery. Disassembly is easy, the whole thing is 3 pieces. The keyboard pops off by just pulling on it. The base and screen are held together with screws at the hinges. I didn't need to take the screen off to access the battery. Once off, there's a connector to the hub (power button) and USB to the Pi. After that you can take the hub of the mounting rails. The little ball-top screws play two roles - that's what the keyboard snaps into as well as serving as the hold-down for the battery cover. I had already taken several of them out before taking the above photo. Then the cover comes right off. After pulling the foam tape off, you can see the 4 cell "battery" and read the part number on the cells. You can buy compatible cells from eBay for ~$10/ea, so I did. New cells are rated for +100 mAh and have wire leads instead of tabs. Tabs are tack-welded to the PCB. These come right off with some small snips. I then cut the wire leads from the new cells to length and soldered them to the PCB (not shown). New "battery" assembled! You can see the new cells have some electronics on them. Charge controller? Installation is reverse of removal. Fixed! With the Pi3, this thing should get a solid 10 hours of battery life. What's next? The 1GB RAM is fairly limiting. Conveniently, I have a Pi4 with 8GB of RAM. Also conveniently the max output current of the hub meets the increased power requirements of the Pi4, so now I have that. The only change needed was to add a micro USB to USB-C adapter as the Pi4 moved to USB C for power input. This did impact the battery life, though. I'm down to ~6 hours, but that's fine as the Pi4 performs really well, even without overclocking. Maybe I'll try that next. Should be able to go from 1.5GHz to 1.8GHz without any issues. The Pi4 is the end of the line for this chassis, though, as the hub can't meet the Pi5 power requirements as it's significantly more powerful than the Pi4 (new generation of ARM running at 2.4GHz).
For several years I've been toying with the notion of building a Raspberry Pi laptop in the guts of one of my decommissioned laptops. I had a Lenovo W510 lined up for this, but wasn't able to find a reasonable solution for the keyboard/trackpad. The unit on the Lenovo is a ribbon cable connection, which is fine, but wasn't USB, which was less fine. There were a few custom PCB solutions for a controller that translated to USB, but it was quickly becoming convoluted.
Fast forward to a few weeks ago and I found an "as-is" Pi-Top on eBay in unknown condition for $50. These devices came out back ~2014 with the 3rd generation PCB. So green. It was supposed to come with a cover that slides in to cover up the Pi and the "hub". The latter acts as the battery controller and HDMI interface to the built-in screen. It didn't come with a power supply, but I found 12V power supply laying around that was enough to get it powered on. Further investigation revealed the SD card was corrupt, fortunately I have plenty of those laying around too.
The original vendor of this is still around and still maintains 'Pi-Top OS' for this and subsequent generations of this hardware. It's a custom version of the Raspbian distro for Raspberry Pis, which in turn is based on Debian Linux. The main attraction of this OS is that it has their hub driver built in, which allows the Pi to get battery charge info via the GPIO connection. The bad news for this hardware is the battery showed 0% and wouldn't take a charge.
So I went shopping. A "correct" 18V 2.5A power supply was $15 and a st of heat sinks was $4.50. The Pi3B that came in this unit didn't "require" a heat sink, but while using it the temps would frequently spike to < 80C and it would thermal throttle. The simple aluminium heat sinks shown above for the SoC and Ethernet controller lowered the idle temps by 15C and the full load temps by 20C. Score. So obviously, it's time to overclock. Bumping the 1.2GHz CPU up to 1.4GHz did make a difference, but this particular Pi3 is really held back by the 1GB of RAM.
Now for the battery. Disassembly is easy, the whole thing is 3 pieces. The keyboard pops off by just pulling on it. The base and screen are held together with screws at the hinges. I didn't need to take the screen off to access the battery. Once off, there's a connector to the hub (power button) and USB to the Pi. After that you can take the hub of the mounting rails. The little ball-top screws play two roles - that's what the keyboard snaps into as well as serving as the hold-down for the battery cover. I had already taken several of them out before taking the above photo. Then the cover comes right off. After pulling the foam tape off, you can see the 4 cell "battery" and read the part number on the cells. You can buy compatible cells from eBay for ~$10/ea, so I did. New cells are rated for +100 mAh and have wire leads instead of tabs. Tabs are tack-welded to the PCB. These come right off with some small snips. I then cut the wire leads from the new cells to length and soldered them to the PCB (not shown). New "battery" assembled! You can see the new cells have some electronics on them. Charge controller? Installation is reverse of removal. Fixed! With the Pi3, this thing should get a solid 10 hours of battery life. What's next? The 1GB RAM is fairly limiting. Conveniently, I have a Pi4 with 8GB of RAM. Also conveniently the max output current of the hub meets the increased power requirements of the Pi4, so now I have that. The only change needed was to add a micro USB to USB-C adapter as the Pi4 moved to USB C for power input. This did impact the battery life, though. I'm down to ~6 hours, but that's fine as the Pi4 performs really well, even without overclocking. Maybe I'll try that next. Should be able to go from 1.5GHz to 1.8GHz without any issues. The Pi4 is the end of the line for this chassis, though, as the hub can't meet the Pi5 power requirements as it's significantly more powerful than the Pi4 (new generation of ARM running at 2.4GHz).