PiJuice (from £48 at PiSupply) is a smart mobile power solution for the Raspberry Pi. In our PiJuice review we look at using the PiJuice as a portable power supply for Raspberry Pi projects.
You may recall the PiJuice Kickstarter campaign if you have a good memory – it was back in March 2015 and proved extremely popular, achieving a funding level of over 1200%. So, why the long delay to get it into production? Well, it seems it was due to a combination of technical, manufacturing, and business issues, but here it is at last, so let’s find out if it has been worth the wait.
The PiJuice comes preloaded with a Motorola BP7X 1820mAh phone battery, which can easily be lifted out and replaced with an alternative if needed. The board has a pre-soldered header so it fits snugly onto the Raspberry Pi’s GPIO pins, but extends them to its own full set of GPIO pins above, so you can still plug in another HAT or add-on – the PiJuice only uses I2C pins. Four stand-offs keep it sturdy atop the Pi. It’s a much neater solution than most portable power methods – no messy wiring here.
Not only is it neater, but it’s far smarter, thanks to its STM32-F0 microcontroller chip, real-time clock, and Pi software. It can therefore offer a range of advanced power management features – akin to those of the Witty Pi 2 – that make it more useful than simply plugging your Pi into a USB power bank. It can also be used to provide an uninterruptable power supply.
After downloading the software (with sudo apt-get pijuice), a battery status icon then appears in the task bar of the Raspbian desktop; hover over it to see the current charge percentage, or right-click to access a plethora of configuration settings.
One thing we soon noticed was a disparity in the displayed battery level when charging – via the GPIO pins of the mains-connected Pi or the PiJuice’s own micro USB socket. As soon as we unplugged the power, the status level dropped rapidly by around 20%. According to PiSupply, this is a known quirk of the protection circuitry in Li‑ion batteries and the specific ‘fuel gauge’ IC used by the PiJuice, and the actual battery discharge rate is fairly linear. So, a bit confusing but nothing to worry about. In addition, an RGB status LED gives a rough guide to the battery level, flashing blue during charging.
So, how long does the battery last? We performed a simple uptime test with a Python script that periodically logged how long the Pi had been running. On an idling Pi 3, it averaged around 4 hours. A little shorter than we’d hoped for, but on a Pi Zero or A+ you should be able to achieve near double that. To extend battery life, you could also make use of the wake-up alarm feature in the GUI config options, to turn a shutdown Pi back on at a specific time or even charge level.
Another interesting option is the watchdog timer that monitors a software ‘heartbeat’ and, if it’s not heard for a certain period, automatically resets the Pi – ideal for when you can’t physically reach it to do a hard reset following a crash. There’s also an array of system event scenarios for which you can trigger events, including custom functions – just add the path to your own script under User Scripts.
Further options include changing the battery profile (to one of several presets or a custom configuration), updating the firmware, and choosing the functions of the board’s two LEDs. Lastly, you can set the functions for the three tiny push buttons on the side of the PiJuice – individually for press/release, single press, double press, and two long-presses (with customisable time parameters). By default, the SW1 button can be long-pressed for 10 seconds to safely shut down the Pi, and then pressed to restart it – another greatly appreciated feature.
As well as an all-in-one portable power solution that’s far neater than the alternatives, the PiJuice offers advanced power management features with an impressive number of settings and custom options for maximum versatility. Three user-definable push buttons and a built-in real-time clock are a major bonus.