Mock-ups of every view in landscape proportions (800x480). The README shows a few; the full set is here, each with a short note on what you are looking at.
The landing screen. A 4x3 grid of tiles in LilyGo Pager style (Nodes, DM, Channel, Map, Advert, WiFi, Bluetooth, Toolbox, Settings, About, QR, Exit). The red X steps back to home and stops there; ESC on home (or the Exit tile) returns to the launcher. Tiles carry their own unread badges.
The live list of heard nodes: role, RSSI and SNR, distance, and last seen. Saved contacts are starred and stay in the list even when out of range.
Pick a conversation. One row per contact you have a direct message thread with, with an unread marker, plus the active target on top.
A per contact end to end encrypted thread. Message bubbles with local time, hop count and ACK state under each one, and a typing line at the bottom.
Public channel chat (AES-128-ECB shared key) and user added #channels. Per
channel message rings, region scope in the header, and an unread badge.
The first level of the two level Settings menu: a tile grid of eight drilldown categories (Identity, Regulatory, Radio, WiFi, Bluetooth, Region and Location, Brightness, Sounds) plus an external Toolbox launcher tile. Enter drills into one category's field list (or opens the Toolbox). The Advert category is hidden here — it is reached via the Home → Advert tile.
The drill-in field list for one category, here Radio: frequency, spreading factor, bandwidth, coding rate, TX power, sync word, preamble and the LoRa preset. The footer shows the active sub-band limits.
Independent sliders for the display backlight, keyboard backlight and RGB LED, plus the auto-blank timeout. These override the launcher globals while MeshCore runs.
The "add me as contact" overlay. Shows a QR the mobile MeshCore app can scan to add this badge as a contact directly.
App version and build date, author, upstream credits, the MIT licence and the source URL.
The cold start splash with per step diagnostic output (BSP, display, the P4 to C6 link, the time source and the Ed25519 self-test) so a failed boot is visible on screen.
The diagnostic tool menu, reached from the Settings "Toolbox" tile. Each tool is a card with a one line description; tools not built yet render dimmed with a "soon" tag. The red X returns to Settings.
A live, terminal style log of every radio frame in both directions (RX green, TX amber), newest first. Toggle HEX vs the per field dissector with H; P freezes the window while capture keeps running; E exports the ring to a CSV on SD.
Field test repeater reachability: pick a discovered repeater, ping it 3x with an upstream TRACE, and read a colour coded acks/attempts counter (green = all OK, orange = partial, red = none) plus the uplink/downlink SNR and round trip. Every attempt is logged GPS stamped to one CSV per session on SD.