Build Your Station

Build your own local ADS-B aircraft receiver.

This guide creates a station that receives 1090 MHz aircraft transmissions, decodes them on a Raspberry Pi and shows nearby aircraft on your own tar1090 map. The station is useful locally before you join any shared network.

AircraftTraffic principle: local radar first. Joining the community network is a separate, optional step.
1

Hardware

You only need a receiver chain and a small Linux computer.

1090 MHz
antenna
→
50 Ω
coax
→
ADS-B
USB SDR
→
Raspberry Pi
1090 MHz antennaAn outdoor antenna designed for ADS-B / Mode-S reception is preferred.
50-ohm coaxial cableKeep cable loss reasonable, especially on longer runs. LMR-400 is an excellent option.OUR TESTED SETUP: LMR-400
ADS-B SDRAn RTL-SDR-compatible 1090 MHz receiver works well. A receiver with a 1090 MHz filter/LNA can simplify the station.OUR TESTED SETUP: QS9010
Raspberry PiA Pi capable of running current Debian/Raspberry Pi OS, readsb and a small web server is sufficient.
StorageA reliable microSD card. A small installation does not require large storage.
NetworkEthernet or Wi-Fi. Internet is useful for installation, but the local aircraft map itself can be used on your LAN.
Antenna safety: an outdoor antenna should be mounted and grounded appropriately for the installation. Do not work on an exposed antenna or mast during thunderstorms.
2

Prepare the Raspberry Pi

Start with a current 64-bit Raspberry Pi OS Lite or Debian installation.

Update the system first

Terminal
sudo apt update
sudo apt full-upgrade -y
sudo reboot

After the reboot, reconnect by keyboard/monitor or SSH and continue.

Our first AircraftTraffic test station was built on a Debian-based Raspberry Pi system. The guide intentionally stays close to standard Debian/Raspberry Pi packages.
3

Connect and test the SDR

Before installing the aircraft software, confirm Linux can actually read the receiver.

Install RTL-SDR utilities
sudo apt install -y rtl-sdr
lsusb

Then perform a continuous sample test:

Receiver test
rtl_test -s 2400000
A healthy receiver should start reading samples continuously. Use Ctrl+C to stop the test. On our QS9010 test unit the USB device identified as an RTL2832U/R820T-class receiver and this test passed.
4

Install readsb

readsb receives Mode-S / ADS-B data from the SDR and turns it into aircraft information.

Recommended route: official readsb installer

The maintained readsb project recommends its automatic installation procedure for a Raspberry Pi / Debian receiver. Use the upstream instructions so package names and service details stay current.

What success looks like: readsb is running as a service, your RTL-SDR is in use, and readsb is producing live aircraft data. In our tested baseline, JSON output was updated every second.
Useful checks after installation
systemctl status readsb --no-pager
ls -lah /run/readsb
cat /run/readsb/aircraft.json | head

Depending on the installation method, the live JSON directory may differ. The normal AircraftTraffic baseline uses /run/readsb.

5

Install tar1090

tar1090 is the local browser map. It reads the aircraft data produced by readsb.

Official tar1090 installation

The tar1090 project provides an installation script for Debian / Raspberry Pi systems.

Official upstream command
sudo bash -c "$(wget -nv -O - https://github.com/wiedehopf/tar1090/raw/master/install.sh)"
tar1090 is the web interface; it does not replace readsb. Keep readsb running underneath it.
6

Open your own live aircraft map

Find the Raspberry Pi's LAN address and open tar1090 from another device.

Find Pi addresses
hostname -I

If the Pi address is, for example, 192.168.1.50, open:

Browser
http://192.168.1.50/tar1090/
The phone, tablet or computer must be able to reach the Raspberry Pi on the local network. No AircraftTraffic account is required for this local view.
7

Verify the station

Before changing anything else, prove the simple local receiver works reliably.

✓
The SDR is detected and rtl_test can read samples.
✓
readsb is active.
✓
aircraft.json is being refreshed.
✓
tar1090 opens from another device on the LAN.
✓
Aircraft begin appearing when 1090 MHz traffic is within reception range.

At this point, the station is complete.

You now have your own local aircraft receiver and live radar. You do not need to join AircraftTraffic.com for the station to remain useful.

8

What comes next?

Only after the local station passes should we add optional network features.

Improve the antenna positionHeight, a clear view and cable loss can make a large difference to reception.
Review station coverageUse tar1090 track history to see where your receiver is actually hearing aircraft.
Join AircraftTrafficLater, enable an outbound-only feed to contribute to the community map without exposing the Pi to the public internet.
Keep local tar1090Joining the network will not replace your own local map.