Skip to content
Marcello Jardim
← All workCase study

2025

UPS Monitor

Batteries that tell you before they fail.

Role
Full stack & firmware
Years
2025
Stack
ESP32 / C++, FDT, AWS, Python, Vue, TypeScript
150+UPS devices monitored live

Real-time monitoring for a power-supply company’s UPS fleet: ESP32 firmware at every unit, live battery stats, instant fault alerts, and reports on how every unit is holding up.

The signal path

  1. Firmware

    ESP32 firmware on the FDT unit that reads each UPS and reports its operational data.

  2. Cloud

    Ingest, storage and alerting for real-time battery telemetry.

  3. Interface

    A web dashboard with live status per unit, plus reports and analytics.

Context

A power-supply company looks after UPS units in stores across South Africa. A failing battery was usually found when the power went out and nothing held up.

The problem

Surface the health of every battery across 150+ UPS devices, live, and shout before something fails.

What I built

  1. ESP32 firmware on the FDT unit at each UPS, reading its operational data.
  2. A parser that turns the raw FDT feed into clean telemetry.
  3. Real-time notifications the moment a battery system reports an issue.
  4. A dashboard of live device stats and status, plus reports and analytics over time.

Outcome

Over 150 UPS devices in stores nationwide are monitored live. The client hears about problems first, not from the store after the lights go out.

© 2026 Marcello Jardim

Designed and built by me. React, Tailwind and a few React Bits, set in Bricolage Grotesque and Martian Mono.