Would be nice if you support me: https://buymeacoffee.com/bmks — thank you very much!!
Important: Use at your own risk. You, the device owner, are responsible for any damage, data loss, or bricked devices.
MeshCore / additional GUIs for embedded mesh radios
MeshCore is a lightweight hybrid routing mesh protocol for packet radios... this Repo is mainly about the companion firmware for user-friendly UIs and (actually) support for devices such as the LilyGO T-Deck Plus and Seeed Studio SenseCap Indicator-TFT.
Table of contents
- Features
- Devices
- Installation
- Default radio settings
- Why "this" GUI?
- Notes & reliability
- Contributing
Features
The improved companion UI is a full-featured, touch-first interface designed for small embedded mesh radios. Highlights include:
- Tabs:
Contacts,Channels(groups + Users/DMs),Map(slippy tile map), andMgmt(settings & admin). - Status bar: device name, transport badges (BLE/WiFi), and battery or duty-cycle indicator; temporary left-side overrides for short messages.
- Touch-first interactions: large touch targets, configurable UI zoom, reliable touch scrolling and list handling.
- Hardware navigation: D-pad / joystick / T-Deck trackball support, with configurable debounce and keyboard navigation for non-touch targets.
- On-screen keyboard: overlay keyboard with upper/lower/symbol modes and D-pad focus support; editor buffer sized for channel sends (up to ~125 chars).
- Messaging: messenger-style channels and DM threads, send confirmations, unread counts, IRC-style transcript view, full message detail view, timestamps, and quick-send actions.
- Message metadata: display of path/hops, best-effort RSSI and SNR, overheard repeaters list, and route hints.
- Contacts: sortable/filterable contact list (Azimuth, LastHeard, LastMessage), badges for GPS/reachability/online, favorite/tel flags, and detailed contact view with public key.
- Map: slippy-tile map with zoom, pan/drag, auto-centering, jump-to-me, map selection of contacts, and tile fetching/caching behavior configurable per target.
- Management features: edit device name, WiFi SSID/password, BLE PIN, screen timeout, radio parameters (frequency, bandwidth, spreading factor, coding rate, TX power), GPS pins/baud, and other device settings.
- Diagnostics & logs: neighbor scan helper, Rx-raw packet log viewer with parsed metadata, parsed packet detail view, telemetry request/pending state and telemetry history, and ping records for reachability tests.
- Telemetry & sensors: manual telemetry requests, telemetry records (voltage, temperature, humidity, CO2, TVOC), and support helpers for CayenneLPP / LPP payloads.
- Alerts & popups: lightweight banner/popups, sticky popups, and power/battery info overlays.
- Persistence: user preferences saved (screen timeout, battery label mode, contacts filter, T-Deck nav debounce, touch tuning) using NVS/Preferences.
- Developer & advanced helpers: public key detail, raw RX log scrolling, parsed packet metadata for debugging, and small utilities (neighbor repeater scan, telemetry probe, ping helper).
Devices
This firmware includes companion UIs and support for several devices; notable examples:
- LilyGO T-Deck / T-Deck Plus — more details: https://lilygo.cc/en-us/products/t-deck-plus-1
- Seeed Studio SenseCap Indicator (TFT / D1Pro) — more details: https://www.seeedstudio.com/
Installation
Flash using the MeshCore web flasher:
- Open https://flasher.meshcore.co.uk/ and choose "Custom Firmware".
- For first-time installation, perform a full flash erase (this removes all settings).
- Upload the built firmware image and flash to your device.
Notes:
- Full flash erase is only needed for first-time installs or major updates. Subsequent updates can be done without erasing settings.
- First boot after flashing may take 1–2 minutes. The screen can flicker while partitions and settings initialize.
Default radio settings
These defaults are used when there are no saved preferences on the device (EU/UK):
- Frequency: 869.618 MHz
- Bandwidth: 62.5 kHz
- Spreading Factor: 8
- Coding Rate: 8
- TX Power: 22 dBm
Adjust and persist settings from the Management screen on-device.
Why "this" GUI?
MeshCore focuses on a compact, reliable mesh stack while adding polished on-device GUIs for a better out-of-the-box experience on small embedded devices. This repository adds companion UIs and platform variants to support hardware (such as the T-Deck Plus and SenseCap Indicator).
Notes & reliability
- Persistence: key settings are stored on-device and survive reboots and updates.
- Reliability: UI touch mapping and state handling were improved to remain accurate when using zoomed UIs.
- GPS: some device variants (e.g. T-Deck Plus) require specific UART baud rates (38400) or correct antenna orientation;
Contributing
Contributions welcome. Please open issues for bug reports, improvements, enhancements, or device support (thats more tricky when i do not own one).