v2.0.0: plane radar and modular firmware
This release adds a live plane radar and reorganises the firmware into three self-contained feature modules. It stays a single image: you flash one bin and switch modes in the web UI. See the README for a render of the three modes.
What's new
Plane radar mode. A radar scope centred on your location, showing nearby aircraft from the free adsb.fi API (no key, no receiver) or your own LAN webhook.
- Aircraft draw as heading triangles with speed vectors and callsign/altitude labels; traffic outside the ring shows as dots on the rim; a few home airports you configure appear as markers.
- Two data paths: adsb.fi directly over HTTPS, where the device probes TLS Maximum Fragment Length to fit the ESP8266's RAM, or a LAN proxy that pre-filters the feed, which is the reliable option in busy airspace.
- Display controls in the Radar tab: marker and label size (Small/Medium/Large), an altitude filter to hide ground and low traffic, and automatic callsign decluttering so a crowded scope stays readable.
What changed
Internal segmentation. Ticker, Claude usage, and radar are now separate feature modules behind one interface, each owning its fetch, rendering, and settings. This is invisible on the device but makes the code much easier to extend.
Single firmware. One image ships all three modes; there are no separate per-feature builds. The WITH_TICKER/WITH_USAGE/WITH_RADAR flags remain for optional local slim builds.
Config format. Settings are grouped per feature in config.json. Existing configs migrate automatically on first boot, so your WiFi and symbols carry over.
Upgrading
Flash smalltv-mod-firmware.bin over the air at http://<device-ip>/update, or through the Update tab. Back up your current firmware first if you might want to roll back. Ticker and usage behave as before; the radar needs a home latitude/longitude set in the new Radar tab.