Turning the Skies Into Your Personal Data Feed: Build a Local Flight-Tracking Dashboard With Raspberry Pi and Pi-Sky
![]()
Main Facts: Bringing Air Traffic Control Into Your Living Room
Ever looked up into the clouds, watched a gleaming jet streak overhead, and wondered: Where is it coming from, and where is it going?
While commercial flight-tracking platforms like Flightradar24 and FlightAware offer global visibility, relying on third-party services often limits your access to live, unfiltered, local data unless you pay for premium subscriptions. For makers, aviation enthusiasts, and privacy-conscious technologists, a far more compelling solution exists.

Enter Pi-Sky, a powerful open-source local flight-tracking dashboard built by James Mitchell. By pairing a modern Raspberry Pi computer with a dedicated 1090MHz ADS-B (Automatic Dependent Surveillance–Broadcast) USB receiver, builders can intercept unencrypted radio broadcasts straight from the skies above.
The Pi-Sky application ingests this raw data, enriches it using open-source community APIs, stores historical telemetry locally in an SQLite database, and streams a fully interactive web dashboard complete with live maps, flight history, and replay capabilities. Best of all, the entire setup runs locally on your own hardware, putting you entirely in control of your airspace data.

Chronology: From Bank Holiday Idea to Local Radar Grid
The project gained widespread attention following a feature in Raspberry Pi Official Magazine (Issue #168). While Pi Towers in the UK was enjoying a quiet Bank Holiday weekend, the editorial team made the executive decision to celebrate "Maker Monday" on a Tuesday—shining a spotlight on Mitchell’s elegant flight-tracking suite.
- The Broadcast Layer (The Physics): Modern commercial aircraft continuously broadcast their status via ADS-B on the 1090MHz frequency. These bursts contain critical telemetry, including ICAO hex addresses, GPS coordinates, altitude, speed, and callsigns.
- The Reception Layer (The Hardware): Using a USB dongle like the FlightAware Pro Stick Plus plugged into a Raspberry Pi, hobbyists capture these radio waves within a 100-to-250-kilometer radius, depending on antenna placement and local terrain.
- The Decoding Layer (The Software): Software decoders like
dump1090process the radio signals and convert them into structured JSON feeds locally. - The Pi-Sky Integration: Mitchell developed Pi-Sky as a unified Python web application to read that local JSON data, query complementary databases for missing metadata (such as airline routes and aircraft models), and render a feature-rich browser dashboard.
Supporting Data: How ADS-B and Pi-Sky Work Together
To understand why a local setup like Pi-Sky is so revolutionary, it helps to examine the data flow and the limitations of raw radio transmissions.

What is in an ADS-B Broadcast?
When an aircraft transmits an ADS-B signal, it acts as an open digital postcard. It broadcasts:
- ICAO Hex Address: A unique alphanumeric identifier assigned to the physical airframe.
- Callsign: The air traffic control identifier (e.g., RYR3EM).
- GPS Position, Altitude, and Heading: Real-time spatial metrics.
- Vertical Rate & Squawk Code: Information regarding ascent/descent and emergency status.
However, raw ADS-B transmissions do not include flight origins, destinations, aircraft manufacturer details, or scheduled arrival times. This is where Pi-Sky’s enrichment engine steps in.

Data Enrichment via Open APIs
Pi-Sky bridges the gap between raw coordinates and meaningful intelligence by querying lightweight, community-driven services:
adsb.lol: Built by aviation hobbyists, this crowdsourced platform provides a free API containing historical flight routes. When Pi-Sky detects an aircraft with a valid callsign and GPS position, it queriesadsb.lolto append origin and destination data.- OpenFlights: Airport codes returned by telemetry (such as EDDB or STN) are cross-referenced with the OpenFlights database to display human-readable names like Berlin Brandenburg or London Stansted.
- PlaneSpotters.net & Wikimedia Commons: If an aircraft’s registration is known, Pi-Sky automatically pulls high-resolution photographs to display in your historical flight logs.
Why Avoid OpenSky Network?
While platforms like the OpenSky Network are popular for academic and institutional research, their terms of service explicitly restrict free access to non-commercial research, education, and non-profits—frequently requiring formal, written licenses even for personal, always-on hobbyist setups. For self-hosted dashboards, adsb.lol provides a much smoother, open-terms alternative.

Official Responses and Ecosystem Perspectives
The Raspberry Pi community has long championed projects that merge physical computing with software engineering. By turning an affordable, credit-card-sized computer into an air traffic radar station, makers bridge the physical and digital worlds.
Pimoroni’s hardware ecosystem is also natively supported by Pi-Sky. Users can hook up a Pimoroni Inky e-ink display to cycle through live flight cards and miniature local airspace maps without needing to keep a web browser open.

Furthermore, feeding your local ADS-B receiver data back into networks like FlightAware or adsb.lol yields community benefits. For instance, contributing data to FlightAware grants users an Enterprise Subscriber status, unlocking an ad-free experience on their official mobile applications.
Implications: Privacy, Self-Hosting, and the Future of DIY Aviation
Building a local flight tracker has profound implications for data sovereignty, education, and hobbyist engineering.

1. Complete Data Ownership
Commercial tracking apps monetize user attention and tightly control access to historical archives. With Pi-Sky and a Raspberry Pi, every data point—ranging from the aircraft flying over your chimney to multi-day SQLite historical logs—lives entirely on your local network. You can configure data retention policies (defaulting to seven days) and lock down configuration pages if your dashboard is exposed publicly.
2. Educational and Technical Value
Setting up a Pi-Sky server requires navigating Linux terminal commands, configuring Python virtual environments, managing systemd background services, and understanding radio frequency (RF) propagation. It serves as an exceptional multidisciplinary project for students and professionals looking to sharpen their skills in networking, API integration, and database management.

3. Hardware Accessibility
Gone are the days when tracking local air traffic required expensive, proprietary military or commercial hardware. With a standard Raspberry Pi, a $30–$50 USB SDR (Software Defined Radio) dongle like the FlightAware Pro Stick Plus, and a basic antenna, anyone can transform their home into an aviation observatory.
Getting Started: Quick Installation Guide
If you are ready to scan the skies from your desk, setting up Pi-Sky is remarkably straightforward.

- Prepare Your Pi: Flash a fresh copy of Raspberry Pi OS onto a microSD card using the Raspberry Pi Imager. Boot up your Raspberry Pi and open a terminal.
- Connect the Hardware: Plug your 1090MHz ADS-B USB receiver (such as the FlightAware Pro Stick Plus) into an available USB port. Position your antenna near a window—or outdoors if possible—remembering that higher placement equals better range.
- Run the Automated Installer: Execute the following one-line installation script in your terminal to handle dependencies, install
dump1090-fa, configure Python environments, and register background services:$ curl -fsSL https://raw.githubusercontent.com/monkeymademe/pi-sky/main/install.sh | sudo bash - Access Your Dashboard: Once the script finishes, open a web browser on any device connected to your local network and navigate to
http://<your-pi-ip>:5050/.
To fine-tune your tracking boundaries, head over to /config.html on your local dashboard to input your exact coordinates and center the map around your local airspace.
For more inspiring open-source hardware builds and deep dives into the maker ecosystem, check out past and present issues of Raspberry Pi Official Magazine, available to read online or via their global print subscription packages.
