A round 4″ touch display flight and marine tracker for Raspberry Pi. Dark radar UI, animated sweep, map tiles, gesture navigation, LiveATC audio, and a local web portal for setup — no SSH required for day-to-day use. Modeled after FlightScnr.
Live aircraft (and optional marine traffic) on a circular radar, with rich detail screens when you tap. Powered by FR24, adsb.fi, optional local dump1090/readsb, Tomorrow.io weather, optional route enrichment, USGS earthquakes, and wildfire layers (CAL FIRE / NIFC / NASA FIRMS). Configure everything from the web portal. Full detail: Features wiki.
Current release: 2026.8.21.2 on main.
Radar home, flight detail, tracked flight with route map, Follow / Live map, and clock / weather — swipe between them on the 720×720 round touch display. Swipe right on radar opens Tracked (when a track is active), then again for Follow / Live. Swipe left cycles Home and saved favorite locations.
|
Radar |
Flight detail |
|
Tracked flight |
Clock & weather |
Ten basemap styles: CARTO dark/light/Voyager, OSM dark, Dark Flat (solid black), Stadia dark + Toner (free STADIA_MAPS_API_KEY), Esri streets/satellite, and free FAA VFR sectionals (US). Optional tag leaders, color by altitude, precipitation, airport overlays, wildfires, and earthquakes.
|
Dark |
Voyager |
|
VFR |
Optional frosted HUD on the radar: time, weather, wind, and US AQI. Light or dark pill, adjustable opacity, and per-channel audio controls (chime, tracked, military, earthquake voice, ATC).
|
HUD light |
HUD dark |
|
HUD audio controls |
Flight detail can show aircraft photos (planespotters.net / Wikimedia). Optional marine AIS from aisstream.io puts vessels on the same radar, with ship photos from Wikimedia Commons. Note: aisstream.io is known to be unreliable — if marine traffic disappears, check your portal settings and the upstream status monitors before assuming a FlightScnr Pi bug.
|
Marine traffic |
Vessel detail |
|
Vessel detail |
Optional LiveATC streams to a USB or Bluetooth speaker — pick airport and channel on-device or in the portal.
|
ATC settings |
Channel picker |
Also included: scrollable list pickers for on-device settings, portal Route Sources / Position Sources, alert mode, facing / orientation, favorite locations (swipe-left cycle), a boot safety disclaimer, and portal OTA (Update Now, Later tonight, Finish install, Repair & Update). See the Features wiki for the full list.
Full guides live in the Wiki. Start there for build, install, features, and troubleshooting.
| Topic | Wiki page |
|---|---|
| Screens, gestures, radar, marine, ATC, wildfires, earthquakes | Features |
| Bill of materials | Hardware |
| Physical assembly | Hardware Assembly |
| OS, display overlay, install, Wi‑Fi, config | Software Setup |
| Portal sections and settings | Web Portal |
| FR24, adsb.fi, weather, AIS, and more | Data Sources |
| Touch, pinch-zoom (X11), AIS outages, common fixes | Troubleshooting |
| Updating from the portal (Later tonight, off-hours auto-install) | Updates |
| Credits and license details | Credits and License |
Upgrading from older builds: one Update Now is usually enough. Portal options also include Later tonight, Auto-install during off-hours, Finish install, and Repair & Update. If an OTA pulled a newer installer but could not run it (pre-re-exec path), the device auto-finishes install steps after restart — or use Finish install in the portal. If LightDM is switched to X11 for pinch-zoom, the Pi reboots automatically.
Stuck on 2026.8.5.x (Update fails silently): an older install step flipped permissions on scripts/release.sh, which used to block the update pull. That file is now frozen upstream, so pressing Update Now once more in the portal should work — no terminal needed. If it still fails (other local edits, corrupted git store), run on the Pi:
curl -fsSL https://raw.githubusercontent.com/yashmulgaonkar/FlightScnr_Pi/main/scripts/repair-ota.sh | bashUse | bash -s -- --hard only if other local edits also block the pull.
- Gather parts and assemble the unit — see Hardware and Hardware Assembly.
- Flash Raspberry Pi OS (64-bit, with desktop), enable the Waveshare panel overlay, then:
git clone https://github.com/yashmulgaonkar/FlightScnr_Pi.git ~/FlightScnr_Pi
cd ~/FlightScnr_Pi
sudo bash install-pi.shThe installer forces the desktop to X11 (needed for pinch-to-zoom) and reboots automatically when that switch is pending. It also enables the enclosure cooling fan via the kernel gpio-fan overlay (GPIO 14, on at 60°C), disables Wi‑Fi power save for kiosk reliability, and enables Bluetooth for speaker pairing.
- Open the web portal at
http://<hostname>.localand add API keys.
Step-by-step instructions: Software Setup.
Contributions are welcome. If you find a bug, have an idea, or want to improve the project, open a pull request. For larger changes, opening an issue first is helpful so we can discuss the approach.
Questions or setup help? Join the FlightScnrPi Discord:
- Parts of this repo are based on code by c0wsaysmoo, used with their prior written permission. Thank you!
- AIS WebSocket client design adapted from capsule-radar-ais (MIT).
- Aircraft photos courtesy of planespotters.net contributors (when credited on screen).
- Vessel photos from Wikimedia Commons contributors under their respective licenses.
Full asset attributions: Credits and License.
Original application code, tools, and documentation in this repository are licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (LICENSE). Required attribution text is in NOTICE.
- Attribution: credit the author (Yash Mulgaonkar), link to https://github.com/yashmulgaonkar/FlightScnr_Pi and the license when you share or adapt this work.
- NonCommercial: you may not use this material for commercial purposes without separate permission.
- ShareAlike: adaptations must be released under the same license.
First-party source files include a copyright / SPDX / [AI-DIRECTIVE] header. Do not remove those headers. AI coding agents and forks should follow AGENTS.md (and .cursor/rules/license-attribution.mdc) so attribution and license terms stay intact.
The 3D-printed enclosure is not part of this firmware repository. Its digital files and physical prints are governed by the license shown on the MakerWorld model page. There are two print profiles on the same model:
That content is published under a Standard Digital File License, which includes terms such as:
This user content is licensed under a Standard Digital File License.
You shall not share, sub-license, sell, rent, host, transfer, or distribute in any way the digital or 3D printed versions of this object, nor any other derivative work of this object in its digital or physical format (including - but not limited to - remixes of this object, and hosting on other digital platforms). The objects may not be used without permission in any way whatsoever in which you charge money, or collect fees.
Always read the full license on MakerWorld before downloading, printing, or sharing the enclosure design.















