How to Build a Flight Tracker with Raspberry Pi Zero 2 W and Flightradar24

How to Build a Flight Tracker with Raspberry Pi Zero 2 W and Flightradar24

The Raspberry Pi Zero 2 W is the perfect board for a dedicated ADS-B flight tracker. It draws very little power, runs headless over Wi-Fi, and has more than enough processing power to decode aircraft transponder signals in real time. By feeding that data to Flightradar24 you get a free Business subscription to their service and contribute to global flight tracking coverage.

This guide walks through every step: hardware, software, antenna, and optimization.


What is ADS-B?

ADS-B (Automatic Dependent Surveillance-Broadcast) is a system where aircraft broadcast their position, altitude, speed, and identification on 1090 MHz. Anyone with a cheap SDR (Software Defined Radio) receiver and the right software can pick up these signals and decode them.


What You Need

  • Raspberry Pi Zero 2 W (the quad-core model with Wi-Fi)
  • Micro SD card (16 GB or larger, Class 10)
  • RTL-SDR USB dongle — an RTL2832U-based receiver (the RTL-SDR Blog V4 is recommended for its better filtering)
  • USB OTG adapter — Micro-USB male to USB-A female, to connect the SDR dongle to the Pi Zero
  • 1090 MHz ADS-B antenna — a purpose-built antenna dramatically outperforms the small whip antennas bundled with SDR dongles
  • 5V 2.5A power supply with Micro-USB connector
  • Raspberry Pi OS Lite flashed to the SD card (see our OS setup guide)

Optional but recommended:

  • A weatherproof enclosure if mounting outdoors
  • A USB extension cable to separate the antenna from the Pi (reduces electrical noise)

Step 1: Flash Raspberry Pi OS and Enable SSH

Flash Raspberry Pi OS Lite (64-bit) to your SD card using the Raspberry Pi Imager. In the imager settings, configure:

  • Hostname: flightpi
  • Enable SSH with password authentication
  • Wi-Fi credentials for your network
  • Username/password for login

Insert the SD card into the Pi Zero 2 W, connect the power supply, and wait a minute for it to boot. Then SSH in:

Bash
ssh tom@flightpi.local

Update the system first:

Bash
sudo apt update && sudo apt upgrade -y

Step 2: Connect the RTL-SDR Dongle

Plug the RTL-SDR dongle into the Pi Zero 2 W using the USB OTG adapter. Verify that the system detects it:

Bash
lsusb

You should see a line like:

Code
Bus 001 Device 002: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

If you do not see it, try a different OTG adapter or check your power supply — the Pi Zero can be sensitive to underpowered USB devices.


Step 3: Install dump1090-fa

dump1090-fa is a Mode S decoder that processes raw signals from the SDR dongle and outputs decoded aircraft data. It also provides a local web-based map interface.

Install the required dependencies and dump1090-fa:

Bash
sudo apt install -y lighttpd dump1090-fa

If dump1090-fa is not available in your distribution's repositories, install it from the FlightAware package repository:

Bash
wget https://www.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 update
sudo apt install -y dump1090-fa

Once installed, dump1090-fa starts automatically as a systemd service. Verify it is running:

Bash
sudo systemctl status dump1090-fa

You can now open a browser on your local network and navigate to http://flightpi.local:8080 to see a live map of aircraft your receiver is picking up.


Step 4: Install and Configure fr24feed

Flightradar24 provides an official installer script. Run it:

Bash
wget -qO- https://fr24.com/install.sh | sudo bash -s

The setup wizard will ask you a series of questions:

  1. Email address — enter the email for your Flightradar24 account
  2. Sharing key — if this is your first time, leave blank and a new key will be generated. Save this key somewhere safe.
  3. Do you want to participate in MLAT? — yes (Multilateration helps track aircraft without ADS-B)
  4. Latitude and longitude — enter your antenna's position to 4 decimal places
  5. Altitude — your antenna height above sea level in feet
  6. Receiver type — since dump1090-fa is already running, select ModeS Beast (TCP) and use host 127.0.0.1 port 30005

Important: Do not select "DVB-T stick" as the receiver type. Since dump1090-fa is already managing the SDR dongle, fr24feed should connect to its data output over TCP instead of trying to access the USB device directly.

After the wizard completes, start the service:

Bash
sudo systemctl enable fr24feed
sudo systemctl start fr24feed

Check the status:

Bash
fr24feed-status

You should see output showing the feed is connected and sending data. Flightradar24 will send you an email with your sharing key and a link to activate your free Business plan.


Step 5: Verify Your Feed

Visit your Flightradar24 account dashboard to confirm your station appears on the receiver map. You can also check the local status page:

Code
http://flightpi.local:8754

This shows connection status, aircraft count, and MLAT status.


Antenna Placement Tips

Antenna placement is the single biggest factor in how many aircraft you can track. A good antenna position can easily double or triple your range compared to a poor one.

  • Height is everything. Mount the antenna as high as possible — on a roof, in an attic, or on a window sill with clear sky visibility. ADS-B is line-of-sight at 1090 MHz.
  • Use a proper 1090 MHz antenna. The small whip antennas that ship with SDR dongles are designed for FM radio, not 1090 MHz. A purpose-built ADS-B antenna (like the FlightAware 1090 MHz antenna) makes a massive difference.
  • Keep the coax cable short. Signal loss increases with cable length. If possible, mount the Pi and SDR dongle close to the antenna and use the Pi's Wi-Fi to send data over the network.
  • Avoid obstructions. Trees, buildings, and metal roofing all block or attenuate the signal. A clear view of the horizon in all directions is ideal.

Running at Boot and Monitoring

Both dump1090-fa and fr24feed install as systemd services and start automatically on boot. To check that everything is running after a reboot:

Bash
sudo systemctl status dump1090-fa
sudo systemctl status fr24feed

To view fr24feed logs:

Bash
sudo journalctl -u fr24feed -f

Updating fr24feed

Flightradar24 periodically releases updated versions. Older versions may stop working. To update:

Bash
sudo systemctl stop fr24feed
wget -qO- https://fr24.com/install.sh | sudo bash -s
sudo systemctl start fr24feed

Your sharing key and configuration are preserved in /etc/fr24feed.ini.


Power Consumption

The Pi Zero 2 W draws roughly 0.5–1.2 W under load, making it an extremely efficient always-on receiver. Combined with an RTL-SDR dongle (about 1.5 W), the total system power consumption is under 3 W — easily powered by a USB phone charger. This is one of the main reasons the Pi Zero 2 W is such a popular choice for dedicated ADS-B feeders.


Troubleshooting

  • No aircraft showing up: Run lsusb to confirm the SDR dongle is detected. Check that dump1090-fa is running with sudo systemctl status dump1090-fa. Make sure no other software (like rtl_test) is holding the USB device.
  • fr24feed not connecting: Run fr24feed-status and check the output. Verify your sharing key in /etc/fr24feed.ini. Make sure the receiver type is set to beast-tcp pointing at 127.0.0.1:30005.
  • Very short range: This is almost always an antenna problem. Move the antenna higher, use a proper 1090 MHz antenna, and reduce coax cable length.
  • MLAT not working: MLAT requires your exact position (latitude, longitude, altitude) to be accurate. Double-check these values in /etc/fr24feed.ini. You also need at least 3 nearby receivers for MLAT to function.
  • Pi Zero freezing or crashing: Ensure you are using a quality 5V 2.5A power supply. The combination of Wi-Fi, USB, and CPU decoding can cause instability with weak power supplies.
  • USB device not found after reboot: Some OTG adapters have reliability issues. Try a different adapter or a short USB hub between the Pi and the SDR dongle.

Conclusion

A Raspberry Pi Zero 2 W makes an excellent dedicated flight tracker. It is small, silent, draws almost no power, and runs reliably 24/7. Once set up, it requires virtually no maintenance — just the occasional fr24feed update. With a good antenna and placement, you can easily track aircraft over 200 nautical miles away, and your free Flightradar24 Business subscription lets you enjoy premium features in return for sharing your data.