Reading Smart Utility Meters with a Flipper Zero: ERT and AMR Sub-GHz Broadcasts Explained
Most electric, gas, and water meters installed in North America over the past two decades broadcast their current reading over unencrypted (or lightly obfuscated) Sub-GHz radio, specifically so utility companies can drive by with a receiver and collect readings without a technician walking up to every meter. These broadcasts — generally using the ERT (Encoder Receiver Transmitter) or AMR (Automated Meter Reading) protocol families — are public, unencrypted RF data being continuously transmitted from a device on your own property, and the Flipper Zero's Sub-GHz module can receive and decode a meaningful subset of them, letting a maker read their own meter's live consumption without any physical connection to the meter itself.
What ERT and AMR Actually Are
ERT, developed by Itron, is probably the single most common protocol behind the "smart meter" broadcasts that modern electric and gas meters in the US put out, typically on 902-928MHz. These broadcasts include a meter ID and a current consumption reading, sent at a regular interval (anywhere from every few seconds to every couple of minutes depending on the specific meter), explicitly so a utility's drive-by or fixed-network receiver can collect the reading. AMR is the more general umbrella term for this category of automated meter reading systems, and different utilities and meter manufacturers use variations on the specific framing and encoding within that general approach — which is why decoding software for this space (`rtlamr`, built around RTL-SDR hardware, is the most mature open-source tool in this niche) maintains support for several distinct message formats rather than one universal decoder.
What the Flipper Zero Can and Can't Do Here
The Flipper Zero's Sub-GHz hardware covers the relevant frequency range and can receive raw signals in this band using its Read/Frequency Analyzer tools, and some custom firmware and community apps add partial ERT/AMR decoding directly on the Flipper. That said, the Flipper's processing power and the relatively simple built-in protocol decoders are a real step down from a purpose-built setup: a cheap RTL-SDR dongle paired with rtlamr running on a Raspberry Pi or any Linux machine is the far more capable and far more commonly used tool in this specific niche, with mature decoding for the most common Itron and Neptune/Sensus meter message formats, continuous logging, and integration into Home Assistant or a simple database for tracking consumption over time. The honest framing here: the Flipper Zero is a reasonable way to confirm your own meter is transmitting in this band at all and get a feel for the raw signal, while an RTL-SDR plus rtlamr is the right tool for actually building a useful, ongoing consumption-monitoring pipeline.
Identifying Your Own Meter's Broadcast
Because many meters in a neighborhood broadcast on the same frequencies, the practical first step either way is figuring out which meter ID in the captured data is actually yours — most electric and gas meters have their meter ID printed directly on the meter's faceplate or accessible on the utility's account portal, which lets you filter the flood of neighborhood broadcasts down to the one reading that's actually relevant. Standing close to your own meter while capturing (signal strength drops off quickly with distance) and cross-referencing the captured meter ID against the physical meter's printed ID is the standard way to confirm a match before trusting any decoded reading.
Why This Is Worth Doing
Utilities are often slow, or charge extra, for granular interval consumption data through their own apps and portals — many provide only a daily or monthly total through the standard customer-facing tools. Reading your own meter's broadcasts directly gives near-real-time consumption data (refresh intervals of seconds to a couple minutes depending on the specific meter) that's useful for catching an unexpectedly high-draw appliance, validating a solar installation's production against grid draw, or just satisfying genuine curiosity about a home's actual usage pattern — all without needing the utility's cooperation or paying for a separate monitoring service.
Legal Notes
Passively receiving a broadcast that your own utility meter is continuously and unencryptedly transmitting into the public airwaves around your own property sits in the same general legal category as other passive RF reception this site covers — ADS-B aircraft tracking, pager decoding, and amateur radio reception among them — which is to say, receiving a signal is broadly treated differently under most jurisdictions' laws than transmitting or interfering with one. That said, laws genuinely vary by location, and this guide is describing a receive-only technique applied to your own meter's broadcasts, not advice on reading a neighbor's or a business's meter without their knowledge; if there's any doubt about the specific legal landscape in your area, that's worth checking before going further than your own property's meter.
Getting Started
For a first attempt: locate your meter's physical ID, use the Flipper Zero's Sub-GHz frequency analyzer near the meter to confirm activity in the expected band, and if a deeper, ongoing monitoring setup is the actual goal rather than a one-time curiosity check, move to an RTL-SDR dongle and rtlamr on a Raspberry Pi — the community documentation around rtlamr specifically is extensive and covers meter-format compatibility in far more detail than any single guide reasonably can, since the exact message format genuinely does vary by utility and meter manufacturer.
This is a good example of a technique that's simple in concept — meters already broadcast their reading, so just listen — but genuinely does need the right tool for the depth of the goal: a Flipper Zero confirms the broadcast exists and gives a feel for the raw signal, while a proper RTL-SDR-based setup is what turns that into an actual ongoing consumption dashboard.