-
Notifications
You must be signed in to change notification settings - Fork 36
Features
FlightScnr Pi shows live aircraft around your location on a circular radar, with rich flight details when you tap a plane. It combines FlightRadar24 (FR24), live positions from adsb.fi (free cloud feed - no local ADS-B dongle), optional local dump1090/readsb, Tomorrow.io weather, and optional AirLabs / FlightAware AeroAPI / OpenSky Network route enrichment. Optional LiveATC audio plays to a USB or Bluetooth speaker.
Settings, API keys, tracking, and updates are managed through the Web Portal. See Data Sources for the full source list.
The UI is designed for a 4″ round LCD with touch (default layout: 720×720).
| Screen | How to open | What you see |
|---|---|---|
| Radar | Boot / home | Live aircraft, map background, sweep line, compass rose, range label, altitude tags; optional clock HUD |
| Flight detail | Tap aircraft on radar | Airline logo, route, type, altitude, speed, heading; swipe or footer to cycle aircraft |
| Tracked flight | Web portal → Track, or swipe right on radar | Route header with aircraft photo, progress bar, great-circle route map on the radar basemap, LIVE/ETA, vertical speed ticker; pin to keep screen open |
| Clock and current weather | Swipe down from radar | Time, date, current weather and conditions |
| Weather Forecast | Swipe right from clock | Multi-day forecast (Tomorrow.io) |
| Clock settings | Swipe left from clock | Clock format and related options on-device |
| About / details | Swipe up from radar | Version, network, API status, portal URL |
| Settings | Swipe left from radar | Brightness, timeouts, color theme, facing direction, display options, ATC audio, system (multi-page) |
| Wi‑Fi setup | Automatic when offline | QR code to join the FlightScnr setup hotspot, then finish on your phone |

· 
· 
- Tap aircraft → flight detail
- Tap range label (top) → cycle zoom presets (2–30 mi / km / nm)
- Two-finger pinch → zoom radar range in and out
- Swipe between screens (see table above)
- Footer buttons on detail, tracked, and settings screens (PREV / NEXT / RADAR / PIN)
- Auto-return to clock when no aircraft are visible (optional, portal setting)
- Off-hours schedule can dim the panel, turn it off, or force the clock screen at night
- Animated radar sweep with a configurable accent color (custom RGB for sweep, rings, and labels)
- Optional compass rose, range rings, and sweep line (toggle in portal)
- Facing direction - rotate the radar so “up” on the screen matches how the Pi is physically mounted
-
Map tile background - dark / light / Voyager CARTO street maps, or free FAA VFR sectionals (US); cached under
/var/lib/flightscnr/maps/ - Optional precipitation overlay (LibreWXR, with RainViewer fallback)
- Optional airport centerlines and airport icons (OurAirports; skipped on VFR charts)
- Optional ground vehicles when ADS-B reports GRND/GVEH/SERV-type codes
- Aircraft-type icons (jet, turboprop, helicopter, military, etc.) with altitude/speed tags
- Minimum altitude floor / ceiling and min-speed filters to declutter traffic
- Alert mode: highlight military aircraft, emergency squawks (7700/7600/7500), or a custom watch list; optionally hide non-alerted traffic
- Distance / speed units: nm+kts, mi+mph, km+kph, and mixed options
- Favorite locations - save up to 10 radar centers; cycle on-device under Settings → Options → Favorite Locations
Optional frosted clock HUD on the radar (portal → Display & screens, or on-device Settings):
- Time, weather, and wind at a glance
- Position top or bottom; adjustable opacity
- Optional HUD dark mode — dark pill with light glyphs (default is light frosted glass)
- Optional hourly chime (volume independent of ATC); respects off-hours quiet schedule
By default the radar is north-up. If the display is mounted so the top of the screen does not face north, set a facing direction so aircraft and the compass rose match the real world.
Facing is the real-world direction at the top of the screen: 0 = north, 90 = east, 180 = south, 270 = west (any 0–359° value is allowed).
On the device
- Swipe left → Settings → Display → tap Facing
- Traffic drawing and ADS-B refresh pause; drag around the screen to rotate the rose, crosshairs, and map
- Tap center to save, or tap the rim to cancel
On the web portal
-
Radar → Facing direction (degrees) → enter
0–359→ Save radar settings
Stored in /var/lib/flightscnr/round_touch_settings.json and survives updates.
Pick any callsign in the web portal (or swipe right on radar when a track is active). The display shows:
- Origin → destination, airline / flight id, and aircraft type
- An aircraft photo (or airline wordmark) beside the header when one is available
- A progress bar with a moving plane icon and live stats (time remaining, distance, vertical speed)
- A compact great-circle route map under the stats — flown vs remaining path over the same basemap style as the radar (dark / light / Voyager / VFR). Changing radar map style refreshes the Track map too
- PIN to keep the screen open while you leave the portal
Flights not yet airborne can use AirLabs schedule data when configured. Route enrichment can also fall back to FlightAware and OpenSky (order configurable via ROUTE_SOURCE_ORDER).
Flight detail and the Track screen can show a photo of the aircraft when one is available. Lookup order:
- Airframe pin (manual / curated)
- planespotters.net by ICAO hex
- planespotters.net by registration
- Wikimedia Commons airline + type (preferred branded match)
- Wikimedia Commons generic type (flight detail only)
On the Track screen, generic type Commons photos are skipped so you do not get the wrong airline livery; airline+type matches are still allowed. Photographer credit is shown on screen when the source provides it.

Marine traffic uses live AIS from aisstream.io when enabled (portal → Radar → traffic mode, plus an API key). Vessels appear on the same radar as aircraft. Vessel detail photos are fetched from Wikimedia Commons by ship name / IMO when possible.

· 
Optional LiveATC streams play through mpv to a USB or Bluetooth speaker:
- Enable and pick airport/channel in the portal (ATC Audio) or on-device (Settings → ATC)
- Pair a Bluetooth speaker on the portal (Bluetooth Speaker); the on-screen ATC page can reconnect quickly
- Channel lists load from a local seed, then refresh via LiveATC search (
curl-cffiCloudflare bypass) - Playback can resume after reboot when it was left playing; quiet hours block auto-start/resume
- Disabling ATC or changing airport/channel stops the current stream (fixed in 2026.8.3.4)
- Requires:
sudo apt install mpv bluez libspa-0.2-bluetooth pulseaudio-utils(also installed byinstall-pi.shwhen available)
By default audio is gated to a USB (or selected Bluetooth) sink so the Pi does not open HDMI/headphone paths with no usable speaker. See .env.example (FLIGHTSCNR_REQUIRE_SPEAKER, FLIGHTSCNR_AUDIO_ALLOW_BUILTIN).
Optional wildfire markers on the radar:
| Region | Source | API key? |
|---|---|---|
| California | CAL FIRE | No |
| Rest of USA / Canada | NIFC WFIGS (AirNow large-fire layer) | No |
| Outside USA / Canada | NASA FIRMS VIIRS NRT | Free MAP_KEY under portal → API Keys |
Fire Details shows name, county, acres, and containment when the source provides them. Enable Show wildfires (Radar card or Settings → Options). Tap a fire icon for details. Data refreshes every 15 minutes and immediately after recenter or boot.