Communicator Badge firmware
This firmware replaces the stock lvgl_micropython build on the Hackaday 2024 Supercon
Communicator badge (ESP32-S3, NV3007 TFT, SX1262 LoRa, TCA8418 keyboard). It is written
in C against ESP-IDF.
What it does
Section titled “What it does”The badge joins a Meshtastic mesh and exchanges text messages with other badges, Meshtastic devices, and the Meshtastic phone app over LoRa. The on-air format follows the real Meshtastic wire protocol, so packets interoperate with stock devices.
Messages can run on several channels at once. A radar view plots nearby nodes by range and bearing, and when WiFi is on a web UI configures the badge, backs up its settings, and flashes firmware over the air.
The interface uses one font, a single amber accent on a dark background, and monochrome icons. A status sidebar runs down the left edge, a function-key bar spans the bottom, and the app launcher is a horizontally scrolling strip of icon tiles.
Peripherals are interrupt driven. The keyboard and radio wake the CPU on demand instead of the busy-poll loops the MicroPython build needed, and the CPU scales its frequency to save power.
Where to go next
Section titled “Where to go next”Install the toolchain on the Install ESP-IDF page, then build and flash the firmware. If you want to understand how it fits together, read the architecture overview.
The protocol and layout logic is covered by a host test suite that runs on a PC with no hardware. See Host tests.