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 (Official)
- Maintainer
- dabeani ↗
- Status
- active
- Maturity
- beta
- Lifecycle
- active
- Latest version
- 0.9.12.3
- Released
- 2026-05-29
- 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 roles
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
Releases
from GitHub · updated 2026-06-21v0.9.12.3 # Latest 23 days 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 # 24 days 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.
v0.9.12.1 # 25 days ago · 2026-05-27 22:00 UTC
** NEW HOTFIX v0.9.12.2 ** go here: https://github.com/dabeani/meshcoreterm/releases/tag/v0.9.12.2
This is v0.9.12.1 from 27.05.2026, release for critical bugs in the v0.9.12. The main focus is on fixing the T-Deck Plus keyboard and blink behavior, improving the SD card support and backup/restore flows, and addressing various UI issues and inconsistencies across the on-device UI and WebUI. The update also includes some new features like WiFi Access Point mode per profile and a new boot console screen, as well as improvements to the map rendering and message handling.
Please have a look at the filename, to download the correct variant for your device!
Important for SenseCap Indicator: There is a new RP2040 image, which is needed to support the new SD card features. Please make sure to use the correct image for your device when updating.
NO ONLINE UPDATE available right now - it would only download outdated image!
[v0.9.12.1]
Changed / Improved
- Repeater Admin Menu (WebUI): Improved Device, Status, ACL, Neighbors, Regions.
- Mgmt / Global: Firmware update uploader implemented. Take care about the Device-Type.
- #184 — Light color scheme: clearer outdoor readability across the on-device UI.
- WebUI WebSocket sync: Contacts and Mgmt / Log now stay subscribed in the browser background after the first full sync, so switching tabs does not repeatedly reload the full contacts list. Log and contacts updates use sequence checks with resync on gaps, and normal contact changes are sent as bounded deltas instead of whole-list broadcasts unless a full resync is required.
- Mgmt / Lock and WebUI: added lock-screen PNG upload to
/MCTerm/lockscreen.pngwith a visible?limits hint. Uploads accept PNG only, require exact current display dimensions, reject files over 512 KiB, enable the picture background after a successful upload, and persist the selected path/color settings through the existing UI prefs flow. - Mgmt / Lock: lock-screen background selection is now
Noneor a bounded PNG picture path, following the SenseCAP photo-demo model without keeping a large image buffer in RAM. The selected PNG must match the active lock-screen dimensions, is capped at 512 KiB, defaults to/MCTerm/lockscreen.png, and persists through Internal and SD prefs with WebUI parity. Lock-screen text color selection remains available (White, Blue, Green, Yellow, Orange, Red). Sample Pictures -> https://github.com/Seeed-Solution/SenseCAP_Indicator_ESP32/tree/main/examples/photo_demo/spiffs - #22 — SD Card support implemented for Backup/Data Storage (needs to be selected in Mgmt / Global -> Primary Disk).
- #176 — Store all data primarily on SD Card. Mgmt / Backup
- #177 — Backup and restore to/from SD Card.
- #238 — Msgs / DM room separation: split room-server chats out of the normal DM list into a dedicated Rooms frame in both the on-device ui-modern Msgs screen and the WebUI, so user DMs and room-server conversations are no longer mixed together (#238).
- #252 — Mgmt/Channels/Regions: show a distinct "Max regions reached" popup (instead of the misleading "Invalid or duplicate") when the user attempts to add a region beyond the maximum allowed count, both on-device and in the WebUI (#252). Mgmt/Channels/Regions: raise the maximum number of region scope definitions from 12 to 15 (#252).
- #125 — Map tab: use each device marker border color for hop count while keeping the marker fill tied to the device type (#125).
- #199 — Map tab: render 2-byte and 3-byte hash badges on two compact lines so multibyte node markers stay readable without widening as much (#199).
- #196 — T-Deck Plus sounds: prioritized T-Deck I2S audio refills ahead of WebUI/SD-store work and deferred SD journal flushes until playback ends, eliminating the remaining preview stutter on hardware (#196).
- ** …
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. |