Real-time meter reader

How to read your own smart meter with an RTL-SDR

To read your own smart meter with an RTL-SDR, plug an RTL2832U dongle into a phone or PC, tune to the 900 MHz band, and decode the consumption messages your meter already broadcasts. Most North American electric and gas meters send a cumulative reading every 30 seconds to a few minutes, unencrypted and in the clear.

Step 1: Find out whether your meter broadcasts

Look at the meter itself before buying anything. Most North American electric and gas meters installed over the past couple of decades carry an automatic meter reading module so a passing truck or a fixed collector can read them without a site visit, and those modules broadcast whether or not anyone is listening.

Itron ERT endpoints usually carry an ERT marking and a serial number on the face or on a sticker. Gas meters often have a small module strapped to the register rather than an integrated one. If you cannot tell, your utility can usually say what kind of endpoint you have.

Some utilities run mesh networks with encrypted payloads instead. If that is what you have, no receiver will decode it — that is a hard stop, not a tuning problem.

Step 2: Buy the right dongle

Any RTL2832U-based RTL-SDR USB dongle will do the job. Sticks built around an R820T or R820T2 tuner are the safe default and typically cost somewhere in the region of $25 to $40. The RTL-SDR Blog V4 is the usual recommendation for a first purchase because it ships with a decent antenna set.

Step 3: Connect the dongle to a phone or a PC

You have two practical options: hang the dongle off a phone, or leave it on a computer that stays put. Both end up with the same data.

On Android or a Chromebook, a USB OTG adapter is all you need. If the phone reboots or the dongle drops out under load, a powered USB hub usually fixes it — these dongles draw more current than a phone likes to supply.

On Windows, the dongle needs the WinUSB driver, installed once with Zadig. On Linux, install libusb, and unload the DVB kernel driver if the system grabbed the stick as a TV tuner at boot.

Step 4: Put the antenna somewhere useful

Antenna placement matters more than anything else in this setup. A quarter wavelength at roughly 915 MHz is about 8 cm, or a little over 3 inches, so a stock telescoping antenna collapsed to about that length is already close to optimal.

Signals up in the 900 MHz band behave roughly like line of sight. A window facing the meter beats a basement shelf by a wide margin, height helps, and metal siding, foil-backed insulation, and low-emissivity window coatings all attenuate badly. If you are getting nothing, move the antenna before you change anything else.

Step 5: Wait for the first packets

Meters do not answer requests. They transmit on their own schedule, so the only thing to do after setup is wait — typically 30 seconds to a few minutes for a given endpoint, depending on meter type and how the utility configured it.

Expect to see other meter IDs first. The band is shared, and in a dense neighbourhood a receiver will pick up dozens of nearby endpoints. Find yours by matching the serial number printed on your own meter, and ignore the rest.

Step 6: Turn a counter into usage

The number in each message is a cumulative total, not an instantaneous rate. Think odometer, not speedometer. Consumption over any interval is the difference between the reading at the start and the reading at the end.

Units depend on the meter: kilowatt-hours for electric, hundreds of cubic feet or cubic metres for gas, gallons or cubic feet for water. Meters often report in a scaled unit, so compare a day of captured readings against a known figure on your bill once to work out the multiplier for your particular endpoint.

ItemTypical value
Band902 to 928 MHz (North American ISM band)
Common message typesSCM, SCM+, IDM, R900
Broadcast intervalEvery 30 seconds to a few minutes
Quarter-wave antenna at ~915 MHzAbout 8 cm (a little over 3 inches)
Usable rangeTens of metres to a few hundred, highly dependent on obstructions
Dongle costRoughly $25 to $40

Read only meters you own

Utilify is licensed for monitoring meters you own or have explicit authorization to monitor. The app only receives radio signals; it never transmits.

Passively receiving unencrypted meter broadcasts that are intentionally broadcast over the public radio spectrum is generally lawful in the United States, but you should verify this for your location. Readings captured over the air are informational and are not a substitute for your official utility bill.

Skipping the assembly

The open-source route is well trodden — rtl_433 and rtlamr both decode these messages — but you end up maintaining a Raspberry Pi, a database, and a dashboard. Utilify does the decoding, storage, and charting in one app: readings land in a local SQLite database on your device, charts cover 7 days through a year, and historical temperature is overlaid so weather-driven spikes are obvious.

Read your meters with Utilify

Plug in an RTL-SDR dongle and start reading your own meters in seconds. No utility account, no cloud.