Use
Using the Moon Flight Tracker
First Boot
Plug in USB-C power. The tracker connects to WiFi, syncs the clock over NTP, and lands on the RADAR screen. Before it can predict anything it needs to know where you are — so set your ZIP code first:
- Tap LOC in the navigation strip.
- Enter your five-digit ZIP code on the keypad. DEL backspaces.
- Tap OK. The tracker looks up your coordinates and timezone, then returns to the radar.
Your ZIP is saved to non-volatile memory, so it survives unplugging — you only do this once, or when you travel.
Getting Around
The chips at the bottom of every screen switch views: RAD, LIST, MOON, LOC. Taps register on press, and the nearest chip to your finger wins — so you don't have to be precise near the curved edge of the display.
RADAR
A plan view of the sky around you, refreshed every 15 seconds. You're at the center; the rings mark distance out to the search radius. Each aircraft appears as a triangle pointed along its heading, labeled with callsign and altitude. A moon marker sits on the rim at the moon's current bearing, so you can see at a glance which side of the sky to face.
When a plane is on track to pass close to the moon it lights up and an alert banner drops from the top of the screen with the callsign and a countdown. Tap the banner — or any plane — for its details.
LIST
Every tracked aircraft, sorted by how close it will come to the moon — best candidate at the top. Each row shows callsign, the predicted minimum separation in degrees, and how many seconds until that closest approach. Rows are color-coded to match the alert tiers. Tap a row to open flight details.
FLIGHT DETAIL
Callsign, aircraft type, origin and destination airports, altitude, speed, and heading, plus the predicted separation and time. Route information is looked up when you open the screen, so it appears a moment after the rest — a dial spins while it loads. Not every aircraft is in the route database; private and general-aviation flights often show the callsign only. Tap anywhere to go back.
MOON
Tonight's moon: the current phase drawn to scale, illumination percentage, whether it's waxing or waning, its altitude above the horizon and compass azimuth, and local rise and set times. Negative altitude means the moon is below the horizon — the tracker holds off on alerts until it climbs above 5°, since the geometry near the horizon isn't reliable enough to be worth chasing.
LOCATION
Beyond the ZIP keypad, this screen sets screen rotation. Enter 90, 180, or 270 and tap OK to rotate the display — useful depending on which way the ribbon cable exits your mount. Touch coordinates rotate with it, and the setting persists across power cycles. Enter 0 to go back to upright.
Reading the Alerts
Alerts are about angular separation — how far apart the plane and the moon will look in the sky, not how far apart they are in miles. The moon is about half a degree wide, which sets both thresholds:
- NEAR (cyan) — closest approach under 2°. The plane won't cross the disc, but both fit comfortably in a 300 mm telephoto frame. Worth shooting.
- TRANSIT (pink) — closest approach under 0.5°. The plane crosses the lunar disc itself. This is the shot.
The banner fires when the predicted closest approach is less than 90 seconds away and counts down to it. Predictions assume the aircraft holds its current heading, speed, and altitude — a plane in a turn or a climb will drift from the forecast, so treat the countdown as a cue to be ready, not a shutter trigger.
Demo Mode
Enter 67 on the LOC keypad and tap OK. A simulated aircraft, callsign DEMO67, crosses the radar twice: first straight over the moon to fire the pink TRANSIT alert, then offset to fire the cyan NEAR alert. It runs about a minute, then live data resumes. Use it to confirm your build works, to learn the alert flow, or to film your project on a cloudy night.
Shooting the Shot
- Mount the tracker to your hotshoe so alerts are in your peripheral vision while you're at the viewfinder.
- Frame and focus early. A transit lasts a fraction of a second — there's no time to hunt for focus. Pre-focus on the moon, switch to manual, and leave it.
- Expose for the moon, not the sky. It's a sunlit rock; roughly 1/250 s at f/8, ISO 200 is a starting point. The plane will silhouette.
- Shoot bursts. Start the burst a couple of seconds before the countdown hits zero and hold through it.
- Watch the LIST screen while you wait — it shows candidates minutes out, well before any banner fires.
- Best odds come from a moon between 10° and 40° altitude near a flight path — low enough that aircraft are still at cruise altitudes in your line of sight, high enough to be clear of haze.
If Something Looks Off
-
No planes at all — ADS-B coverage varies by area, and rural regions can be thin. Check the serial console for fetch errors, and try raisingÂ
NM_RADIUS in code.py. -
Rise and set times look wrong — the timezone comes from your ZIP lookup. Re-enter your ZIP, or setÂ
UTC_OFFSET in settings.toml. - Alerts never fire — check the MOON screen. Below 5° altitude, alerts are suppressed by design.
- Taps land in the wrong place after rotating — see the rotation note on the Code page.
Page last edited July 27, 2026
Text editor powered by tinymce.