OneMenu - compile-time composed menu/UI framework for ESP8266/ESP32
Posted: Sat Jul 25, 2026 8:27 am

OneMenu is a field/menu abstraction built on top of HAPI (github.com/InternetOfPins/HAPI), a compile-time composition library. Field types, screens, and output channels are composed via HAPI's core primitives at compile time rather than resolved through runtime dispatch tables or virtual interfaces. Practically: no vtables in the composition path, no string-keyed lookup for field/channel resolution.
**Features**
- HTTP + XSLT UI
- WebSocket + JSON (partial-diff, multi-session sync)
- FTP server (SPIFFS asset updates, no reflash)
- Serial (plain-text fallback)
- Multilingual UI, SPIFFS-editable labels
- BLE GATT channel (ESP32, prototype)
**Footprint (ESP8266, D1 Mini, current build)**
- RAM: 46800 / 81920 bytes (57.1%)
- Flash: 601011 / 1044464 bytes (57.5%)
Repo / demo: github.com/InternetOfPins — feedback on the GATT channel design (before it's locked in) is welcome, particularly from anyone who has fought BLE GATT connection-parameter churn on ESP32 already.