Supported hardware
RTL-SDR
Most accessible option. A USB dongle originally designed as a DVB-T TV receiver, repurposed as a general-purpose SDR. 8-bit ADC, ~$25. Requires the
rtl-sdr driver package. Works well for ADS-B at 1090 MHz with any directional or omnidirectional antenna.HackRF One
Wide bandwidth, half-duplex. Covers 1 MHz to 6 GHz, ~$300. Half-duplex only (cannot transmit and receive simultaneously). 8-bit ADC. Good for experimentation across a broad spectrum; capable of ADS-B reception with appropriate gain settings.
BladeRF
Full-duplex, higher dynamic range. Supports simultaneous transmit and receive. Available in 2.0 micro and x40/x115 variants. Higher dynamic range than RTL-SDR or HackRF, useful in environments with strong interfering signals near 1090 MHz.
USRP (Ettus Research)
Professional grade, highest performance. The USRP family (B200, B210, N-series, X-series) offers the best ADC resolution, lowest noise figure, and widest bandwidth. Suitable for research or demanding deployments where maximum message decode rate is required.
AirSpy
12-bit ADC, good sensitivity. A 12-bit ADC gives noticeably better dynamic range than 8-bit RTL-SDR dongles. Available in the AirSpy R2 and AirSpy Mini variants. A strong performer for ADS-B at 1090 MHz, particularly in dense RF environments.
Sample rate requirements
Both the ADS-B Framer and ADS-B Demod blocks require the sample rate to be an integer multiple of 2 Msps. This constraint comes from the ADS-B modulation scheme: ADS-B uses Pulse Position Modulation at 1 Msym/s, so 2 samples per symbol is the minimum required. Valid sample rates:2e6, 4e6, 6e6, 8e6, …
The Framer and Demod blocks both enforce this at startup with an assertion. For example, from framer.py:
demod.py:
If you configure a sample rate that is not an integer multiple of 1 Msps (e.g.,
2.4e6), the flowgraph will fail at startup with an AssertionError from one of the above assertions. Set the OsmoSDR Source sample rate to a supported value before running.Gain settings
ADS-B signals at 1090 MHz can range widely in strength depending on the aircraft distance and antenna quality. The following guidelines are a starting point; tune to your specific hardware and environment.| Hardware | Recommended starting gain |
|---|---|
| RTL-SDR | 40–49 dB (use rtl_test to find the highest gain that does not saturate the ADC) |
| HackRF | LNA gain 24 dB, VGA gain 20 dB |
| BladeRF | RX gain 30–50 dB depending on antenna |
| USRP | 20–40 dB depending on the daughterboard |
| AirSpy | 12–18 LNA gain; adjust Linearity or Sensitivity gain modes |
Antenna
ADS-B transmits at 1090 MHz. A simple quarter-wave monopole antenna works well for line-of-sight aircraft reception:- Quarter-wave length at 1090 MHz: approximately 6.9 cm (69 mm)
- Mount over a ground plane (a metal baking sheet or the lid of a metal enclosure works)
- Position the antenna outdoors or near a window with a clear view of the sky for best results
- Dedicated ADS-B antennas (1090 MHz tuned, N or SMA connector) are available commercially and provide better performance than a whip alone