Skip to contentHacker gift guide · Christmas 2026

RTL-SDR for Beginners: Setup and First Signals in 30 Minutes

RTL-SDR beginner guide: install drivers on Windows (Zadig), Linux and macOS, choose SDR++, SDR# or GQRX, tune your first FM station and fix common errors.

Published on 12 min read

An RTL-SDR is a USB stick that turns your computer into a radio receiver. Plug it in, install a driver and a free program, and you can be listening to FM broadcast in under half an hour. This guide covers all three operating systems (Windows, Linux, macOS), recommends SDR++ as your first program, and ends with the errors people hit most often.

Everything here is pure reception: an RTL-SDR does not transmit.

What is an RTL-SDR dongle (and V3 vs V4)

The idea

A traditional radio does all the work in electronics: it picks a station, demodulates it and outputs sound. A software-defined radio (SDR) keeps only the bare minimum in hardware. The dongle captures a slice of spectrum, digitises it and sends it over USB. Software does the rest, on screen.

The name "RTL-SDR" comes from the Realtek RTL2832U chip, originally designed for watching digital TV on a laptop. Developers found it could deliver raw radio samples. Since then, the open-source osmocom rtl-sdr project has provided the driver that nearly every program relies on.

In practice, a typical RTL-SDR dongle looks like this:

SpecTypical value
Frequency range≈ 24 MHz – 1.7 GHz (R820T2 or equivalent tuner)
Visible bandwidth≈ 2.4 MHz (2.56 MS/s maximum stable rate)
Resolution8 bits
TransmitNone, receive-only

The range and sample-rate figures come from rtl-sdr.com's reference page.

Why the TCXO matters

The first TV dongles used an ordinary crystal. It drifted as it warmed up, so a station tuned at 100.0 MHz would slide by several kilohertz within minutes. Dongles built for radio use a TCXO, a temperature-compensated oscillator, which keeps the tuning stable. That matters when you decode narrow signals such as sensors or satellites.

Our RTL-SDR receiver is that kind of dongle: TCXO, ≈ 24 MHz – 1.7 GHz, receive-only, around €60.

V3, V4, V4L: what are they?

"V3" and "V4" are models from one specific brand, RTL-SDR Blog, and you will see them named in many tutorials. According to rtl-sdr.com:

  • V3: R820T2/R860 tuner. It receives shortwave (HF) through "direct sampling", a workable but compromised mode.
  • V4 (2023): R828D tuner, built-in HF upconverter, per-band filtering, and notch filters for FM, AM and DAB. It needs a recent driver (osmocom 2.0 or later).
  • V4L (2026): replaces the V4, which was discontinued once R828D chips ran out. It uses an R828S tuner with simpler filtering and is sold as a limited edition.

For this guide, the difference that matters most is the driver. V4 and V4L dongles only work with a recent driver. Older drivers seem to work, but you receive nothing or see the wrong frequencies. We check this at every step.

A full comparison of models and alternatives (HackRF, Airspy, SDRplay) has its own article.

Installing the drivers (Zadig on Windows, packages on Linux, macOS)

Plug in the dongle and its antenna first. Avoid unpowered USB hubs. A short USB extension cable is better than plugging straight into the computer: the dongle runs warm, and the cable moves it away from the computer's noise.

Windows 10 and 11: Zadig

Windows recognises the dongle as a TV tuner and loads the wrong driver for it. You need to replace that driver with the generic WinUSB driver using Zadig.

  1. Download Zadig from its official site and run it. It does not need installing.
  2. Open the Options menu and tick List All Devices.
  3. In the drop-down list, pick Bulk-In, Interface (Interface 0). Depending on the dongle, it may also show as "RTL2838UHIDIR" or "RTL2832U".
  4. Check that the box on the right says WinUSB.
  5. Click Replace Driver (or Install Driver) and wait for it to finish.

Do not select anything else in that list. Zadig would replace the driver of that device, your keyboard or webcam for example, without asking.

If you later plug the dongle into a different USB port, Windows may treat it as a new device. Run Zadig again in that case. The rtl-sdr.com quick start guide flags two more points:

  • Windows Update can occasionally put the TV driver back. Run Zadig again if it does.
  • On Windows 10 and 11, "Memory integrity" (Core isolation) can conflict with WinUSB on some machines. Only turn it off if you understand the trade-off, and only if the dongle is still missing after everything else.

SDR++ and SDR# ship with their own rtlsdr.dll. If you have a V4 or V4L and an older program receives nothing, replace that file with the one offered on the rtl-sdr.com V4 page. Use the 32-bit file for 32-bit programs and the 64-bit file for 64-bit programs.

Linux (Debian, Ubuntu, Raspberry Pi OS)

Current distributions ship a driver recent enough for every dongle, V4 and V4L included. This covers Debian 13, Ubuntu 24.04 or later, and Raspberry Pi OS based on Debian 13.

sudo apt update
sudo apt install rtl-sdr
apt policy rtl-sdr        # installed version should start with 2.0

The Linux kernel sometimes loads its own TV driver, which grabs the dongle before your radio software can. Blacklist it, as rtl-sdr.com recommends:

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf
sudo modprobe -r dvb_usb_rtl28xxu   # or reboot

Then test the dongle:

rtl_test

It should print Found 1 device(s) and the tuner type. Stop it with Ctrl+C.

Older distribution (Debian 12, Ubuntu 22.04, Raspberry Pi OS Bookworm): the packaged driver is version 0.6.0. It is fine for a V3-type dongle, but not for a V4 or V4L. In that case, build the osmocom driver:

sudo apt purge ^librtlsdr
sudo apt install libusb-1.0-0-dev git cmake pkg-config build-essential
git clone https://github.com/osmocom/rtl-sdr
cd rtl-sdr && mkdir build && cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make && sudo make install && sudo ldconfig

macOS

There is no system driver to install on macOS: the programs bundle the library they need. Download the build that matches your Mac (Intel or Apple Silicon). If you want the command-line tools such as rtl_test, install them with Homebrew:

brew install librtlsdr
rtl_test

The first time you open an app downloaded outside the App Store, macOS may block it. Right-click it and choose Open, or allow it under System Settings → Privacy & Security. The exact labels vary between macOS versions.

Choosing your software: SDR++, SDR#, GQRX

SoftwareOSStrengthsBest for
SDR++Windows, Linux, macOSOpen source, fast, identical everywhereOur default recommendation
SDR# (SDRSharp)WindowsVery popular, many pluginsWindows users following SDR# tutorials
GQRXLinux, macOSSimple, in the package repositoriesLinux users who want apt install
  • Windows: download the archive from the project's Releases page, or a development build from sdrpp.org/nightly. Unzip it and run sdrpp.exe.
  • Linux: download the .deb from the Releases page, then install it with sudo apt install ./sdrpp_debian_amd64.deb. The exact filename depends on your distribution. The project's documentation advises against the sdrpp package from distribution repositories, which it describes as incomplete.
  • macOS: download the app from the nightly page.

Nightly builds usually pick up support for new dongles sooner. If a V4 or V4L receives nothing with a stable release, try a nightly build.

SDR#

SDR# is distributed by Airspy and runs on Windows only. Unzip it into a folder of your own (not Program Files). Run install-rtlsdr.bat if it is there, do the Zadig step, then select the RTL-SDR USB source. The current version needs Microsoft's .NET 8 runtime.

GQRX

sudo apt install gqrx-sdr          # Debian, Ubuntu
brew install --cask gqrx           # macOS

First signal: FM broadcast in 5 minutes

FM broadcast is the best first test. The transmitters are powerful and found everywhere, between 87.5 and 108 MHz.

  1. Open SDR++. In the Source panel, choose RTL-SDR and select your dongle.
  2. Set the sample rate to 2.4 MHz.
  3. Click the play button (▶) at the top left. The spectrum and waterfall start moving.
  4. Type a local station's frequency, for example 100.000.000 for 100.0 MHz. An FM station shows up as a band about 200 kHz wide.
  5. In Radio, select WFM (wideband FM).
  6. Raise the gain (see the next section) until the station sounds clean.

The spectrum moves but you hear nothing? Check the mode (WFM), the volume and the audio output in the Sinks panel. If the spectrum stays flat, jump to the troubleshooting section.

From there, explore. Each vertical line in the waterfall is a transmission; click it to listen. Stick to transmissions meant for the public. Our projects guide covers what you are allowed to listen to.

Setting gain, sample rate and antenna

Gain

Gain amplifies the signal before it is digitised. Turning it all the way up is a mistake. An RTL-SDR digitises with only 8 bits, so too much gain overloads the dongle: ghost stations appear everywhere and the noise floor rises.

A simple method:

  1. Turn off automatic gain (AGC).
  2. Start at a mid value, around 30 dB.
  3. Step it up while watching the gap between the signal and the noise floor. Stop when the noise rises as much as the signal does.
  4. If signals appear twice, or everywhere, back off.

Near a powerful FM transmitter, modest gain often gives better results on the other bands.

Sample rate

The sample rate sets how much spectrum you see on screen. At 2.4 MS/s (megasamples per second) you see about 2.4 MHz at once. Above 2.56 MS/s, most computers drop samples, which means choppy audio and failed decodes. On a modest machine or a Raspberry Pi, 1.024 or 2.048 MS/s is plenty for most uses.

Antenna

The antenna matters more than anything else. A dipole, two elements pointing in opposite directions, is the easiest to tune. Each element is roughly a quarter of the wavelength (λ/4) long:

UseFrequencyLength of one element (≈ λ/4)
FM broadcast100 MHz≈ 75 cm
Weather satellites137 MHz≈ 54 cm
Home sensors433 MHz≈ 17 cm
Aircraft (ADS-B)1090 MHz≈ 6.9 cm

Put the antenna near a window, or better outdoors, away from chargers and screens. A telescopic dipole like the one in our SDR antenna kit lets you adjust the element length for each band.

Troubleshooting: the 6 most common errors

1. usb_claim_interface error -6 (Linux) The kernel's TV driver has grabbed the dongle. Add the blacklist shown above, then unplug and replug the dongle, or reboot.

2. "No device found" or dongle missing (Windows) Zadig was run on the wrong interface or on a different USB port, or Windows Update restored the TV driver. Open Zadig again, tick List All Devices, choose Bulk-In, Interface (Interface 0) and install WinUSB. Also try another cable and a direct USB port, without a hub.

3. The dongle is detected, but nothing happens or frequencies are off This is typical of a V4 or V4L running on a driver that is too old. On Linux, check apt policy rtl-sdr (version 2.0 or later). On Windows, update rtlsdr.dll or move to an SDR++ nightly build.

4. Stations everywhere, duplicate signals, a very high noise floor The dongle is overloaded. Lower the gain, move away from nearby transmitters and turn off AGC. FM notch filters help in heavily exposed areas; some dongles have one built in, otherwise you can buy one separately.

5. Choppy audio, stuttering waterfall, "lost samples" The sample rate is too high for the computer or the USB port. Drop to 2.4 MS/s or lower. Avoid hubs and try another port. USB 3 ports sometimes radiate noise that hurts reception; a USB extension cable that moves the dongle away often fixes it.

6. Nothing below 24 MHz, or a "PLL not locked" message You are outside the dongle's range. Most RTL-SDRs, ours included, do not go below ≈ 24 MHz without an upconverter. "PLL not locked" mostly appears at the edges of the range. Move back into the covered bands.

If rtl_test finds the dongle but no program receives anything, try the command line on its own. This separates a software problem from a hardware one:

rtl_fm -f 100M -M wbfm -s 200000 -r 48000 - | aplay -r 48000 -f S16_LE

Replace 100M with a local FM station. This command works on Linux with aplay.

What next?

Once FM works, everything else is a matter of antenna and software: aircraft, ships, the neighbourhood temperature sensors that transmit in the clear, weather satellites. We have collected the ideas in 12 beginner RTL-SDR projects, ordered from easiest to most demanding.

Our TCXO RTL-SDR (≈ 24 MHz – 1.7 GHz, receive-only, around €60) will be back in the shop soon: join the waitlist to be notified. If you are buying a gift, it is also part of the Hacker Starter Gift Set, along with kit to explore other disciplines.

Frequently asked questions

Do I need a special antenna to start with an RTL-SDR?

No. A telescopic antenna or a small dipole is enough for FM broadcast, aircraft (ADS-B) and 433 MHz sensors. A dedicated outdoor antenna becomes worthwhile once you target a specific project such as weather satellites.

Can my RTL-SDR transmit?

No. An RTL-SDR is receive-only. It cannot transmit anything, whatever software you use.

Which software should I start with?

SDR++. It is free, open source and works the same way on Windows, Linux and macOS. SDR# is still a good option on Windows, and GQRX on Linux and macOS.

Why can't I hear anything below 24 MHz?

Most RTL-SDR dongles, ours included, cover roughly 24 MHz to 1.7 GHz. Shortwave (HF) needs a dongle with a built-in upconverter or an external upconverter.

Do RTL-SDR drivers work on a Raspberry Pi?

Yes. Raspberry Pi OS behaves like Debian: install the rtl-sdr package and check that its version is 2.0 or later if your dongle is a V4 or V4L.

Related articles

What can you do with an RTL-SDR? 12 projects by level, from aircraft (ADS-B) and ships to Meteor-M satellites and the hydrogen line, with the kit needed.
Which SDR should a beginner buy: RTL-SDR V3, V4 or V4L, HackRF, Airspy or SDRplay? Receive vs transmit, coverage, 2026 prices and our advice for starting right.
Track aircraft with an RTL-SDR: how ADS-B works, which 1090 MHz antenna, installing readsb and tar1090, improving range and feeding flight-tracking sites.