Description
Witty Pi is an add-on board for Raspberry Pi that brings real-time clock (RTC) and power management functionalities to your Raspberry Pi. It can define the on/off sequence of your Raspberry Pi, perform power on/off actions based on temperature or voltage thresholds, and significantly reduce overall energy consumption.
Witty Pi 5 HAT+ is the fifth generation in the Witty Pi product line, and it is also the first Witty Pi board that complies with the Raspberry Pi HAT+ specification.
As a Mode 1 Power HAT+ board, Witty Pi 5 can deliver up to 5A current to Raspberry Pi and its peripherals.
Witty Pi 5 supports all Raspberry Pi models with a 40-pin GPIO header, including A+, B+, 2B, Zero, Zero W, Zero 2 W, 3B, 3B+, 3A+, 4B, and 5B. For models like Zero, Zero W, and Zero 2 W, you will need to solder a 40-pin header onto the board beforehand to ensure a reliable connection with Witty Pi.
Witty Pi 5 includes the following hardware features:
- A high-precision real-time clock, with an accuracy of ±3.8 to 5 ppm.
- A dedicated temperature sensor with 0.0625°C resolution.
- An onboard DC/DC converter that accepts up to 30V DC input.
- Two “ideal” diodes that isolate VIN and VUSB
- An RP2350 microcontroller (MCU) with an external 16MB flash memory.
- An ID EEPROM compatible with HAT+ specification.
Witty Pi 5 is also more developer-friendly for firmware and software customization. Both its firmware (written in C using the pico-sdk) and its software (written in C) are fully open-source, allowing users to modify and adapt them as needed.
Just like other RP2350-based boards, firmware updates are very easy: by holding the BOOTSEL button while connecting the USB cable, the RP2350 enters USB boot mode and presents itself as a virtual USB drive. You can then drag-and-drop the compiled .uf2 firmware file to flash it.
Witty Pi 5 also emulates both a USB flash drive and a USB serial device. This allows users to edit configuration files, view logs stored on the board, and monitor real-time logs via the serial interface—all of which lower the barrier for development and debugging.
Time Controlled Device
The high-precision RTC (real-time clock) on Witty Pi 5 has built-in temperature compensation and provides accurate timekeeping even without a network connection.
With Witty Pi 5, you can define the power-on and power-off times for your Raspberry Pi, or even create a complex schedule using scripting to fit your specific needs.
By powering down the Raspberry Pi when it’s not needed and powering it up only at the right time, you can significantly reduce overall power consumption. This feature is especially valuable for battery-powered devices.
Temperature Controlled Device
The temperature sensor on Witty Pi 5 offers a resolution of 0.0625°C and supports both high and low temperature threshold interrupts.
You can configure Witty Pi 5 to power on or off the Raspberry Pi based on temperature thresholds, effectively turning your Raspberry Pi into a temperature-controlled device.
Voltage Controlled Device
When powered via the VIN terminal block, Witty Pi 5 can monitor the input voltage and make power-on/off decisions accordingly.
This feature is commonly used in battery-powered applications, where the Raspberry Pi can be shut down when the battery voltage drops too low and powered up again once the voltage recovers to a safe level.
Uninterruptible Power Supply (UPS)
Witty Pi 5 has two independent power input channels: VUSB and VIN. These channels can operate simultaneously and back each other up. If one power source fails, the other can continue to power the system. Witty Pi 5 also provides software-level access to the current power source status, allowing your software to decide whether to continue running or shut down the Raspberry Pi safely.
Single I2C Slave Device
The micro controller (RP2350) on Witty Pi 5 works as an I2C slave (with configurable address) and Raspberry Pi can read/write its registers via I2C interface. Witty Pi 5’s software configures Witty Pi 5 by setting the I2C registers accordingly.
The micro controller also implements an I2C master to access the realtime clock and temperature sensor via an internal I2C bus. The I2C registers in realtime clock and temperature sensor are all mapped as virtual I2C registers in Witty Pi 5’s I2C slave device, so Raspberry Pi can also access them.
The realtime clock’s registers are mapped to virtual registers #80~#95.
The temperature sensor‘s registers are mapped to virtual registers #96~#103.
Software Installation:
You just need to run these two commands in your Raspberry Pi to install Witty Pi 4’s software:
pi@raspberrypi:~ $ wget https://www.uugear.com/repo/WittyPi5/wp5_latest.deb pi@raspberrypi:~ $ sudo apt install ./wp5_latest.deb
The software and firmware of Witty Pi 5 are open-sourced. You can find the source code on GitHub.
Package Content:
Each Witty Pi 5 package contains:
- Witty Pi 5 board x 1
- M2.5 x 11mm Copper Standoff x 4
- M2.5 screws x 8
Specification:
Dimension | 65mm x 56mm x 19mm |
Weight | 28g (net weight without accessories) |
Microcontroller | RP2350 (datasheet) |
Realtime Clock | RX8025T-UB (datasheet) |
Temperature Sensor | TMP112 (datasheet) |
DC/DC Converter | TPS54540 (datasheet) |
MOSFET Switch | AO4805 (datasheet) |
Battery | CR2032 (for time keeping only, when no power supply is connected) |
Power In | DC 5V (via USB type-C connector) Or DC 6V~30V (via KF350-2P screw terminal block connector) |
Output Current | Up to 5A for Raspberry Pi and its peripherals |
Standby Current | ~8mA (could be reduced to ~0.8mA, when this issue is resolved) |
Operating Environment | Temperature -30°C~80°C (-22°F~176°F) Humidity 0~80%RH, no condensing, no corrosive gas |
User Manual
More information about this product can be found in its user manual: https://www.uugear.com/doc/WittyPi5_UserManual.pdf
Reviews
There are no reviews yet.