What is it?
Pi-Zero-UpTime is a UPS for a Pi (or a Pi clone) with a 40 pin header. It provides power to the Pi (via the 40 pin header) and charges the battery when Power is available. When there is no power, it behaves like a UPS and provides power to the Pi from the battery. There is no reboot during the switch over from power-no power-power. The transition is seamless. It behaves like a true UPS i.e. the battery is charged when there is power and provides power to the Pi from the battery when power fails. Hardware on board monitors battery level. When battery level is low, GPIO 26 tells the software by changing state on the GPIO. Use sample code to monitor GPIO and shutdown then Pi when battery is low.
A power reset switch resets the Power. The Pi can be rebooted (reset) by pressing this switch momentarily. No need to unplug power and unplug the battery to reset or reboot after a soft shut down.
Pi-Zero-UpTime includes a micro-USB to micro-USB cable. If you do not have the headers soldered on a Pi-Zero, you can use this cable to power the Pi-Zero. Use the USB Power-Out port to Power port on Pi Zero (or for other things that need UPS power). See pictures.
Make sure the Power is connected to Pi-Zero-UpTime UPS (this board) and not the Pi. If power is connected to the Pi, the batteries will not charge when power is available.
NOTE - Battery is not included. Pi-Zero-UpTime UPS uses one 14500 size Lithium Ion battery. Please purchase the battery separately. This battery is an AA size battery. Please make sure you insert the battery with the proper polarity as marked. If you insert the batteries incorrectly it will damage the electronics. Do not use rechargeable NiMH AA batteries.
Max current supported 1.2 Amps.
Why did you make it?
Wanted the Pi to run when power failed and when there were power glitches / brown-outs. Also wanted to move the Pi from home-work-home without going through a shutdown-reboot sequence.
What makes it special?
1) UPS for a Raspberry Pi. Works with any Pi with a 40 pin header.
2) Small size - approximately a Pi Zero size.
3) Includes Battery Management System (BMS) - charges battery when power is available. Provides power from the battery when power fails. BMS also ensures battery remains charged.
4) Senses battery level in hardware. Software via GPIO 26 can shut-down Pi when battery level is low. Sample Python code to do that can be downloaded.
5) Includes a Power Reset switch - reboot the Pi by resetting the power. No need to unplug anything.
6) Includes a 40 pin M-F header. Stack other boards on it as needed.
7) Prioritizes power to the Pi. If Pi demands more power, it is provided from the battery-backup. Eliminates brown-outs.
8) Fits neatly on top of a Pi-Zero. Mounting holes match a Pi-Zero.
9) Works with other Pi-models as well.
How long does the battery last?
The simple answer is
it depends. It depends on the battery capacity, the load, how truthful the battery manufacturer is, etc. Best to run your own tests. The sample code provided outputs the time stamp every 10 seconds - so you can use this to clock your run time. On the tests I did with 2 different batteries, rated for 1200 mAh, running on a Pi-Zero-W with WiFi, Blue Tooth, keyboard, mouse and monitor on, I got between 50 minutes to 1 hour 5 minutes of run time!!
How do I make it run for a longer time?
I recommend you look at Pi-UpTimeUPS product. It uses two 18650 batteries to make the UPS last longer.
If you want to use an external battery or battery pack, please look at Pi-BB-RPS product. It is a RPS (Redundant Power Supply) for a Pi. One Power source can be a power supply from 7V to 24 V (e.g. as solar panel). The second power source can be a USB 5V power. Depending on the battery, power sources etc. you can use Pi-BB-RPS board with the Pi-UpTime or Pi-Zero-UpTime boards. Use the Bread board capability on Pi-BB-RPS to add a Real Time Clock, GPS or other breakout boards on it for off-grid use.