Skip to main content
Build a Live ADS-B Flight Tracker on a Raspberry Pi 4 in 2026

Build a Live ADS-B Flight Tracker on a Raspberry Pi 4 in 2026

A 2026 maker build covering raspberry pi ads-b flight tracker.

Building a live ADS-B flight tracker on a Raspberry Pi 4 in 2026 takes four parts: a Raspberry Pi 4 Model B 8GB running PiAware or readsb, an RTL-SDR USB…

Building a live ADS-B flight tracker on a Raspberry Pi 4 in 2026 takes four parts: a Raspberry Pi 4 Model B 8GB running PiAware or readsb, an RTL-SDR USB dongle tuned to 1090MHz, a 1090MHz-cut antenna with the cleanest sky view you can mount, and an SSD for 24/7 logging instead of an SD card. Per the official FlightAware PiAware build guide, the software stack is a one-image install and the entire feeder is achievable for under $150.

The viral-tracker moment and why ADS-B is a great first RF project

A wave of community-built airport trackers — most prominently the aviation enthusiast whose Raspberry Pi + ADS-B radio caught a viral moment when it surfaced unannounced traffic over a major hub in early 2026 — has pushed ADS-B back into the maker spotlight. The hardware setup behind those builds is identical to what you would assemble for a quiet home feeder, and the makers row coverage from Tom's Hardware has highlighted how approachable the project has become for first-time RF tinkerers.

ADS-B (Automatic Dependent Surveillance-Broadcast) is the public position-broadcast protocol that virtually all commercial aircraft now use to announce their ICAO address, GPS position, altitude, heading, and speed on the 1090MHz frequency. Because the data is broadcast in the clear, anyone with a receiver in line of sight can decode it — no transmit license, no special hardware beyond a software-defined radio dongle that costs less than a pizza. That makes it the textbook first RF/SDR project: there is real signal to chase, the decoded output is satisfying (a live moving map of jets overhead), the receive-only nature avoids regulatory complications in most jurisdictions, and the network effects are immediate because every major aggregator (FlightAware, FlightRadar24, ADSBexchange) hands out paid subscriptions in return for feeding your data.

The Raspberry Pi 4 8GB earns its place here because an always-on feeder is exactly the workload it was designed for: low idle wattage, USB 3.0 for the SDR and an SSD, gigabit Ethernet, and enough RAM headroom to run the decoder, a web map, multi-network feeders, and a Grafana dashboard simultaneously. Per the official Raspberry Pi 4 product page, the board delivers a 1.8GHz quad-core Cortex-A72 with true gigabit Ethernet and two USB 3.0 ports — the exact ports the SDR and SSD want.

Key Takeaways

  • Host: a Raspberry Pi 4 Model B 8GB gives the headroom to decode 1090MHz, run a tar1090 web map, and feed three or four networks concurrently with idle CPU to spare.
  • Radio: a 1090MHz-filtered RTL-SDR dongle (Blue or equivalent) plus a quarter-wave or coco antenna is the standard pairing; antenna placement matters far more than the radio model.
  • Storage: a WD Blue SN550 1TB NVMe for boot/cache or a SanDisk Ultra 3D 1TB SSD or Crucial BX500 1TB SSD for log archive is non-negotiable for 24/7 reliability — microSD cards die under the constant write load.
  • Software: PiAware (FlightAware's image) or readsb + tar1090 are the two mainstream stacks; both decode dump1090's output and feed any number of aggregator networks in parallel.
  • Range: indoor antennas typically clear 30-50 miles to the horizon; a rooftop install routinely reaches 200-250 nautical miles when clear sky is available, per published builder reports referenced by the FlightAware feeder build guide.
  • Budget: $130-$170 all-in for a fresh build using new parts; $80-$110 if you already own a Pi and an SSD.

What's the full bill of materials?

The build splits cleanly into the host computer, the radio chain, storage, and the supporting bits (power, case, networking). The table below is the reference BOM that the rest of this synthesis uses for cost and performance math. Sourcing notes follow the table.

ComponentRecommended partApprox. 2026 costWhy this part
Single-board computerRaspberry Pi 4 Model B 8GB$75-$85USB 3.0 + GbE + RAM headroom for multi-network feeders
SDR dongleRTL-SDR Blue v3 (1090MHz filtered)$35-$45Built-in 1090MHz SAW filter, TCXO for frequency stability
AntennaFlightAware 1090MHz antenna (or quarter-wave DIY)$45-$80 (DIY $5)Tuned to 1090MHz; outdoor mount gives the biggest range jump
CoaxLMR-240 / RG6 with SMA + F connectors, 10-25 ft$20-$40Low loss at 1090MHz; length determines insertion loss budget
Storage (boot)WD Blue SN550 1TB NVMe (USB enclosure)$55-$75NVMe via USB 3.0 enclosure eliminates SD-card death
Storage (logs)SanDisk Ultra 3D 1TB SSD or Crucial BX500 1TB$55-$70High TBW for continuous append-write log workload
Power supplyOfficial 5.1V 3A USB-C PSU$10-$12Undervoltage is the #1 cause of "random reboots" reports
CaseAluminum heatsink case$15-$25Passive cooling matters for 24/7 thermal headroom
NetworkWired GbE (preferred) or 5GHz Wi-Fi$0Wired avoids dropped frames during feed bursts

The radio chain is the part most builders underspend on; the host computer is the part most builders overspend on. A working feeder with the 8GB Pi, an RTL-SDR Blue, a window-mounted quarter-wave antenna, and an SSD lands at roughly $145 before tax.

Why the Raspberry Pi 4 8GB is the right host

A bare ADS-B decoder is a light workload — dump1090 typically uses 8-15% of one Cortex-A72 core for normal traffic loads. The reason the 8GB Pi is the recommended host anyway is that nobody actually runs a bare decoder. The typical deployment runs dump1090-fa (or readsb) for decoding, tar1090 for the web map, graphs1090 for the long-term performance dashboard, the PiAware feeder, FR24feed, FlightRadar24's feeder, ADSBexchange's feeder, plus a Mutability or piaware-config service for the multilateration uplink. Each is light, but together they fit a 1-2GB RAM working set with disk caches, and a 4GB Pi runs hotter and closer to OOM under load.

The 8GB model also keeps headroom for the obvious adjacent projects: an MQTT broker, a Grafana + InfluxDB stack to graph reception rate over time, a Pi-hole instance on the same box, or a second SDR-based project (NOAA weather satellites at 137MHz, marine AIS at 162MHz). Per the Raspberry Pi 4 product page, the LPDDR4-3200 memory bandwidth is significantly higher than the Pi 3's LPDDR2, which matters when the page cache is the bottleneck for SSD-backed log writes.

USB 3.0 placement is the second reason. The RTL-SDR wants USB 3.0-class isolation (USB 2.0 ports on cheaper SBCs can introduce noise at 1090MHz), and an external NVMe-in-enclosure boot drive wants USB 3.0 bandwidth. The Pi 4 has two USB 3.0 ports right next to each other — perfect for SDR + SSD.

Software stack: dump1090, tar1090, and feeding networks

The mainstream 2026 stack is one of two near-equivalent paths:

  1. PiAware (FlightAware's prebuilt image). The official FlightAware PiAware build guide walks you through a Raspberry Pi Imager flash of the PiAware Sandisk image. It boots into a hardened Raspbian with dump1090-fa, the PiAware feeder, and a web UI on port 80 already configured. Pairing the device to your FlightAware account is one command. From there you bolt on additional feeders (FR24, ADSBexchange, OpenSky) as needed.
  1. Vanilla Raspberry Pi OS + readsb + tar1090. Builders who want a more modern decoder and a richer map UI typically run readsb (a higher-performance fork of dump1090) with tar1090's prettier web map. The setup is a handful of apt installs from the wiedehopf repos. This path is preferred when you want to feed many networks; readsb's beast-output multi-listener handles N feeders without N copies of the raw data stream.

In both cases, the underlying decoder is functionally dump1090: it tunes the SDR to 1090MHz, demodulates the PPM-encoded Mode S messages, and emits decoded position reports on multiple ports (30002 for raw, 30003 for SBS-1 BaseStation format, 30005 for Beast binary). Feeders subscribe to one of those ports and forward the data upstream. Your local web map subscribes to the JSON output on port 30106 (readsb) or /skyaware (PiAware).

How far can you actually receive?

Range is dictated by line of sight, not by transmitter power — ADS-B receivers are passive. The 1090MHz signal is line-of-sight limited by the Earth's curvature and intervening obstacles. The horizon distance in nautical miles for a receiver at height H feet looking at an aircraft at altitude A feet is roughly 1.23 × (√H + √A). Translation: a rooftop antenna at 30 feet looking at a cruise-altitude jet at 35,000 feet has a theoretical horizon of about 237 nautical miles. Reality usually lands at 60-80% of theoretical because of antenna gain pattern, coax loss, and local RF noise.

Antenna placementTypical observed range (NM)Notes
Indoor windowsill, quarter-wave30-60Building absorption is severe at 1090MHz
Attic, tuned 1090MHz antenna80-130Better than indoor; still attenuated by roofing
Rooftop, FlightAware 26" antenna180-250Clear sky view is the win
Tower-mounted, gain antenna + LNA250-300+LNA + filter compensates for long coax run

These figures align with builder reports referenced by the FlightAware PiAware build guide and community range maps. The single biggest free upgrade is moving the antenna from indoors to outdoors with clear sky view; the second is using LMR-240 or RG6 instead of cheap RG58 to cut coax loss; the third is adding a 1090MHz bandpass filter + LNA at the antenna feed point to suppress out-of-band interference before the coax run.

Logging and data retention: why an SSD beats an SD card for 24/7 feeds

This is the failure mode that takes most first-time builds offline within 6-18 months: microSD card death. An ADS-B feeder writes continuously — graphs1090 RRD updates every minute, dump1090's state, syslog, the journald journal, and (if enabled) the local SBS BaseStation history. Most consumer microSD cards have a TBW (terabytes written) endurance somewhere between 30 and 150 TB; a busy feeder writes 5-20 GB per day depending on logging granularity, which sounds low but lands at 1.8-7 TB per year of host writes plus write amplification on the FAT/exFAT table that can multiply real flash wear by 3-10×. Cards die quietly: filesystem errors appear, the Pi starts read-only, and the feeder goes silent.

A consumer SATA SSD like the SanDisk Ultra 3D 1TB SSD or Crucial BX500 1TB SSD carries hundreds of TBW of endurance and far better wear leveling — comfortably more than a decade of feeder writes. A USB 3.0-attached WD Blue SN550 1TB NVMe in a USB-NVMe enclosure is the higher-performance option and is now the de facto preferred boot drive for always-on Pi 4 projects because the SATA-vs-NVMe price gap has narrowed to single dollars.

Boot the Pi from the SSD (USB boot is enabled by default on Pi 4 firmware ≥ 2020-09) and disable swap. That removes the SD card from the critical path entirely. Many builders keep the SD card slot empty.

Power and networking for an always-on tracker

The Pi 4 is fussy about power. Voltage sag below 4.85V triggers an under-voltage warning in dmesg, which corresponds to USB peripheral drop-outs (including the SDR) and silent decoder restarts. The official 5.1V 3A USB-C PSU is rated specifically to keep the 5V rail above threshold under transient load — generic 5V 3A bricks frequently sag during SDR-plus-SSD bursts. If the goal is round-the-clock uptime, pair the official PSU with a small UPS HAT or a wall-plug UPS so brief outages do not corrupt the SSD's mid-write state.

Networking should be wired wherever possible. Aggregator feeders are bursty under heavy traffic (e.g., near a busy approach pattern with 50+ simultaneous aircraft), and Wi-Fi retries during a burst show up as dropped messages in the feeder stats. Gigabit Ethernet on the Pi 4 is real and is well within the workload the dump1090 + feeders stack will ever produce.

Performance reality: CPU/RAM headroom on the Pi 4 8GB

Public benchmark builds and forum reports describe a fully loaded feeder — dump1090-fa + tar1090 + graphs1090 + PiAware + FR24feed + adsbexchange-feeder — consuming roughly 15-25% of one A72 core during moderate traffic and roughly 800-1200 MB of RAM (mostly tar1090's history cache and graphs1090 RRDs). That leaves 6+ GB free for whatever else lives on the box. Adding a Grafana + InfluxDB pair to graph long-term reception rate pushes RAM to roughly 1.6-2.0 GB resident. The 8GB Pi is the comfortable host for all of the above; a 4GB Pi handles the core feeder workload fine but starts to feel cramped when you add the graphing stack.

Thermal headroom matters because Cortex-A72 throttles at 80°C. An aluminum heatsink case (passive) keeps a Pi 4 in the 55-65°C range under sustained load. A bare Pi in a plastic case in a hot room can hit thermal throttle, at which point the decoder drops messages because it can no longer keep up with the demodulation rate during traffic spikes.

Cost vs a commercial receiver (perf-per-dollar)

A turnkey ADS-B feeder appliance (e.g., a commercial network's branded receiver) lands at $200-$400 plus a recurring data fee in some cases. A DIY Pi 4 8GB feeder with the BOM above lands at $130-$170 in 2026 and you keep the data. Per the Tom's Hardware makers coverage, builders consistently report that the DIY path delivers equal-or-better range (because you control antenna placement) at one third to one half the all-in cost, and the same hardware then runs a dozen adjacent SDR and homelab projects.

The hidden cost is your time: a first-timer should budget 3-5 hours for the software install and antenna placement, plus another 1-2 hours to wire up feeder accounts. That time is a one-shot — once it's running, the maintenance burden is essentially nil.

Common pitfalls and gotchas

  1. Antenna in the wrong place. An indoor antenna shoved against a window is the single most common range complaint. Move it outside and observed range usually triples.
  2. Cheap coax. RG58 has roughly 16-20 dB of loss per 100 ft at 1090MHz. A 25 ft run of RG58 can easily eat 5 dB — half your signal. Use LMR-240, LMR-400, or RG6.
  3. Under-voltage on a generic PSU. If vcgencmd get_throttled returns anything other than 0x0, swap to the official Raspberry Pi 5.1V 3A USB-C PSU.
  4. Booting from SD. The card will die. Plan for it: boot from a USB SSD from day one.
  5. No bandpass filter near big transmitters. If you live near an AM broadcast tower, cellular site, or pager network, out-of-band overload can flatten ADS-B reception. A 1090MHz SAW filter at the antenna feed point (often paired with an LNA) restores normal range.

Verdict matrix: build this if... / buy a turnkey receiver if...

Build the DIY Pi 4 8GB feeder if you want a roughly $150 always-on radio project that turns into a real ADS-B contribution to public networks, you intend to use the same box for adjacent SDR/homelab tasks (NOAA weather sat reception, AIS, Pi-hole, a Grafana dashboard), you care about antenna placement and want full control of the RF chain, or you simply want the maker satisfaction of building something useful out of a $35 dongle and a single-board computer. The Raspberry Pi 4 Model B 8GB plus a WD Blue SN550 1TB NVMe boot drive is the configuration that will still be the right answer in three years.

Buy a turnkey commercial receiver if you have zero interest in the software side and just want a closed appliance to plug into your network, you cannot mount an outdoor antenna (in which case neither path will reach impressive range), or you specifically need a fully managed device with vendor support. The cost premium is real, the upgrade path is narrower, and you do not get the bonus capability of using the same hardware for other RF projects.

Bottom line and recommended starter BOM

Starter BOM that gets a new builder from box-of-parts to feeding three networks in a weekend:

  • Raspberry Pi 4 Model B 8GB — the host.
  • Official 5.1V 3A USB-C PSU and an aluminum heatsink case — power and thermals.
  • RTL-SDR Blue v3 with 1090MHz SAW filter — the radio.
  • FlightAware 26" 1090MHz antenna, mounted as high as you can reach — the range multiplier.
  • LMR-240 or RG6 coax, 15-25 ft with SMA + F connectors — low-loss path indoors.
  • WD Blue SN550 1TB NVMe in a USB 3.0 NVMe enclosure for boot, or a SanDisk Ultra 3D 1TB SSD / Crucial BX500 1TB SSD for log archive — the SD-card replacement.
  • PiAware image flashed via Raspberry Pi Imager, paired to a FlightAware account, with FR24feed and ADSBexchange feeders added — the software.

Total cash outlay: roughly $145-$170 for a fresh build. Time investment: an afternoon for assembly + initial flash, plus a second short session to tune antenna placement once you see your first day of reception graphs.

Related guides

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Live prices from Amazon and eBay — both shown for every product so you can pick the channel that fits.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Frequently asked questions

What do I need besides the Raspberry Pi for ADS-B?
The core additions are an RTL-SDR USB dongle tuned for 1090MHz and a suitable antenna, plus reliable storage and power. The Raspberry Pi 4 8GB runs the decoding software and a local map. A better-placed antenna with clear sky view matters more for range than almost anything else. Add an SSD for logging and a solid power supply, and you have a complete always-on feeder.
Is the Pi 4 8GB overkill for ADS-B?
ADS-B decoding itself is light, so a smaller Pi can do the basics, but the 8GB model gives comfortable headroom to also run a web map, log history, and feed multiple aggregator networks simultaneously without strain. If you plan to expand into other RF or homelab tasks on the same box, the extra RAM is welcome. For a single dedicated feeder, it's generous but future-proof.
Why use an SSD instead of an SD card for the feeder?
An always-on tracker writes logs and database updates continuously, and microSD cards degrade under that sustained write load, eventually corrupting and taking your setup offline. An SSD like the SanDisk Ultra 3D or Crucial BX500 handles 24/7 writes far more reliably and stores long flight history. Many builders boot the Pi from a USB SSD specifically to avoid the SD-card failure that plagues round-the-clock projects.
How far can a home ADS-B setup receive?
Range depends heavily on antenna quality and placement, with line-of-sight to the horizon being the main limiter. A modest indoor antenna might reach tens of miles, while a well-positioned outdoor antenna with clear sky view can pick up aircraft well over a hundred miles away. Elevation and avoiding obstructions matter more than the radio itself, so invest effort in antenna mounting for the biggest gains.
Is it legal to receive ADS-B at home?
Receiving ADS-B broadcasts is a passive, receive-only activity and is legal in most jurisdictions because aircraft transmit this position data openly. You're not transmitting anything. Many hobbyists feed the data to public flight-tracking networks in exchange for perks. As always, confirm the rules in your country, but ADS-B reception is one of the most accessible and widely practiced SDR hobbies.

Sources

— SpecPicks Editorial · Last verified 2026-06-05