What Is ADS-B?

ADS-B stands for Automatic Dependent Surveillance-Broadcast. That's a mouthful, but it boils down to this:

  • Automatic — No pilot action needed. The system broadcasts continuously.
  • Dependent — It depends on the aircraft's own navigation systems (GPS) for position data.
  • Surveillance — Ground stations (like my Pi 3B) listen to these broadcasts to track aircraft.
  • Broadcast — The aircraft transmits its data outward for anyone to receive.

Equipped aircraft broadcast their position, altitude, speed, flight number, and heading on 1090 MHz approximately once per second. Ground receivers pick up these signals and forward the data to flight tracking websites where anyone can follow aircraft movements in real time.

Why Track Aircraft?

Flight tracking websites collect data from thousands of volunteer receivers worldwide. They use this data to:

  • Show live aircraft positions on a map
  • Provide flight status and delay information
  • Track flight routes and history
  • Help aviation enthusiasts and researchers

My Pi 3B feeds data to FlightAware, Flightradar24, Airnav Radar, and Planefinder. These sites combine data from many receivers to build a complete picture of air traffic. The more receivers in an area, the better the coverage and accuracy.

Not All Aircraft Are Visible

Not every aircraft broadcasts ADS-B. Some types you won't see on a flight tracker:

  • Military aircraft — Often have transponders but may not broadcast their position, or may switch off ADS-B for operational reasons.
  • Small aircraft — Depending on local regulations and airspace class, smaller planes may not be required to have ADS-B equipment installed. Requirements vary by country and airspace.
  • Older aircraft — Some older planes simply don't have the equipment.

MLAT — Finding Aircraft Without ADS-B

MLAT (Multilateration) is a technique to estimate the position of aircraft that have a transponder but don't broadcast ADS-B position data. It works by measuring the exact time a transponder signal arrives at multiple receivers (at least four). Because radio waves travel at the speed of light, tiny differences in arrival time reveal the aircraft's location through geometry.

This is where two things matter:

  • Precise time — Without accurate timestamps from each receiver, MLAT calculations produce garbage. This is another reason why correct time matters.
  • Antenna position — The exact geographic position of each receiver's antenna must be known precisely. Even a few meters of error in the antenna location affects the MLAT calculation.

My Pi 3B acts as an MLAT receiver for PiAware only. The other flight tracking sites I feed (Flightradar24, Airnav Radar, Planefinder) have their own MLAT implementations and don't share MLAT data between each other.

Setup

Aircraft
Transmits ADS-B signal
on 1090 MHz
CO-1090-MCX
1090 MHz antenna
(indoor)
Band-pass Filter
FlightAware ADS-B
1090 MHz SMA filter
Pro Stick
FlightAware USB
Software-defined radio
Raspberry Pi 3B
PiAware / dump1090-fa
OS: Buster
Map Display
Live aircraft positions
with map background

Data also forwarded to FlightAware, Flightradar24, Airnav Radar, Planefinder.

How It Works

  • Aircraft — Equipped planes broadcast their position, altitude, speed, and identity on 1090 MHz, about once per second.
  • Antenna — A 1090 MHz antenna catches the signal. Mine is placed indoors, so reception is limited compared to an outdoor antenna.
  • Band-pass Filter — Filters out unwanted signals on other frequencies (mobile phones, radios, WiFi). Only 1090 MHz gets through, reducing noise.
  • Pro Stick — A small USB software-defined radio (SDR) that converts the radio signal into digital data the Pi can process. It includes a built-in amplifier for weaker signals.
  • Raspberry Pi 3B — Runs PiAware and dump1090-fa. The software decodes the digital data into aircraft positions, altitude, speed, and flight numbers. Statistics are generated by graphs1090.
  • Map Display — A web interface shows aircraft positions on a map in real time. Clicking an aircraft reveals its flight number, altitude, speed, and route.
  • Feeders — The decoded data is also sent over the internet to FlightAware, Flightradar24, Airnav Radar, and Planefinder, where it is combined with data from thousands of other receivers worldwide.

In short: Plane broadcasts position → antenna catches signal → filter removes noise → Pro Stick digitizes it → Pi decodes aircraft data → shown on a map and sent to flight tracking websites.