\n
John Rice Playground / Flight Tracker

Playground · Signals / Hardware / Visualization

Flight Tracker
v1.0

A local receiver turns aircraft broadcasts over Western Washington into a live, 10-foot-friendly view of the airspace.


Live from the listening station.

When the receiver is on air, this read-only public mirror updates from the local ADS-B installation about every ten seconds. The listening-station location shown here is deliberately approximate.

Invisible World / Traffic

Connecting…
Waiting for the latest public snapshot.

Makes the aircraft overhead visible.

Flight Tracker listens to 1090 MHz ADS-B broadcasts and plots aircraft on a live map of the Puget Sound region. The experience is built for a television rather than a desk: large aircraft silhouettes, altitude masts, bold labels and a rotating hero treatment make the traffic readable from across the room.

It is intentionally local-first. The receiver, decoder, route enrichment and interface run as a small appliance on the home network.

Live position

Aircraft position, speed, heading and barometric altitude update from locally received ADS-B messages.

Altitude as space

Normalized vertical masts make relative altitude immediately visible. A mast-top indicator shows climbing, level flight or descent.

Motion history

Ghosted recent positions and trails make direction and movement visible without turning the map into a dense tracking interface.

Hero rotation

Every few seconds one aircraft is promoted into a large, readable card with callsign, altitude, speed, broad aircraft class and a plausible origin-to-destination route.

Session records

A scoreboard overlay tracks highest altitude, fastest aircraft, longest observed aircraft and total aircraft seen during the current session.

Built to fail clearly

If receiver data stops, the interface detects staleness, fades stale traffic, clears frozen aircraft and recovers automatically when fresh data returns.


A small radio appliance.

ComputerRaspberry Pi running Debian Linux — the dedicated lab-pi node.
ReceiverAirspy R2 software-defined radio receiving 1090 MHz ADS-B traffic.
AntennaOutdoor RF antenna and coax feed the receiver with local aircraft transmissions.
Display55-inch TCL television used as the primary 10-foot interface.
NetworkLocal Ethernet/Wi-Fi network for browser access and service management.

Radio in. Browser out.

01Airspy R2
02airspy_adsb
03readsb
04JSON + route cache
05Leaflet browser UI
Receptionairspy_adsb receives and forwards 1090 MHz ADS-B messages.
Decodereadsb turns those messages into aircraft state and continuously writes local JSON.
MapLeaflet with OpenStreetMap provides the detailed regional geography and town labels.
InterfaceCustom HTML, CSS and JavaScript render silhouettes, altitude masts, trails, hero cards and session records.
RoutesA small Python helper enriches callsigns with route data, caches successful lookups and hides routes that fail a position/heading plausibility check.
Servicessystemd manages receiver, decoder, web UI and route enrichment together as one Invisible World stack.
Invisible World Traffic interface running in Safari

Designed to be watched.

The map keeps its geographic detail because the labels are part of the experience: it is satisfying to notice exactly which town an aircraft is crossing. Aircraft markers are deliberately larger than a conventional flight-tracking UI because the display is meant to work at television distance.

Local truth first. Position, altitude, heading and speed come from the receiver. External route information is treated as optional enrichment and hidden when it looks implausible.

Part of Invisible World. Flight Tracker is the first mature layer in a broader experiment about making signals and systems that already surround us visible.


Build one for roughly $350.

You do not need specialized aviation hardware to make a version of this. The core system is a Raspberry Pi, an SDR receiver and a 1090 MHz antenna. Most of the software is open source.

Raspberry Pi 5 · 4 GB ~$85 More than enough compute for ADS-B decoding, the local web interface and the other lightweight collectors used here.
Airspy R2 SDR ~$170 The radio receiver used in this build. Less expensive SDRs can also receive ADS-B, but this is the hardware used for this project.
1090 MHz antenna ~$40–65 An outdoor antenna improves range substantially. Indoor antennas can work for a simpler first experiment.
Pi case + cooling ~$12–20 A fan-cooled case keeps the Pi comfortable during continuous operation.
USB-C power supply ~$15 Use a proper Raspberry Pi 5-compatible USB-C supply.
microSD + cables / adapters ~$25–40 Storage, HDMI and any small RF adapters needed for your particular antenna and cable run.
Approximate total · display not included $350–395

Approximate U.S. street prices in 2026. Antenna mounting, long coax runs, lightning protection and a display can add to the total. If you already have a Pi, display or compatible SDR, the cost drops quickly.