Board top

Run your Raspberry Pi on battery and take it anywhere!

The PiVoyager is UPS for the Raspberry Pi designed to work with standard Li-Ion or LiPo batteries, featuring a programmable watchdog, automatic restart, and a real-time calendar. The PiVoyager is designed as a Pi Zero pHAT, but works on any Raspberry-Pi with a 40 pin header, including the Raspberry Pi 3B+ and 4.

Featured in:

CNX Software - Embedded System News
If powering your Raspberry Pi based project has always being a concern to you, then you don’t have to worry about it again with the introduction of the PiVoyager.

Hackster.io
The board offers UPS status monitoring, giving users a wealth of data, including what kind of power is being supplied (USB or battery), current voltage, and current date/time (among a host of others).

Tindie - blog
The PiVoyager is the latest in UPS technology that works with standard Li-Ion or LiPo batteries.

Description

Board top

The PiVoyager is a UPS for the Raspberry Pi. If plugged to a USB power source (USB micro-B) and a Li-Ion/LiPo battery, it will both power your Raspberry Pi and charge the battery if needed, with a selectable charge current of 1000mA (default) or 500mA. If USB power is removed, the PiMaster automatically switches to the battery and continues to power the Raspberry Pi at 5V, thanks to its boost converter.

The PiVoyager has a small button. Pressing this button for more than 3 seconds will shut down the Raspberry Pi. Once shut down, the Raspberry Pi can be restarted by pressing the same button. It is possible to add a JST PH header on the PiVoyager to connect your own tact switch as an alternative to the one provided on the pHAT.

The PiVoyager has four indicator LEDs, 3 at the bottom left and 1 at the top left:

  • PG: green, indicates USB power
  • CH: yellow, indicates charging status
  • ST: red, indicates overall status
  • 5V: blue, indicates that the Raspberry Pi is currently powered

The PiVoyager does not include battery protection circuity and should be connected to Li-Ion or LiPo batteries with their own protection circuit, using the two-pin JST PH header. You can find these batteries from your favorite vendor, including Adafruit, Pimoroni, or Sparkfun. If you can't find a battery with the JST PH header, an alternative 2.54mm 2-pin header is also provided for battery connection.

The PiVoyager is targetted at batteries with a nominal voltage of 3.7V, a charging voltage of 4.2V and supporting a charge current of 1000mA. The charge current can be reduced to 500mA by changing a trace jumper on the bottom layer of the board. The battery is considered as LOW if the voltage falls below 3.1V and will remain in LOW state until the voltage rises above 3.3V. At startup, the PiVoyager will refuse to power the Raspberry Pi when in LOW state and will wait for the battery to charge sufficiently first.

The PiVoyager features a Real-Time Calendar (RTC), which can be configured to store the current date and time. The content of the RTC will be maintained for as long as there is a power source connected, even if the Raspberry Pi is powered down.

The back of the PiVoyager

The back of the PiVoyager

Smart UPS features

In addition to the basic UPS functionality, the PiVoyager hosts a microcontroller that communicates with the Raspberry Pi and provides the user with additional functionalities, inspired by our PiWatcher.

a) UPS status monitoring

The user can obtain the following information at any time:

  • Whether a battery is present or not, and whether it is charging or not
  • Whether the USB is providing power or whether the device is running on battery
  • The current battery voltage
  • Whether the user has pressed the button
  • The current date and time stored in the RTC

b) Programmable I2C watchdog

Define a watchdog delay D in seconds. The PiVoyager will then start an internal timer that gets incremented every second. If the PiVoyager receives any I2C command, it resets the timer to 0. However, if the timer ever reaches D the PiVoyager will be fully shut down.

As such, this provides a good way to cleanly shut down a raspberry pi, by applying the following procedure:

  • Set a watchdog to 20 seconds (e.g. using the command pivoyager watchdog 20).
  • Issue a sudo halt command.

This will assure that the Raspberry Pi is fully shut down in 20 seconds, consuming no current at all. The user can program the PiVoyager to restart the Raspberry-Pi after a specific event (see further down below).

c) Programmable GPIO watchdog

The watchdog works like the I2C one, except that a shutdown will be initiated if the GPIO26 pin of the Raspberry Pi is low for more than D seconds.

d) RTC: Real-time calendar

The PiVoyager offers a real-time calendar, providing time and date. The calendar remains active even when the Raspberry Pi is shut down, as long as there is battery power or USB power.

e) Programmable wake-up Alarm

The PiVoyager has a programmable alarm which can be used to wake up the Raspberry Pi at a specific date or time.

f) Programmable wake-up delay

The Pivoyager can be programmable to automatically wake up the Raspberry Pi after a certain delay, once it has shut down (e.g. after 10 seconds).

Note that this functionality cannot be used simultaneously with the alarm.

g) Restart options

After shutdown, the PiVoyager can be configured to restart after any of these events:

  • A button press (default)
  • Power reconnected on USB
  • An alarm or wake-up delay

h) Automatic shutdown on low battery

By default, the PiVoyager will automatically shut down after 60 seconds if these two conditions are verified:

  • it is battery powered and
  • the battery voltage goes below 3.1V approx.

This feature can either be disabled or the delay can be changed.

i) I2C bootloader

The PiVoyager includes an I2C bootloader that enables you to upload new firmware to the device. Since everything is released as open-source, you can even write your own firmware if you wish!

Hardware

The PiVoyager is open source hardware.

The PiVoyager measure 65mm x 30mm and features:

  • A Microchip MCP73871 LiPo/Li-Ion charger
  • A Texas Instrument TPS61232 x high-efficiency boost converter providing up to 2.1A
  • An ST STM32F030 Arm Cortex M0 microcontroller.

In standby mode, when the RaspberryPi is unpowered, the PiVoyager consumes approximately 30 μA.

The PiVoyager will be sold with a choice of a short lead 40-pin header or a stackable long lead 40-pin header.

The following Raspberry Pi GPIO pins are used by this board:

  • I2C pins 2 and 3.
  • Optionally, pin 26 for the GPIO watchdog.

The PiVoyager comes without a battery.

Resources

Buy a PiVoyager from our online store or from Tindie!

If you just bought a PiVoyager follow the link below to get started.

Go to installation and tutorial

Design files:

Tell us what you think of the PiVoyager on the forum or on Twitter.