Tracking planes with ADS-B
a Raspberry Pi–powered ADS-B receiver setup that turned my home into a live aircraft tracker.

Back in 2020, during the COVID-19 confinement, Zurich skies went unusually quiet. As someone who loves tinkering with hardware and data, I decided to track this change directly from my balcony. The result: a Raspberry Pi–powered ADS-B receiver setup that turned my home into a live aircraft tracker.
The hardware setup
To build a functional ADS-B receiver, I used:
- Raspberry Pi 3B+ (any model with network + USB works).
- RTL-SDR USB dongle (a cheap software-defined radio capable of receiving ADS-B signals at 1090 MHz).
- 1090 MHz antenna mounted on my balcony.
- MicroSD card with Raspbian installed.
- Power supply + optional case/fan for stability.
ADS-B stands for Automatic Dependent Surveillance–Broadcast: commercial aircraft continuously broadcast their position, altitude, and velocity. With a suitable antenna and SDR, you can capture this data right from your home.

Software stack
I followed the excellent adsb-receiver project, which automates setup of all the software components:
- dump1090-fa – decodes raw ADS-B messages from the SDR dongle.
- piaware – forwards decoded data to FlightAware (and optionally other services).
- graphs1090 – generates beautiful statistics of detected aircraft positions over time.
Setup is straightforward:
git clone https://github.com/jprochazka/adsb-receiver.git
cd adsb-receiver
chmod +x install.sh
./install.sh
The installer walks you through enabling components like dump1090, feeders, and local web stats.
Network and dashboard
Once configured, I exposed the Pi on my local network. From any browser on my LAN, I could visit:
- http://raspberrypi.local/dump1090-fa/ → live aircraft map.
- http://raspberrypi.local/graphs1090/ → daily/weekly statistics (like the graph in this post).
For remote access, I set up a reverse proxy and pushed the stats to a small VPS, allowing me to share a public URL updated every 5 minutes.
What the data showed
Before COVID, Zurich skies averaged ~740 detected flights/day. In April 2020, that number dropped to ~43/day — a >90% reduction. You could literally see the effect of global lockdowns in the data.

As restrictions eased, my Pi started picking up hundreds of flights again. By mid-May, daily detections were back to ~300 aircraft.
This was a striking reminder of how much global events can be visualized at the local level — all from a balcony antenna and a Raspberry Pi.
Why this is cool
- the entire setup costs less than CHF 100.
- you’re literally decoding radio signals out of thin air.
- sharing your feed with services like FlightAware improves global coverage.
- you can build your own real-time analytics for your local airspace.
Next steps
- Experiment with different antennas (coax lengths, gain settings).
- Feed multiple aggregators (FlightAware, ADS-B Exchange, Flightradar24).
- Automate anomaly detection — e.g., alert when unusual aircraft types show up.
- Integrate Grafana/Prometheus for long-term stats.
Building an ADS-B receiver with Raspberry Pi was one of the most rewarding “lockdown projects” I’ve done. It blended hardware hacking, radio signals, data visualization, and a live connection to global aviation — all from my Zurich balcony.