Airradar // Build Guide
Raspberry Pi · ADS-B · Mode S · MLAT
Build your Airradar

Build Your Own Airradar Station

This page shows how to build a simple and effective Airradar receiver using a Raspberry Pi, an RTL-SDR dongle and a 1090 MHz antenna. With this setup you can receive ADS-B, decode Mode S, and contribute to MLAT networks for aircraft that do not transmit their own coordinates directly.

Recommended Board
Pi 3B
RF Frequency
1090 MHz
Main Decoder
dump1090-fa
Expected Coverage
150–450 km

What You Are Building

An Airradar station is a small receiving system that listens to aircraft transmissions on 1090 MHz. It does not transmit anything. It simply receives signals from aircraft, decodes them and displays the traffic in a web interface.

A correctly installed station can typically receive aircraft at distances between 150 km and 450 km, depending mostly on antenna quality, coax losses, installation height, local noise and terrain.

Required Hardware

  • Raspberry Pi 3B, 4 or 5 (Pi 3B recommended for a simple stable build)
  • 32 GB or 64 GB microSD card
  • Reliable Raspberry Pi power supply
  • RTL-SDR R820T / RTL2832U USB receiver dongle
  • 1090 MHz antenna
  • Optional: 1090 MHz band-pass filter
  • Optional: LNA close to the antenna for better weak-signal reception

Signal Chain

STEP 01
Aircraft transmits
Aircraft send ADS-B and Mode S messages on 1090 MHz.
STEP 02
Antenna receives RF
Your 1090 MHz antenna captures the radio bursts.
STEP 03
RTL-SDR digitizes
The USB dongle converts the RF signal into digital samples.
STEP 04
dump1090-fa decodes
The software extracts aircraft identity, altitude, position and other fields.
STEP 05
Airradar displays traffic
The decoded data is shown on your web interface in real time.

Installation Workflow

1
Step 1
Install the Operating System
2
Step 2
Update the System
3
Step 3
Install FlightAware Repository
4
Step 4
Install dump1090-fa
5
Step 5
Open the Local Radar Page
6
Step 6
Enable MLAT
Expected Install Time
20–30 Minutes
Skill Level
Beginner
Network Required
Yes
1
Step 1

Install the Operating System

Prepare the Raspberry Pi operating system with the official Raspberry Pi Imager, write it to the microSD card and boot the board.

Official download: Raspberry Pi Imager

Once the system is running, connect the RTL-SDR dongle and verify that Linux can see it.

Note: use Raspberry Pi OS Bookworm version.
Verify USB SDR
lsusb
2
Step 2

Update the System

Before installing decoder software, update the operating system fully.

System update
sudo apt -y update
sudo apt -y full-upgrade
3
Step 3

Install FlightAware Repository

Add the FlightAware package repository so you can install dump1090-fa and related software packages cleanly.

Repository setup
wget https://flightaware.com/adsb/piaware/files/packages/pool/piaware/f/flightaware-apt-repository/flightaware-apt-repository_1.2_all.deb
sudo dpkg -i flightaware-apt-repository_1.2_all.deb
sudo apt-get update
4
Step 4

Install dump1090-fa

dump1090-fa is the decoder that reads ADS-B and Mode S messages from your RTL-SDR device and creates the live traffic feed used by an Airradar-style interface.

Install decoder
sudo apt -y install dump1090-fa

After installation, the local map and aircraft list are normally available through the Pi web server on port 8080.

5
Step 5

Open the Local Radar Page

Replace the address below with the actual IP address of your Raspberry Pi.

Local web access
http://RASPBERRY_IP_ADDRESS:8080

You should now see live aircraft received by your station.

6
Step 6

Enable MLAT

MLAT lets your station contribute to multilateration networks and can provide positions for aircraft that do not broadcast ADS-B coordinates directly. It is optional, but highly recommended.

Enable MLAT
sudo piaware-config allow-mlat yes
sudo systemctl restart piaware

MLAT is network-based, so its effectiveness depends on several receivers hearing the same aircraft at the same time.

ADS-B vs Mode S vs MLAT

Mode How position is obtained Typical data Main strength Main limitation
ADS-B The aircraft calculates its own coordinates using GNSS/GPS and broadcasts them directly. Position, altitude, speed, track, callsign, ICAO address and more. Best direct real-time tracking information. Only works when the aircraft is broadcasting ADS-B position data.
Mode S No direct position in plain Mode S. The aircraft replies to interrogations with transponder data. ICAO address, altitude, squawk, sometimes callsign and status fields. Lets you detect aircraft even without full ADS-B coordinates. Often no map position by itself.
MLAT A network calculates position from the signal arrival time at multiple receivers. Derived position plus identity data from the transponder signal. Can plot aircraft that do not broadcast ADS-B coordinates. Requires several synchronized stations and good network geometry.

Performance Tips

  • Install the antenna outdoors and as high as possible.
  • Keep coax losses low by using short, good-quality cable.
  • Use a 1090 MHz filter if your RF environment is noisy.
  • Use an LNA close to the antenna, not at the receiver end if possible.
  • Keep the Raspberry Pi power supply stable and reliable.
  • Avoid placing the dongle next to strong interference sources.

What to Expect

With a basic indoor setup you may still receive useful traffic, but the biggest improvement almost always comes from the antenna. A rooftop 1090 MHz antenna with a clean horizon can transform both range and message rate.

Better antenna location = more aircraft, longer range, cleaner message decoding.

Integration with Airradar

Once dump1090-fa is running, the decoder generates the local aircraft data that your Airradar pages can read. From there you can build radar views, aircraft tables, tickers, military filters, statistics panels and custom pages exactly in the style of your site.

1090 MHz antenna → RTL-SDR → dump1090-fa → local JSON / data feed → Airradar web pages