Build an FM Radio Receiver with GNU Radio

~90 minBeginner

Build a complete FM broadcast receiver in GNU Radio Companion, from RTL-SDR source through stereo audio output and RDS text decoding.

Prerequisites
Gather these before starting

Hardware

  • RTL-SDR dongle (Blog V4 recommended)
  • Antenna for 88–108 MHz (dipole or discone)
  • Computer with USB port
  • Speakers or headphones

Software / Knowledge

  • GNU Radio 3.10+ (installed in Step 1)
  • gr-osmosdr package
  • Basic comfort with block diagrams
  • Local FM station frequency (check radio.garden)
Step 1 of 714% complete
Step 115 min
Install GNU Radio

GNU Radio is the foundational signal-processing framework that will power your FM receiver. It provides a visual flowgraph editor (GNU Radio Companion) and a rich library of signal-processing blocks written in Python and C++.

Ubuntu / Debian

sudo apt install gnuradio

For a newer version: sudo add-apt-repository ppa:gnuradio/gnuradio-releases && sudo apt update && sudo apt install gnuradio

Fedora / RHEL

sudo dnf install gnuradio

The Fedora package is usually recent. Also install gr-osmosdr for RTL-SDR support.

macOS

brew install gnuradio

Homebrew installs take 20–40 min. Also run: brew install rtl-sdr for the RTL-SDR driver.

Windows

Use the official installer at gnuradio.org/releases

The Windows installer bundles most dependencies. Install Zadig for RTL-SDR USB drivers afterward.

Verify the installation

gnuradio-companion --version
# Should print: GNU Radio 3.10.x or higher
gnuradio-config-info --prefix   # Shows install prefix

On Ubuntu/Debian, always prefer the PPA over the default apt package — it stays several versions closer to the current release.

Install GNU Radio