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.
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.
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.
lsusb
Before installing decoder software, update the operating system fully.
sudo apt -y update sudo apt -y full-upgrade
Add the FlightAware package repository so you can install dump1090-fa and related software packages cleanly.
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
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.
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.
Replace the address below with the actual IP address of your Raspberry Pi.
http://RASPBERRY_IP_ADDRESS:8080
You should now see live aircraft received by your station.
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.
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.
| 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. |
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.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