Tracking the Skies From Your Living Room: Building a Local Flight-Tracking Dashboard on Raspberry Pi
![]()
Main Facts
The modern sky is a bustling, invisible highway of data. Every second of every day, thousands of commercial and private aircraft slice through the atmosphere, broadcasting their precise locations, speeds, altitudes, and headings to anyone equipped to listen. While commercial web aggregators like Flightradar24 and FlightAware offer global visibility, their platforms often lock comprehensive historical data, ad-free experiences, or direct local control behind paywalls.
Enter Pi-Sky, a powerful open-source local flight-tracking dashboard developed by James Mitchell and featured in issue #168 of the Raspberry Pi Official Magazine. Operating on a standard Raspberry Pi coupled with an affordable USB ADS-B (Automatic Dependent Surveillance–Broadcast) receiver, Pi-Sky allows hobbyists, aviation enthusiasts, and tech tinkerers to capture live radio broadcasts from nearby aircraft overhead. The system decodes these signals locally, enriches the bare-bones telemetry using free community-driven APIs, stores historical movements in a local SQLite database, and presents everything via a sleek, self-hosted web interface complete with live maps, flight lists, timeline replays, and even e-ink display support.

Chronology
The project’s conceptual roots trace back to the widespread availability of software-defined radio (SDR) USB dongles and the ubiquity of open-source flight-decoding software like dump1090. For years, aviation enthusiasts have used Raspberry Pi single-board computers to feed global data-sharing networks. However, these setups traditionally acted as passive contributors rather than fully featured, self-contained local command centers.
Recognizing a gap for a streamlined, self-hosted user experience that prioritized local data ownership, James Mitchell conceptualized Pi-Sky.

- Development & Refinement: Mitchell engineered Pi-Sky as a unified Python application and web server capable of ingesting raw JSON data streams from
dump1090, cross-referencing them against crowdsourced aviation databases, and serving a responsive dashboard locally. - Publication: The project gained widespread prominence after being showcased in Raspberry Pi Official Magazine #168.
- Present Day: Today, Pi-Sky represents a mature, easily deployable DIY project. With streamlined installation scripts handling dependencies, APT repositories, and systemd services, users can transition from a blank Raspberry Pi OS image to a fully operational local air traffic control tower in a matter of minutes.
Supporting Data
Understanding how Pi-Sky operates requires examining the mechanics of ADS-B technology and the hardware stack that makes local reception possible.
The Physics of ADS-B
Most modern commercial aircraft continually broadcast ADS-B signals on a frequency of 1090MHz in short, rapid bursts. These unencrypted packets contain vital metrics:

- ICAO Hex Address: A unique identification number assigned to the specific aircraft.
- Callsign: The air traffic control identifier (e.g., RYR3EM).
- GPS Position, Altitude, Speed, Track, and Vertical Rate: Real-time kinematic telemetry.
Crucially, raw ADS-B broadcasts do not include details regarding the aircraft’s type, manufacturer, registration, origin, or destination. This is where Pi-Sky and its supporting architecture step in.
Hardware Requirements
To build a local receiver, builders require:

- A Raspberry Pi: Any modern model featuring USB ports and reliable networking. Because receivers are often placed near windows or outdoors for optimal line-of-sight, power efficiency and compact size make the Raspberry Pi an ideal host.
- A Compatible USB Receiver: Devices tuned to 1090MHz—such as the FlightAware Pro Stick Plus, Airspy Mini, or RTL-SDR Blog V3/V4 dongles. Units with integrated radio frequency (RF) filters, like the FlightAware Pro Stick Plus, are heavily recommended to block out unwanted urban radio noise and maximize detection ranges (typically between 100km and 250km depending on antenna height and terrain).
Software Architecture & Data Enrichment
Once dump1090 decodes the 1090MHz radio waves into a local JSON feed (/data/aircraft.json), Pi-Sky takes over:
- Local Storage: Aircraft positions and movements are logged into a configurable local SQLite database (retained by default for seven days).
- Route Enrichment via adsb.lol: To fill in missing route information (origins and destinations), Pi-Sky queries adsb.lol, a free, community-driven API maintained by aviation enthusiasts.
- Airport Mapping: Using the OpenFlights database, airport codes (such as EDDB or STN) are translated into human-readable names like Berlin Brandenburg or London Stansted.
- Visual Asset Retrieval: Pi-Sky fetches aircraft photos using PlaneSpotters.net or the Wikimedia Commons API based on the aircraft’s registration.
Official Responses and Platform Considerations
When designing a self-hosted flight tracker, developers must carefully navigate the ecosystem of available APIs and licensing terms. A notable architectural choice in Pi-Sky is its reliance on adsb.lol rather than alternative heavyweights like the OpenSky Network.

While OpenSky Network provides robust crowdsourced ADS-B datasets and public APIs, its terms of service explicitly restrict free access to full datasets to non-profit research institutions, educational bodies, governments, and aviation authorities. Furthermore, OpenSky’s standard licensing explicitly prohibits casual personal or commercial use without a formal written agreement, and its OAuth2 token-based system imposes strict rate limits.
By contrast, adsb.lol offers open terms of service, free historical route queries, and an ethos that aligns perfectly with homebrewed hobbyist hardware. Contributors can choose to feed their local receiver data back into adsb.lol or support the platform via donations, creating a symbiotic relationship between independent makers and community data providers.

Implications
The rise of projects like Pi-Sky signals a broader cultural shift toward local data sovereignty and decentralized Internet of Things (IoT) applications. In an era where consumer technology is increasingly tethered to corporate cloud infrastructures—where smart home devices, media servers, and tracking tools rely on external subscription models and remote servers—Pi-Sky demonstrates the viability of owning the entire data pipeline.
Privacy and Control
By processing radio waves intercepted out of thin air and storing telemetry locally within a self-contained SQLite database, the user retains absolute control over their information. There are no corporate data harvesting concerns, no unexpected subscription paywalls, and no risk of service deprecation if a cloud provider decides to alter its API terms.

Educational and Community Value
Projects of this caliber bridge multiple disciplines: radio frequency engineering, Python programming, database management, web development, and Linux system administration. By lowering the barrier to entry through one-line installation scripts and comprehensive web-based configuration panels, Pi-Sky empowers everyday makers to demystify the invisible layers of infrastructure surrounding modern global travel. Whether displayed on a high-definition monitor, embedded in a retro split-flap departure board simulation, or piped out to a low-power Pimoroni Inky e-ink display, local flight tracking proves that the skies above remain wonderfully open to exploration.
