Note

Welcome to the SunFounder Raspberry Pi, Arduino & ESP32 Community on Facebook!

  • Get technical support and troubleshooting help.

  • Learn and share projects, tips, and tutorials.

  • Access early product previews and updates.

  • Enjoy exclusive discounts and giveaways.

👉 Join us here: [here]

RTL-SDR Blog V4

Note

The Pironman 5 series products do not include the following modules. You need to prepare one yourself or purchase it from our official website:

This guide covers a reliable installation procedure for the RTL-SDR Blog V4, a popular and affordable USB software-defined radio (SDR) receiver. The V4 version features an improved R828D tuner, direct sampling mode, better sensitivity, and integrated bias-tee for powering active antennas. It works well for receiving broadcast FM, airband, amateur radio, ADS-B, and many other signals on Linux and Raspberry Pi systems.

For the original manufacturer’s documentation, see the official RTL-SDR Blog V4 guide: https://www.rtl-sdr.com/V4/


Install Driver for RTL-SDR Blog V4

0. Preparation

sudo apt update
sudo apt install -y git cmake build-essential pkg-config libusb-1.0-0-dev sox
Note:

sox (provides the play command) is included for direct audio testing.

1. Full Cleanup of Old Libraries and Binaries (Critical)

sudo apt purge -y 'librtlsdr*'
sudo rm -rf /usr/lib/librtlsdr* /usr/include/rtl-sdr* \
            /usr/local/lib/librtlsdr* /usr/local/include/rtl-sdr* \
            /usr/local/include/rtl_* /usr/local/bin/rtl_*
sudo ldconfig

Verification A:

ldconfig -p | grep rtlsdr || echo "OK: No librtlsdr found in system cache."

2. Build and Install RTL-SDR Blog V4 Driver

cd ~
git clone https://github.com/rtlsdrblog/rtl-sdr-blog.git
cd rtl-sdr-blog
mkdir build && cd build
cmake .. -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig

Verification B:

which rtl_test
ldd "$(which rtl_test)" | grep rtlsdr   # Should point to /usr/local/lib/librtlsdr.so

3. Disable DVB Kernel Module and Reboot

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf
sudo reboot
Note:

Immediate reload commands (udevadm control --reload-rules and udevadm trigger) are optional if you plan to reboot immediately.

4. Verify Driver After Reboot

rtl_test -t
Expected:

Output should include RTL-SDR Blog V4 Detected with no [R82XX] PLL not locked! messages. The line Using device 0: Generic RTL2832U OEM is normal — it is just the USB name.

6. Test FM Reception from Command Line

rtl_fm -f 97.1M -M wbfm -s 180000 -r 48000 -g 28 | play -t raw -r 48k -e s -b 16 -c 1 -

Tips:

  • -g: Try between 25–35 dB; higher is not always better.

  • Reduce -s to ~170k–180k to lower noise.

  • Adjust frequency slightly (e.g. 97.1005M) for fine tuning.

  • Close any other SDR software that might hold the device.


Installing Common Radio Software

This section introduces four widely used SDR applications, with short descriptions, installation instructions, and basic setup tips for Debian-based systems.


GQRX

GQRX is a simple, user-friendly SDR receiver application with a graphical interface. It supports a wide range of SDR devices and is ideal for listening to FM, AM, SSB, and other signals with real-time spectrum and waterfall displays.

You can also refer to the official Raspberry Pi installation guide here: https://www.gqrx.dk/download/gqrx-sdr-for-the-raspberry-pi

Option 1 – Quick Installation (Recommended for most users)

Fast, simple, and integrates with system updates — but may not be the latest version.

sudo apt update
sudo apt install -y --no-install-recommends gqrx-sdr

Option 2 – Build from Source (Optional, Latest Features)

Ensures the latest version and full customization, but takes longer to compile and requires more dependencies.

sudo apt update

sudo apt-get install -y --no-install-recommends \
  cmake gnuradio-dev gr-osmosdr qt6-base-dev qt6-svg-dev \
  libasound2-dev libjack-jackd2-dev portaudio19-dev libpulse-dev

git clone https://github.com/gqrx-sdr/gqrx.git
cd gqrx
mkdir build && cd build
cmake ..
make
sudo make install

Preventing Driver Overwrite

When installing GQRX, SDR++, gnuradio-dev, or gr-osmosdr, the system may reinstall outdated librtlsdr. After each installation, check:

ldd "$(which rtl_test)" | grep rtlsdr

If it no longer points to /usr/local/lib/librtlsdr.so, run:

sudo apt purge -y 'librtlsdr*'
sudo ldconfig
cd ~/rtl-sdr-blog/build && sudo make install && sudo ldconfig

You can test immediately (or after a reboot for a clean environment):

rtl_test -t

Expected output:

  • Contains RTL-SDR Blog V4 Detected.

  • No [R82XX] PLL not locked! messages.

First Run Setup

  • I/O Devices:

    • Device: RTL-SDR (V4).

    • Input Rate: 1.8 MSPS (1800000).

  • Input Controls:

    • LNA Gain: Start around 25–35 dB, adjust as needed

  • Receiver Options:

    • Set Frequency Correction (PPM) from your calibration.

    • Mode: WFM (mono or stereo) for broadcast FM.


SDR++ (SDRpp)

SDR++ is a modern, fast, cross-platform software-defined radio (SDR) receiver that supports a variety of devices, including the RTL-SDR Blog V4. It offers a clean, user-friendly interface, wide modulation support, advanced DSP filtering, and recording capabilities.

You can refer to the official user manual here: https://www.sdrpp.org/manual.pdf

Install from Source

sudo apt update
sudo apt install -y --no-install-recommends build-essential cmake git pkg-config \
  libfftw3-dev libvolk2-dev libglfw3-dev libglew-dev \
  libzstd-dev librtaudio-dev

git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build && cd build
cmake .. -DOPT_BUILD_RTL_SDR_SOURCE=ON
make
sudo make install

Preventing Driver Overwrite

When installing GQRX, SDR++, gnuradio-dev, or gr-osmosdr, the system may reinstall outdated librtlsdr. After each installation, check:

ldd "$(which rtl_test)" | grep rtlsdr

If it no longer points to /usr/local/lib/librtlsdr.so, run:

sudo apt purge -y 'librtlsdr*'
sudo ldconfig
cd ~/rtl-sdr-blog/build && sudo make install && sudo ldconfig

You can test immediately (or after a reboot for a clean environment):

rtl_test -t

Expected output:

  • Contains RTL-SDR Blog V4 Detected.

  • No [R82XX] PLL not locked! messages.

First Run Notes:

After installation, SDR++ will appear in your desktop menu (usually under “Other”), or you can run:

sdrpp
  • Device: Select RTL-SDR (V4) in the Source menu.

  • Sample Rate: 1.8 MSPS is typical; lower if CPU load is high.

  • Gain: Disable AGC and set manual gain (start ~35 dB).

  • PPM Correction: Enter your calibration value from rtl_test -p.

  • Demodulation Mode: Choose WFM for FM broadcast, SSB for amateur bands, etc.


rtl_433

rtl_433 is a command-line tool to decode radio transmissions from devices operating in the 433 MHz ISM band, such as weather stations, tire pressure sensors, and wireless thermometers.

Install:

sudo apt install -y rtl-433

Preventing Driver Overwrite

When installing GQRX, SDR++, gnuradio-dev, or gr-osmosdr, the system may reinstall outdated librtlsdr. After each installation, check:

ldd "$(which rtl_test)" | grep rtlsdr

If it no longer points to /usr/local/lib/librtlsdr.so, run:

sudo apt purge -y 'librtlsdr*'
sudo ldconfig
cd ~/rtl-sdr-blog/build && sudo make install && sudo ldconfig

You can test immediately (or after a reboot for a clean environment):

rtl_test -t

Expected output:

  • Contains RTL-SDR Blog V4 Detected.

  • No [R82XX] PLL not locked! messages.

Basic Use:

  • Run rtl_433 to automatically detect and decode common 433 MHz devices.

  • Use rtl_433 -G to list all supported protocols.


dump1090-mutability

dump1090-mutability is a Mode S decoder for ADS-B aircraft transponder data. It receives and decodes aircraft positions, speeds, and other flight data, and can serve a live map via a web browser.

Install:

sudo apt install -y dump1090-mutability

Preventing Driver Overwrite

When installing GQRX, SDR++, gnuradio-dev, or gr-osmosdr, the system may reinstall outdated librtlsdr. After each installation, check:

ldd "$(which rtl_test)" | grep rtlsdr

If it no longer points to /usr/local/lib/librtlsdr.so, run:

sudo apt purge -y 'librtlsdr*'
sudo ldconfig
cd ~/rtl-sdr-blog/build && sudo make install && sudo ldconfig

You can test immediately (or after a reboot for a clean environment):

rtl_test -t

Expected output:

  • Contains RTL-SDR Blog V4 Detected.

  • No [R82XX] PLL not locked! messages.

Basic Use:

  • Run: dump1090 --interactive --net.

  • Open http://<raspberrypi-ip>:8080 in your browser to view live aircraft tracking.