Wireless water-meter telemetry, end to end
PHOA is a two-tier ESP32 system for collecting Badger ORION water-meter readings across a neighborhood and getting them into a database. Distributed Node devices listen for meter transmissions over the 900 MHz ISM band; a central Gateway aggregates their readings over a 433 MHz mesh and uploads them to a PC ingest service on the local LAN.
Hardware is off-the-shelf Heltec / CT62 ESP32 boards plus SX1276 / SX1262 FSK radios and a CC1101 mesh transceiver. Firmware is proprietary, with updates delivered over the air. The dashboards shown below are live — every number is real telemetry captured from the running deployment.
Why real-time?
Utility billing arrives once a month. Between cycles, you can’t see a stuck-open valve, a broken irrigation line, or a slab leak — you only learn about it when the bill shows up with an unexpectedly large total. The conventional alternative — retrofitting outlot irrigation controllers with their own integrated flowmeters — carries substantial equipment and installation costs per zone.
PHOA reads the utility’s own meter wirelessly, with no plumbing changes. Consumption patterns build up over time per meter, so sudden out-of-range conditions stand out before they become an invoice. Line breakage and runaway irrigation are caught while they are still leaks, water is saved, and the end-of-month bill holds no surprises.
Receiver
Water Meter Node
Sits in range of a cluster of water meters and decodes their RF transmissions. Supports three Badger ORION protocols, displays live readings on an embedded dashboard, and relays them back to the gateway over a long-range 433 MHz mesh link.
Read about the Node
Hub
Water Meter Gateway
The mesh hub. Listens on 433 MHz for readings forwarded by Nodes, queues them locally if the PC is offline, and POSTs them to a Windows ingest service on port 41290. Hosts a fallback WiFi AP so distant nodes can always phone home.
Read about the Gateway
How it fits together
Reading flow is one-way: meter → node → gateway → PC. Commands flow the other way over the same mesh.
[Badger ORION meter] [Badger ORION meter] [Badger ORION meter]
\\ | /
\\ 900 MHz FSK | (P223 / P282 / P290)
\\ | /
+---> [Water Meter Node] ---+
(ESP32 + SX1276/SX1262)
embedded dashboard,
email reports, OTA
|
433 MHz CC1101 mesh
(multi-hop, ACKed)
|
[Water Meter Gateway]
(ESP32 + CC1101, optional W5500)
client roster, mesh commands,
daily 'By Node' email
|
v
HTTP POST :41290
|
[Windows ingest service]
(FastAPI / MySQL on the LAN)
Two deployment shapes
The same Node firmware supports two install patterns. For large or distributed sites, multiple Nodes feed one Gateway over the 433 MHz mesh and the Gateway uploads to a central database. For small clusters — a single building, a small park, one property — a Node can run standalone on local WiFi, with its own dashboard and daily emails; no Gateway is needed. What changes between the two is only whether the mesh is in use.
For agents
This site is designed to be machine-readable. Structured device specs are available as JSON; a top-level llms.txt indexes the pages.