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:
ssh tom@flightpi.local
Update the system first:
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:
lsusb
You should see a line like:
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:
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:
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:
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:
wget -qO- https://fr24.com/install.sh | sudo bash -s
The setup wizard will ask you a series of questions:
- Email address — enter the email for your Flightradar24 account
- Sharing key — if this is your first time, leave blank and a new key will be generated. Save this key somewhere safe.
- Do you want to participate in MLAT? — yes (Multilateration helps track aircraft without ADS-B)
- Latitude and longitude — enter your antenna's position to 4 decimal places
- Altitude — your antenna height above sea level in feet
- Receiver type — since dump1090-fa is already running, select ModeS Beast (TCP) and use host
127.0.0.1port30005
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:
sudo systemctl enable fr24feed
sudo systemctl start fr24feed
Check the status:
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:
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:
sudo systemctl status dump1090-fa
sudo systemctl status fr24feed
To view fr24feed logs:
sudo journalctl -u fr24feed -f
Updating fr24feed
Flightradar24 periodically releases updated versions. Older versions may stop working. To update:
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
lsusbto confirm the SDR dongle is detected. Check that dump1090-fa is running withsudo systemctl status dump1090-fa. Make sure no other software (like rtl_test) is holding the USB device. - fr24feed not connecting: Run
fr24feed-statusand check the output. Verify your sharing key in/etc/fr24feed.ini. Make sure the receiver type is set tobeast-tcppointing at127.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.