This is an old revision of the document!
Cerebrational Explorations
Cabin battery-powered pi5b for local shell and profit
Project
Finding myself predominantly using my iPad for typing, and cats regularly using my keyboard tray for a bed, ready access to a local Linux box requires work and often has complications. But it doesn’t have to be this way- I have a solar battery bank, which during the summer, typically ends each day at over 90% charge.
Currently I power both my DC refrigerators, and charge my nighttime battery bank, and power my cell/wifi router off the bank, but there’s a whole lot more capacity that can be used. So: why not rig up a pi5b, with all the trimmings, to serve as a 24/7 cabin server? THAT is the point of this endeavour.
The way I see it, there are two approaches that I could take:
My solar battery system is 24v (25.6v), and the pi5b optimally likes 5.1v, although it has a small range of operational tolerance.
This would essentially be the most portable solution: during the summer months, power it off the battery. During the winter months? Just plug it into wall power. It would require no further modifications.
A particular wrinkle that crops up with the pi5 is its unique power input requirements and sensing apparatus. It uses USB-PD to negotiate, and it turns out the MOST USB-C PD supplies will readily support 5V 3A (15W), but good luck with anything else, let alone the pi 5’s weird 5.1V 5A (27W).
This means, short of using the official pi 5 power supply, one might have to be suspicious about the pi receiving all the power it is due. Some testing is likely in order.
When not using an official adaptor, to bypass it falling back to 5V 3A, and only supplying 600mA to the USB ports, there exist two options that can be applied, one in firmware, one in config.txt:
One of the default actions the pi5 will take in environments where an insufficient power source has been negotiated is to cap the USB ports at 600mA, versus 1.6A. To override this, add the following under the [all] stanza of the /boot/firmware/config.txt file (root to edit):
usb_max_current_enable=1
From the pi documentation:
If set, this property instructions the firmware to skip USB power-delivery negotiation and assume that it is connected to a power supply with the given current rating. Typically, this would either be set to 3000 or 5000 i.e. low or high-current capable power supply.
As root, edit your firmware configuration:
pi5b:~# rpi-eeprom-config -e
And add the following:
PSU_MAX_CURRENT=5000