Smart powering the Raspberry Pi using batteries

I’m looking for options how to power the Raspberry Pi using batteries for my Babble Pi project. Actually, it seems that it’s not as simple as I thought to find something and many solutions are also pretty extensive for their feature sets. I’m looking for a couple of features:

  • power the Pi from battery
  • charge the battery
  • shutdown when the battery is low
  • in order to do this, monitor the battery and ideally access the data using Python
  • ideally power up the Pi using the solution (it’s a pain in the butt that you can power down the Pi but now up)
  • possibly power it up using a RTC (real time clock)

I’m not really happy with all the external batteries for smartphones. They certainly can be charged and also deliver constant voltage for the Pi, but they are usually in some enclosures and they don’t communicate.

I haven’t found any extensive list of solutions out there so I researched one myself, additions VERY welcome!

https://pi.gate.ac.uk/pages/mopi.html
DC/DC converter (TPS5430 or TPS5430) with the ability monitor the voltage level via I2C and a python lib. It also has a shut-down button and can power up the Pi with the same button. You can add two batteries for hot swap or even a battery and a solar cell. It won’t charge the batteries, though. Price 35.50€

http://www.piups.net/
Can control and monitor voltage. Seems more like a UPS, not so much the concept of powering the Pi via battery (i.e. battery kicks in whenever the primary power source fails), but I’m not sure as they are not talking about the primary source. Furthermore, it can also charge batteries, but it can’t power up the Pi. It uses I2C for communication like the MoPi. Price: 29.99€

https://www.adafruit.com/products/1944
adafruit power converter is boosting your 3.7V lipo to 5.2V using a TPS61090 boost converter from TI. It also can charge your lipo which is very nice, however no level monitor and no power options for switching on/off your Pi. Price for 500mA: 13.37 Euro

https://www.adafruit.com/products/2465
PowerBoost 1000C can charge your battery while powering your Pi, pretty cool. The 500C can’t charge while powering, as far as I understand. Price for 1000mA: 17.84 Euro

https://www.piborg.org/battborg
DC/DC converter based on OKI78SR that turns many power sources to 5V. It’s not charging the battery and can’t monitor the voltage level. Also, it can’t shutdown the Pi. Pretty expensive for the features, esp when you consider the next solution. Price: 20.65€

http://hobbyking.com/hobbyking/store/__54275__HobbyKing_8482_Micro_UBEC_3A_5v.html
A battery is loosing voltage when powering a computer. However, the Pi has a quite limited range of voltage (4.75V and 5.25V) where it runs stable compared to Arduinos (7-12V). A simple UBEC (Universal Battery Elimination Circuit) I also use for my Arduino projects to power my servos with constant voltage. Simply constant voltage, nothing else. Price: 3.28€

https://www.adafruit.com/products/904
Using the INA219 current monitor, you can monitor your voltage via I2C on the Pi. No charging, no power supply, but possibly in combination with the UBEC from hobby king above at least the Pi can know when the battery’s gonna be empty and power down gracefully. Or I could imagine that you hook it up the PowerBoost charger to have charging, powering and monitoring. Finally, we’d need powering up again. Price: 8.90 Euro

https://www.kickstarter.com/projects/shahiddarbar/raspberry-pi-case-with-real-time-clock-battery-and
This is an unsuccessful Kickstarter campain that wanted to combine UPS, a real time clock and monitoring. I’m not sure it would also allow for charging the battery.

 

In sum, I think, there is still not the perfect solution out there, I like the simple UBEC in conjunction with other parts so I can build the perfect system myself, possibly also the PiUPS (which doesn’t really seem to be a UPS but really an intelligent battery solution).

Any systems I forgot? Any other features you’re dreaming of?

Leave a Reply

Your email address will not be published. Required fields are marked *


3 − three =