Don't Be Fooled by Its Size: Receiving FM Broadcast and ADS-B Aircraft Signals with PlutoSDR
Step-by-step guide to receiving FM broadcast and ADS-B aircraft signals with PlutoSDR. Covers driver installation, SDR# configuration, antenna optimization, dump1090 setup, and real-time flight tracking.
The first time you hold a PlutoSDR, it's easy to be fooled by its credit-card-sized form factor — can this small black box weighing under 100 grams really do the work of professional radio equipment? This PlutoSDR leverages the powerful combination of the AD9363 RF chip and Xilinx Zynq SoC. This article skips the tedious theory and goes straight into two of the most rewarding hands-on projects: FM broadcast reception and ADS-B aircraft signal tracking.
1. Out-of-the-Box Hardware Preparation
Opening the box, you'll find the following standard components:
- PlutoSDR main unit
- Type-C data/power cable, Cat6 Ethernet cable, one 70MHz–6GHz antenna
Important note: For receiving FM broadcast (87.5–108 MHz) and ADS-B signals (1090 MHz), we recommend additionally preparing:
- A wideband SMA antenna (70MHz–6GHz range recommended, high gain)
- A computer with sufficient USB 2.0 power output (at least 500 mA)
2. Building an FM Radio in Ten Minutes
2.1 Driver Installation and Device Recognition
Windows users need to install the libiio driver first:
# Download the official driver package
wget https://github.com/analogdevicesinc/libiio/releases/latest/download/libiio-win64-setup.exe
# During installation, check the "Install USB driver" option
Linux users have it even simpler:
sudo apt-get install libiio-utils
After connecting the device, verify recognition with:
iio_info -s
Normal output should contain "Analog Devices PlutoSDR".
2.2 SDR# Basic Configuration
- Download the latest SDR#
- After extracting, run
install-rtlsdr.bat(required even when using PlutoSDR) - Launch SDR#, select "PlutoSDR" as the Source
- Set parameters:
- RF Gain: 30 dB
- Sample Rate: 2.4 MS/s
- Decimation: 8
| Station Name | Frequency (MHz) |
|---|---|
| Dynamic 101 | 101.7 |
| Classic 947 | 94.7 |
| News 93.4 | 93.4 |
2.3 Antenna Optimization Options
When the stock antenna performs poorly in the FM band, try:
- DIY quarter-wave vertical antenna (~75 cm copper wire)
- Use an SMA-to-BNC adapter to connect a car antenna
- Position the antenna near a window or at a higher location
3. Capturing Air Traffic Information
3.1 ADS-B Signal Reception Preparation
The 1090 MHz ADS-B signal requires special configuration:
# Update firmware to extend frequency range
fw_update -u https://github.com/analogdevicesinc/plutosdr-fw/releases/latest/download/plutosdr-fw.zip
The dump1090 toolchain is recommended:
git clone https://github.com/antirez/dump1090.git
cd dump1090
make
./dump1090 --interactive --net
3.2 Real-Time Flight Track Display
- Install Virtual Radar Server
- Configure the data source as localhost:30002
- Open http://localhost:8080 in your browser
Typical ADS-B data message examples:
*8D40621D58C382D690C8AC2863A7;
*8D40621D99020A1000C0C3D9D578;
3.3 Performance Optimization Parameters
| Parameter | Recommended Value | Description |
|---|---|---|
| PPM Correction | -12 to +12 | Compensates for frequency offset |
| LNA Gain | 40 dB | Improves receive sensitivity |
| Sample Rate | 2.5 MS/s | Balances performance and resource usage |
4. Advanced Techniques and Troubleshooting
4.1 Common Problem Solutions
- Device not recognized: Try a different USB cable or port; avoid using USB hubs
- Abnormal spectrum display: Check antenna connections; reset SDR# settings
- Data packet loss: Reduce the sample rate to below 1 MS/s
4.2 Extended Application Scenarios
- Use GNU Radio to implement custom demodulation flows
- Develop automated monitoring scripts via Python API
- Combine with MATLAB for signal analysis experiments
4.3 Safe Operation Notes
- Avoid prolonged full-power transmission
- Regularly check whether antenna connectors are loose
- Pay attention to thermal management in high-temperature environments