
Geekworm
Geekworm X1200 UPS Shield for Raspberry Pi 5
- Wi-Fi
Verified September 2026
Battery backup for the box running Home Assistant, not a smart-home protocol device — but a power cut taking down your lighting and heating controller too is a real problem. Compact at 85 x 56mm, it bottom-mounts via pogo pins so the Pi 5's GPIO header stays free for other HATs. Bring your own 18650 cells: Geekworm rates up to 6 hours' runtime on two decent cells, though real-world figures depend on load. It's Pi 5-specific — the mount rules out HA Green, a Pi 4, or any other SBC. No native (core) HA integration — a community HACS integration covers the X120x family and exposes battery and power-loss entities without the DIY route below — but either way it just keeps the server alive through a blip and shuts down cleanly if the outage runs long.
In Home Assistant
| Control | Type | What it does |
|---|---|---|
| Battery voltage | Sensor (HACS or DIY) | Not in HA core — exposed by the community HACS integration (ha_suptronics_ups_x120x), or build your own with a command-line sensor reading the fuel-gauge chip's voltage register over I2C. |
| Battery charge | Sensor (HACS or DIY) | Not in HA core — same HACS integration exposes this, or replicate with a command-line sensor reading the chip's charge-percentage register. |
| Mains status | Binary sensor (HACS or DIY) | Not in HA core — the HACS integration includes a power-loss binary sensor, or poll the board's power-loss-detect GPIO pin yourself with a command-line binary sensor. |
| Low-battery safe shutdown | External daemon | Runs outside HA on the Pi's OS; once enabled, issues a clean OS-level shutdown below a set voltage threshold, independent of any HA automation. |
There's no core/native Home Assistant integration, but a community HACS integration (soukal24/ha_suptronics_ups_x120x) supports the X1200/X1201/X1202 family directly: install it via HACS or by copying it into custom_components, and it exposes battery voltage, battery charge percentage, and a power-loss binary sensor out of the box (it needs I2C enabled plus the smbus2 and gpiod Python packages). If you'd rather not add a custom integration, the same fuel-gauge chip is readable over I2C by hand — Geekworm's own scripts pull battery voltage and charge percentage straight from the chip, and a Home Assistant command-line sensor running that same read exposes both as real entities with no add-on. AC-loss state is just as accessible via a single GPIO line, so a second command-line binary sensor polling that pin gives a genuine mains-vs-battery entity. Worth knowing before relying on this for your HA box specifically: the official low-voltage shutdown script issues a clean OS shutdown that lets HAOS and the Supervisor stop normally, but it ships commented out by default, so it does nothing until you edit and enable it yourself.
Specs
- output
- 5.1V/5A max via USB-C
- features
- AC-loss detection, auto power-on, GPIO safe-shutdown daemon
- batteries
- 2x user-supplied 18650 Li-ion (max 65.3mm)
- dimensions
- 85 x 56mm PCB
- compatibility
- Raspberry Pi 5 only (pogo-pin bottom mount, not compatible with Home Assistant Green, Pi 4, or other SBCs)
- estimated runtime
- Up to 6 hours on two well-matched 18650 cells (manufacturer figure; varies with cell capacity and Pi 5 load)