The PiWatcher TB 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 TB is a programmable watchdog circuit for the Raspberry Pi.
The PiWatcher TB is a variation of the classic PiWatcher (available here) where the USB connector has been replaced with a high-quality 2.54mm pitch screw terminal block.
In addition, PiWatcher TB can be connected to an external switch. While some users will likely prefer the standard PiWatcher with a USB connector, this alternative was created at the request of some customers in more industrial applications.
The board must be fitted on the first 6 pins of the Raspberry GPIO header and wired to a 5V 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. The board can also connect an external switch through the terminal block.
It has been tested to work with:
- Pi Zero and Pi Zero W/WH
- Raspberry Pi 2 B
- Raspberry Pi 3 B
- Raspberry Pi model B (with some extra I2C configuration)
- Raspberry Pi 4
Warning: The PiWatcher may not operate correctly if the Raspberry Pi is connected to some power-hungry peripherals such as an SSD hard drive, or with peripherals that have a separate power supply.
A solution for Raspberry Pi power management
The PiWatcher TB 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 shutdown or 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 TB 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 TB 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 TB 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.
The user can connect an external switch as an alternative to the micro tact-switch provided on the board. This is useful when putting the Raspberry-Pi in an enclosure, where the on-board switch becomes hard to access. The external switch must be connected to the BUTTON_ALT and GND pins shown in the picture below. Closing the switch shorts these two pins together.
How to use the PiWatcher
The PiWatcher TB must be provided with a 5V power source connected with two wires plugged in the terminal block following the indications in the picture above.
The PiWatcher TB is fully controlled with a command line utility called piwatcher. It is very simple to use.
For more details, including software download instructions, see our documentation here.
- 1x PiWatcher TB
- 1x unsoldered 2x3 female pin header
- 1x unsoldered 3-pin 2.54mm terminal block
The board does not come with standoffs. We have an 11mm kit here.