Public Access
CONTEXT.md captures the roro9stack domain language (Apps, Services, Mesh Service, Nodes, Channels, Storage rules). ADR 0001 records building our own firmware that speaks Meshtastic instead of forking it; ADR 0002 records an own widget kit on M5GFX instead of LVGL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
673 B
673 B
Own small widget kit on M5GFX, not LVGL
The UI is drawn with M5GFX into an off-screen buffer, using a small widget kit we own: list, text view, line editor, dialog, Status Bar and Toast. We chose this over LVGL.
LVGL would give us ready-made widgets, but it costs roughly 40–60 KB of RAM on a device with no PSRAM. It would also need to coexist with the Mesh Service, the Wi-Fi stack and TLS, and it brings a large learning surface. Most of our Apps are lists and text on a 240×135 screen, and full control of the UX is a primary goal.
Consequences
- We write and maintain our own widgets.
- Switching to LVGL later would mean rewriting every App's view layer.