Every ham who's bought an RTL-SDR for digital mode decoding or satellite reception eventually discovers ADS-B. It happens naturally — you're scrolling through the spectrum, hit 1090 MHz, and suddenly you're decoding position reports from every aircraft within 200 miles. The same skills that make you a competent ham radio operator — antenna design, feedline management, RF amplification, signal processing — translate directly to building a capable ADS-B monitoring station.
And honestly? It's absurdly satisfying to track aircraft in real-time from your own antenna.
What ADS-B Is
ADS-B (Automatic Dependent Surveillance-Broadcast) is a system where aircraft continuously broadcast their identity, position, altitude, speed, and intent on 1090 MHz. These are short burst transmissions (~120 microseconds) containing 112-bit messages at 1 Mbps.
Every commercial aircraft (and most general aviation in controlled airspace) transmits ADS-B. A single antenna at a good location can simultaneously track 100-300+ aircraft at ranges exceeding 250 nautical miles.
The signal is unencrypted, publicly broadcast, and legal to receive. No license required.
Why Hams Get Into This
Skill Transfer
ADS-B reception uses the same fundamental skills as VHF/UHF ham radio:
- Antenna design: 1090 MHz collinear antennas use the same principles as 70cm repeater antennas
- Feedline loss: Critical at 1090 MHz — same considerations as 23cm ham work
- Preamps and filters: LNA placement, bandpass filtering, gain optimization
- SDR operation: Same hardware and software ecosystem
- Location/elevation: Same propagation physics as VHF line-of-sight
Antenna Experimentation Platform
ADS-B provides instant feedback on antenna performance. Build a new 1090 MHz antenna, connect it, and within seconds you can quantify its performance: number of aircraft tracked, maximum range achieved, messages per second received. This instant feedback loop is invaluable for learning antenna design.
I've used ADS-B as a test platform for:
- Comparing collinear designs (4-element vs 8-element vs commercial)
- Measuring feedline loss at UHF (RG-58 vs LMR-400 vs Aircell 7)
- Optimizing preamp placement (at antenna vs at receiver)
- Testing different receiver sensitivities (RTL-SDR vs Airspy vs dedicated receivers)
Hardware Setup
Basic Station ($30-50)
- SDR: RTL-SDR Blog V3 or V4 ($30). The V4 has better sensitivity at 1090 MHz.
- Antenna: DIY quarter-wave ground plane or collinear (see below)
- Computer: Any PC or Raspberry Pi running decoder software
- Coax: Short run of RG-6 or LMR-240
Optimized Station ($80-150)
- SDR: RTL-SDR Blog V4 or dedicated ADS-B receiver (FlightAware Pro Stick Plus, $35 — has built-in filter and LNA)
- Filter: 1090 MHz bandpass (SAW filter), essential in urban areas to reject out-of-band interference
- LNA: Low-noise amplifier at the antenna (optional with Pro Stick Plus which has one built in)
- Antenna: 8-element collinear or commercial ADS-B antenna (FlightAware, Jetvision)
- Coax: LMR-400 or Aircel 7 to minimize loss
High-Performance Station ($150-300)
- SDR: Airspy Mini with ADS-B decode capability
- Antenna: Custom high-gain collinear (10+ dB gain) at maximum height
- LNA + filter: Uputronics 1090 MHz filtered preamp at antenna
- Coax: LMR-400 or better, minimum length
- Location: Roof or tower mounted antenna with clear horizon
Antenna Designs
Quarter-Wave Ground Plane (Simplest)
A single vertical element (67mm) with four radials bent down at 45°. Gain: approximately 2 dBi. Easy to build from a chassis-mount SMA connector and stiff wire.
This gets you started. Maximum range: typically 80-120 NM depending on elevation.
Collinear from Coaxial Cable
The classic ham approach: a collinear array made from alternating half-wave sections of coax, with the shield exposed every half-wave to create a radiating element.
For 1090 MHz, each element is approximately 130mm (accounting for velocity factor). An 8-element collinear provides ~6 dBi gain.
Build steps:
- Cut 8 pieces of RG-6 coax at 108mm (half-wave × velocity factor 0.83)
- Between each section, solder center conductor to shield (phase reversal)
- Enclose in PVC pipe with an N-type connector at the base
- Seal top and bottom against weather
Plenty of detailed build guides exist online (search "ADS-B coaxial collinear"). The design directly parallels ham radio collinear antennas for 70cm — just scaled for 1090 MHz.
Commercial Options
- FlightAware 1090 MHz antenna ($45): Purpose-built, 5.5 dBi, weatherproof. Good enough for most installations.
- Jetvision A3 ADS-B antenna ($60): 8.5 dBi, higher gain, excellent build quality.
- DPD Productions ADS-B antenna ($55): Popular in the ham community, good performance.
Software Stack
Decoder: dump1090
dump1090-fa (FlightAware's fork) or readsb (maintained fork) is the standard decoder. It takes raw IQ samples from the SDR, finds 1090 MHz mode-S messages, decodes them, and outputs aircraft positions.
Run it on a Raspberry Pi or any Linux machine:
sudo apt install dump1090-fa
The decoder provides:
- Web interface showing aircraft on a map (port 8080)
- JSON data feed for integration with other software
- Statistics (messages/sec, aircraft tracked, range)
Visualization: tar1090
tar1090 is an enhanced web interface that replaces dump1090's basic map with a more featured display. Provides range rings, aircraft trails, signal strength plots, and historical data.
Feeding Networks
You can contribute your data to flight tracking networks:
- FlightAware (flightaware.com): Feed data, get a free Enterprise account ($100/month value)
- Flightradar24 (flightradar24.com): Feed data, get a free Business subscription
- ADS-B Exchange (adsbexchange.com): Unfiltered data aggregator (no censorship of military/government flights)
- OpenSky Network (opensky-network.org): Academic research network
You can feed multiple networks simultaneously. Each feeder runs as a lightweight daemon on your Pi.
Performance Optimization
Maximize Range
ADS-B range is fundamentally line-of-sight. At 1090 MHz, the radio horizon follows the standard equation:
Range (NM) ≈ 1.23 × (√(antenna height in feet) + √(aircraft altitude in feet))
For an antenna at 30 feet (typical roof mount) and aircraft at 35,000 feet:
- Range ≈ 1.23 × (√30 + √35000) ≈ 1.23 × (5.5 + 187) ≈ 237 NM
The biggest single improvement is antenna height. Going from 10 feet to 30 feet above ground (above tree line) can double your range.
Reduce Noise
At 1090 MHz in urban areas, interfering signals from:
- Cell towers (LTE bands near 1090 MHz)
- Paging systems
- Other L-band services
A 1090 MHz bandpass SAW filter eliminates most interference. Place it between the antenna (or LNA output) and the SDR input. The FlightAware Pro Stick Plus includes one.
Gain Management
The RTL-SDR's AGC isn't optimal for ADS-B. Set manual gain:
- Start at maximum gain
- Reduce until the noise floor drops and message rate stabilizes
- Typical optimal: 40-49 dB for RTL-SDR Blog V3
Too much gain overloads the ADC with noise. Too little loses weak distant signals. Find the sweet spot by monitoring messages/second while adjusting.
Advanced: 978 MHz UAT
In the US, general aviation below 18,000 feet can use UAT (Universal Access Transceiver) on 978 MHz instead of 1090ES. If you want to track low-altitude GA traffic:
- Add a second SDR tuned to 978 MHz
- Run
dump978-fadecoder alongside dump1090 - Use a separate antenna or a dual-band design
UAT is US-only and typically shows more light aircraft, drones, and helicopter traffic.
Integration with Ham Radio
Combined Antenna Installations
If you already have a ham radio antenna mast, adding an ADS-B antenna is straightforward — it's small, lightweight, and only needs a short coax run if you mount the Pi/SDR close to the antenna.
Station Monitoring
Use ADS-B data for practical purposes:
- Aircraft scatter: Know when aircraft are in position for 2m/70cm aircraft scatter contacts
- Propagation indicator: Sudden increase in ADS-B range can indicate tropospheric ducting (same conditions that enhance VHF/UHF ham signals)
- Interference identification: That intermittent QRM on 23cm? Might correlate with aircraft position/radar
Skill Development
Building an ADS-B station exercises skills directly applicable to:
- 23cm (1296 MHz) amateur radio work
- Satellite ground station construction
- EME receiver chain optimization
- General VHF/UHF antenna development
The feedback is immediate and quantifiable. You can A/B test antenna designs, feedline types, and preamp configurations with clear metrics (range, message rate, signal strength) — faster feedback than most ham radio experiments provide.
My Setup
I run a Raspberry Pi 4 with a FlightAware Pro Stick Plus, connected to an 8-element coaxial collinear at 35 feet on my ham radio tower. Maximum consistent range: 225 NM. I typically see 150-200 aircraft simultaneously during peak traffic hours.
Total cost: about $85 (Pi was repurposed from another project). It feeds FlightAware, Flightradar24, and ADS-B Exchange simultaneously.
The installation took about two hours — most of that was building the collinear and running the coax. If you already have a tower with coax run capability, you could be up and running in an hour.
Getting Started Today
If you own an RTL-SDR (and most hams do by now): install dump1090, connect whatever antenna you have, and see what you receive. Even the stock telescoping antenna will pick up overhead traffic. Then iterate — better antenna, better placement, filtering. Watch your range numbers improve with each change.
It's the most immediate-gratification RF project you can build.
Reader field notes — share yours
Log in to share your field notes and photos.