MeshCoreTerm
ForkA retro-themed companion firmware based on MeshCore, featuring a rich on-screen keyboard, hardware navigation (D-pad, joystick, trackball), management features for device name, WiFi, BLE PIN, radio parameters, and GPS configuration. Supports multiple devices with prebuilt binaries and no online update requirement.
Fork of MeshCore (Reference)
- Maintainer
- dabeani ↗
- Status
- Active
- Maturity
- Beta
- Lifecycle
- Active
- Latest version
- 0.9.13
- Released
- 2026-07-23
- Runtime
- Arduino · C++
- Distribution
- Community
- License
- NOASSERTION
Capabilities
Transports
- ✓ BLE
- ✓ USB serial
- ✕ Native TCP
- ✓ Wi-Fi AP
Operations
- ✕ Web flasher
- ✕ OTA updates
Networking
- ✕ Repeater
- ✕ Room server
- ✕ Observer
- ✕ KISS modem
Hardware
- ✓ GPS
- ✓ Display
- ✕ Sensors
- ✕ Low-power RX
Protocol
- ✓ MeshCore compatible
Node role
Features
- Retro-themed UI
- On-screen keyboard with upper/lower/symbol modes
- Hardware navigation (D-pad, joystick, T-Deck trackball)
- Device management (name, WiFi, BLE PIN, radio params, GPS)
- Status bar with transport badges and battery indicator
- Persistence via NVS/Preferences
Project signals
- GitHub stars
- 128
- Forks
- 6
- Watchers
- 8
- Open issues
- 127
- Contributors
- 1
- Release downloads
- 3,680
- Latest downloads
- 156
- Source available
- Yes
- Releases available
- Yes
- CI builds
- No
Releases
from GitHub · updated 2026-07-23v0.9.13 # Latest 13 days ago · 2026-07-23 19:55 UTC
This is v0.9.13 from 23.07.2026
Sorry, that it took kinda long to release a new version - but here it is. A Firmware for LilyGO T-Display P4 will be released, as soon as i will have a useable Version :). Please have a look at the filename, to download the correct variant for your device!
Important for SenseCap Indicator: You need to install the latest RP2040 Image from the Releases
NO ONLINE UPDATE available right now - it would only download outdated image!
[v0.9.13]
What's new
- Serial Logging: Activated Serial Console Logging for extended debugging. If you know how to deal with Serial Logging, and you want to report more details when you experience bugs, send me the output from serial. Try to shorten it to the magic moment :)
- MeshCore update: Firmware is now based on upstream MeshCore v1.16.0.
- Unscoped flood: You can turn unscoped flood on or off from Mgmt → Channels and in the WebUI (advanced mesh option).
- WebUI: More device settings match the on-screen menus (multi-ACKs, RX delay, RX boost, auto-add contacts). About screen shows base v1.16.0.
- LilyGo T-Display P4: Larger, sharper UI (clearer 2× text); SDIO WiFi/BLE module and SD card support; improved boot and touch in portrait mode (including screen edges); serial debug over USB; SDIO WiFi/BLE reconnect and SD mount fixes.
- Clock sync: Mgmt → Date/Time uses Sync Prio 1 / 2 / 3 (each: Off, NTP, GPS, or Message). Set all three to Disabled to stop automatic clock updates; manual set and GPS sync still work. NTP Sync every chooses 1h–48h or one-shot. Clock Status shows which source is active. WebUI matches.
- Contacts search: Find contacts by name or public key (8+ hex digits). Pull down from the top or tap the search row; list stays visible above the keyboard while contacts scroll underneath.
- Keyboard: Starts in lowercase; ^ = shift, Sym = symbol pages.
- Compose: First letter is capitalized by default when you start typing a DM, channel, or room message.
- Discovered contacts: Swipe left on Contacts (or long-press the tab ~1s) for unsaved adverts; swipe right to return.
- New installs: Auto Add Contacts and all Auto Add Types are on by default.
- Coprocessor info: CrowPanel 7 shows ESP32-C6 versions and update status; SenseCAP Indicator shows RP2040 link and sensor/SD role.
Fixes and improvements
- WebUI ping / connection: During large Contacts/Messages sync, map tile sends, and Storage loads, a busy socket no longer forces a disconnect; ping recovers when the link has room; faster dead-socket detect and reconnect. On T-Deck Plus, large transfers no longer stall ping while the screen is redrawing.
- T-Deck Plus boot: Fixed a crash right after boot caused by reading touch from a background task; touch and keyboard stay on the main UI loop.
- Repeater admin: Re-login after logout uses the correct route again (Flood when the repeater is multi-hop); login status shows Flood / Direct / hop count.
- SD-primary concurrency: Large contact saves no longer corrupt the SD card or crash while channels/prefs also write.
- Companion WiFi sync: Large contact sync no longer overruns the WiFi queue; prefs/channels saves wait while the phone link is busy.
- Companion BLE (hosted C6): Large BLE updates send in smaller chunks instead of dropping mid-transfer.
- Companion offline queue: Offline BLE/WiFi sync depth is the same across ui-modern boards (larger shared queue).
- WebUI contacts/messages: Large contact tables and the Messages tab load in pages so they no longer crash or truncate under memory pressure; route badges and hash labels match the device.
- WebUI Mgmt → Storage: Opening Storage no longer kills WiFi ping or falsely reports "failed to load" (paced loads, capped folder listings); Mgmt prev/next wraps last→first and first→last consistently.
- Map network-only tiles: Fixed …
v0.9.12.3 # 2 months ago · 2026-05-29 00:41 UTC
This is v0.9.12.3 from 29.05.2026
Please have a look at the filename, to download the correct variant for your device! Important for SenseCap Indicator: You need to install the latest RP2040 Image from the Releases
NO ONLINE UPDATE available right now - it would only download outdated image!
[v0.9.12.3]
Fixed
- Fixed Mgmt → Backup bottom bar layout and touch.
- Switch between BLE / WiFi working again. BLE was stuck!
- Web UI stops on BLE and starts again on WiFi when enabled (boot and transport switch).
- Status bar: BLE badge no longer triggers WiFi; hit boxes match on-screen badges.
- Discovered (Contacts long-press): shows companions (USR) and other advert types, not only repeaters.
- Discovered: tap row left of Add removes entry; Add still adds to contacts; discover row requests all node types.
- Mgmt / Contacts — Auto Add Types: type filter works when Auto Add is enabled (was inverted: showed All, auto-added every type, Set only when disabled).
- Mgmt / Backup; Text-Adjustments
- NTP Timezone: accepts short forms (
CET,UTC+2,UTC-5,GMT,BST) — converted to POSIX automatically.
v0.9.12.2 # 2 months ago · 2026-05-28 05:57 UTC
Latest Version v0.9.12.3 go here -> https://github.com/dabeani/meshcoreterm/releases/tag/v0.9.12.3
This is v0.9.12.2 from 28.05.2026 (HotFix+ReUploaded)
Please have a look at the filename, to download the correct variant for your device! Important for SenseCap Indicator: You need to install the latest RP2040 Image from the Releases
NO ONLINE UPDATE available right now - it would only download outdated image!
[v0.9.12.2]
Added
- Read / Newest on channel and DM transcript screens. Message threads header now has Read (mark all in thread), Newest (jump to bottom), plus quick-send and compose — easier after reading on the phone app.
- While Wi‑Fi/BLE companion is connected, incoming messages are stored as already read on the device (fewer false unread badges).
Fixed
- Channels lost after reboot when primary storage is the SD card (channels were written to internal flash but loaded from SD).
- Backup screen: title centred in header; New, Refresh, Restore, Delete, and Deselect share one bottom action row (confirm shows only action + Cancel).
- Contact missing detail view shows a visible Back button instead of a blank screen. Stale contact detail auto-closes when the contact was removed while you were on another tab.
Device compatibility (5)
| Device | MCU | Radio | Status | Notes |
|---|---|---|---|---|
| LilyGo T-Deck | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Seeed Studio SenseCAP Indicator ESP-NOW | esp32-s3 | Semtech SX1262 | ✓ Supported | Seeed SenseCAP Indicator (TFT variant). |
| Heltec V4 | esp32-s3 | Semtech SX1262 | ✓ Supported | |
| Elecrow ThinkNode M3 | nrf52840 | Semtech LR1110 | ✓ Supported | Elecrow 3.5" ThinkNode M3. |
| Elecrow ThinkNode M5 | esp32-s3 | Semtech SX1262 | ✓ Supported | Elecrow 7" ThinkNode M5. |