The PiWatcher is a very small board that helps you fully shut down or reboot a Raspberry Pi, in case of an incident or simply for power saving purposes. You can even program your PiWatcher to shut down and automatically reboot your Pi a few minutes or hours later.
In essence, the PiWatcher is a programmable watchdog circuit for the Raspberry Pi.
The board must be fitted on the first 6 pins of the Raspberry GPIO header and plugged into a micro USB power supply suitable for the Raspberry Pi in use. Based on instructions it receives through I2C, the PiWatcher can then be instructed to:
- power off (or reboot) the Raspberry Pi if it becomes irresponsive for more than 'X' seconds.
- power off and reboot the Raspberry Pi after several seconds, minutes or hours for recurring tasks for example.
The board also features a miniature tact switch to allow manual control.
It has been tested to work with:
- the humble Pi Zero and Pi Zero W,
- the Raspberry Pi 2 B
- the Raspberry Pi 3 B
- the Raspberry Pi model B, with some extra I2C configuration.
The PiWatcher will not operate correctly on the Raspberry Pi 4. The PiWatcher may not operate correctly if the Raspberry Pi is connected to some power-hungry peripherals such as an SSD hard drive.
A solution for Raspberry Pi power management
The PiWatcher is designed to solve 2 problems with power management on the Raspberry Pi.
First, if you shut down a Raspberry Pi through software, for example by issuing a
halt command, your Raspberry Pi will cease to operate, but it does not completely shut down. Instead, it enters a quiescent state where it continues to eat 30 to 50mA, sometimes more depending on connected peripherals. This is wasteful and can become an issue in battery powered systems.
The PiWatcher can be programmed to fully cut power to the Raspberry Pi after a certain delay of inactivity. For example, you can tell the PiWatcher to cut power 10 seconds after a
shutdown command has been issued, giving the Raspberry Pi enough time to cleanly power off.
The second issue with power management has to do with the ability to recover from situations where a Raspberry Pi becomes stuck in an unrecoverable state. While in theory, this should not happen, a long-running Raspberry Pi can get 'stuck' or 'freeze', due to software or hardware failures or even environmental factors such as heat. In some cases the least unsatisfactory approach to deal with this issue is to simply switch off and on again the Raspberry Pi, enabling the application to continue and/or send out an alert.
The PiWatcher can be programmed to automatically power cycle a Raspberry Pi if it does not receive a 'heartbeat' from the device after a user selectable delay. This can allow some critical applications to continue to operate without human intervention.
Furthermore, the PiWatcher can be programmed to wait for a certain delay, ranging from a few seconds to about 36 hours, before rebooting your Raspberry Pi after a shutdown. The PiWatcher has an LED. When the Raspberry Pi is powered on, the LED is continuously on. When the Raspberry Pi is powered off, the LED blinks slowly.
The PiWatcher also has a useful micro tact-switch:
- When your Raspberry Pi is running:
- a long press (5 seconds) on the button will fully power off the Raspberry Pi.
- a short press (half a second) on the button will send a software signal that can be exploited for user-defined purposes.
- When your Raspberry Pi is shut down, a short press on the button will restart the Raspberry Pi.
How to use the PiWatcher
The PiWatcher is fully controlled with a command-line utility called
piwatcher, which is very simple to use.
For more details, including software download instructions, see our documentation here.
The board comes with an unsoldered 2x3 female pin header. You will need to provide your own Raspberry Pi.
This product is open-source/open-hardware.