← Back to all posts

Software Defined Radio for Fun and Profit

sdrradiohardwaretutorialprojects

Software Defined Radio (SDR) is one of those magical technologies that feels like magic when you first discover it. With nothing more than a $25 USB dongle and a basic antenna, you can intercept radio transmissions from all around you—and actually understand what they're saying.

What Is Software Defined Radio?

Traditional radio equipment uses specialized hardware circuits tuned to specific frequencies. SDR flips this model on its head: the radio hardware is generic, and the processing happens in software. This means one piece of hardware can receive AM radio, FM radio, satellite signals, weather stations, aircraft data, utility meters, and more—all by running different software.

The magic ingredient is a component called an SDR dongle—typically a USB stick with an RF receiver and analog-to-digital converter. Popular options include the RTL-SDR (cheap, widely supported) or the HackRF (more capable, more expensive).

A Real-World Example: Utility Meter Monitoring

Meters in many areas broadcast consumption data unencrypted on the unlicensed 900MHz band. This is meant to allow automated meter reading by utilities, but there's no cryptography preventing anyone with an SDR from listening in.

I built a system to:

  1. Capture meter transmissions using an RTL-SDR
  2. Store the data in InfluxDB
  3. Visualize consumption patterns in Grafana

The full project is available on GitHub if you want to see how it all comes together.

The result: I can see hourly consumption spikes, detect anomalies (like a water leak running at 3 AM), and even monitor patterns across my neighborhood. I've captured 22 gas meters and 13 water meters in my neighborhood. The data concentrates transmission spikes at the top of each hour, which tells you when meters are reporting their readings.

Leak Detection Dashboard

One practical win: I identified a water leak in one of my monitored meters by noticing unexpected usage spikes overnight. This screenshot was taken shortly after 6AM, looking back 6 hours through the overnight hours—you can easily spot which meter has a leak by the dramatic spike. This is a real-world example of how SDR can provide actionable insights from seemingly mundane data.

Getting Started: The Hardware

You need surprisingly little:

  • RTL-SDR Dongle (~$25): Available on Amazon or search for "RTL-SDR" or "RTL2832U dongle" online
  • Antenna: Comes with most dongles, but you can build better ones (a simple dipole antenna costs nothing)
  • USB Cable: To connect the dongle to your computer
  • Software (free): rtl_433, GQRX, or SDR# depending on your OS

Total investment: ~$30.

Getting Started: The Software

On Linux/Mac:

# Install rtl_433 (decodes ISM band transmissions like meters)
brew install rtl_433

# Start listening on 900MHz
rtl_433 -f 900M -R 40

On Windows, use GQRX (graphical interface) or SDR# for easier exploration.

The Fun Part

Once you've got the basics working, the possibilities expand:

  • Weather stations: Receive data from nearby personal weather stations
  • Satellites: Track ISS passes and receive images from weather satellites
  • Aircraft: See ADS-B transponder data from planes overhead
  • Pagers: Intercept pager messages (often broadcast in the clear)
  • Smart home devices: Explore the RF signals from wireless doorbells, garage openers, etc.

Caveat: Know your local laws. Listening is generally legal, but acting on certain intercepted data (like actually using utility meter information for nefarious purposes) is not. In the US, utilities don't seem to care about hobbyist SDR listening—they care about meter tampering. Capture the data for learning, not for theft.

Why This Matters

SDR is a gateway drug to understanding how the radio spectrum actually works. You move from abstract concepts like "900MHz" to concrete experience: I can see those transmissions right now, and I understand their format.

It also highlights real security issues. The fact that utility meters broadcast in the clear is a known vulnerability—some utilities are migrating to encrypted protocols (like Paul Rubin mentioned in feedback: he had to build an alternative system with ESP32 microcontrollers since his local utility encrypted everything). But it also opens the door to legitimate monitoring and anomaly detection, like catching leaks before they become disasters.

Next Steps

  1. Order an RTL-SDR dongle
  2. Install rtl_433 or GQRX
  3. Spend an evening exploring what's transmitting in your area
  4. Build a visualization dashboard if you want to go deeper

The rabbit hole goes as deep as you want it to go.

Need Help Building an SDR Project?

If you're interested in building a production-grade SDR system—whether for utility monitoring, data visualization, or exploring your local spectrum—I offer consulting services. Get in touch to discuss your ideas.

Further Reading