-
-
Notifications
You must be signed in to change notification settings - Fork 7
Releases: dabeani/meshcoreterm
v0.9.12.3
da79b36 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.
Assets 13
- sha256:e43236c971d4bf7d8f084d9eece0af283bd15cf8eebc951051acd5585ef50af52.23 MB
2026年05月29日T00:41:32Z - sha256:89a93ac6e24d82c606a29fadf87aa302d483c278a758824b19d43d2c074ae0b52.16 MB
2026年05月29日T00:41:34Z - sha256:ba7ae15af64bb939fdac7a243f3cd7612ee1d4eff52cbcc12fdd4919f012f0723.97 MB
2026年05月29日T00:41:27Z - sha256:04b1d4db2fb04ae99123b18d2e4e4f974c9f2eb8edf5d61af20388b443ddafe33.91 MB
2026年05月29日T00:41:30Z - sha256:c52a449ce2e0ad1eec92635b51aed4578629e3f7a559dc1eb4b5241c45d38f172.21 MB
2026年05月29日T00:41:35Z - sha256:6cccf7746caad53efd2d9203c84338c144ea1c6ecdb07027db0b4d483435fa6f2.15 MB
2026年05月29日T00:41:37Z - sha256:4c81d28348433fe2d3028c75d3435d68b901a64fc47e7cefdd992e3abedd327b2.5 MB
2026年05月29日T00:41:38Z - sha256:3b795ef24c52c2099e031cc3d5feccb50e3c81f95186a971abc7dfbe33c76de62.44 MB
2026年05月29日T00:41:40Z - sha256:5a0dcdf7919f757e5b9b3a4bcdc5ec2c2ea9204c5bf7747564d9dfe5e77828f02.27 MB
2026年05月29日T00:41:41Z - sha256:b62dc1d9234f603b7256d89c30b358fa1b90e7defcc26aeb1f63e567231ba5102.21 MB
2026年05月29日T00:41:43Z -
2026年05月28日T05:59:51Z -
2026年05月28日T05:59:51Z - Loading
v0.9.12.2 (HotFix+ReUploaded)
cb20fd3 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.
Assets 13
v0.9.12.1
28f9a84 ** 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).
- #191 — Mgmt/Global: restore the Load key action to the default blue button styling for consistent readability (#191).
- #192 — Mgmt/Global: make the SD key filename editable for Save/Load from the on-device UI while keeping the current path visible in Identity details and related copy flows (#192).
- Mgmt/Channels: label scope lists Scopes (not Regions), without leading hash; message detail uses Scope.
- WebUI Repeater Admin: some improvements are done, but WIP!
- Msgs: channel scope, unread, and total shown as list badges.
- Map tiles: Local Tiles and Network Tiles toggles (four combinations, device + WebUI); WebUI device search, map layers, popups, and local tile API.
- Mgmt / DateTime: readjusted Texts!
- Mgmt overview: UI, Light, Lock, Map, and Sound are separate pages (20 tiles); UI keeps brightness, display timeout, and zoom; Light and Lock hold blink/backlight and autolock settings formerly under UI.
- Mgmt / UI and WebUI: display brightness is a 0–100% slider (not a 0–255 numeric field).
- Mgmt / Light (T-Deck+): Keyboard Light slider (0–100%, default 50%) is independent of display brightness; persisted in Internal, SD prefs, and backup.
- Mgmt / Light and WebUI: Blink Bright uses the same percent slider as display brightness (replaces numeric Set on device).
Added
- Mgmt/WebUI WiFi Access Point mode per WiFi profile (MWP2): each profile stores AP/STA mode, STA SSID/password, and AP SSID/password; profile picker shows AP/STA tag; DHCP
192.168.4.1/24; max 3 AP clients. - BootConsole: New boot "console style" screen implemented.
- #264 — implemented Lockscreen Image with selectable color of Text. More to come later!
Fixed
- SenseCap Indicator TFT WebUI improvements.
- Mgmt / Lock: corrected lock-screen text color interpretation so the
Blueselection uses the actual blue display color instead of light blue, and added a matching WebUI color swatch/select background for the lock text color picker. - #141 — would be fixed with #203, #213.
- #144 — MeshCore app / direct messages: keep app-side pending delivery waits conservative for ACK-tracked sends so flood-routed DMs are no longer reported failed before their ACK can return (#144).
- #174 — T-Deck Plus UI blink: when Keyboard Blink or Display Blink is disabled, pending blink state is now cancelled both at notification time and in the runtime blink drivers, preventing random short display/keyboard flashes from queued message activity (#174).
- #186 — T-Deck Plus keyboard: keep the hardware keyboard in byte-stream mode while draining input, using only idle-time modifier sampling for Alt+S and global Alt+L lock/unlock, restoring responsive backspace/text entry (after 0.9.12 introduced key/event lag) (#186).
- #187 — Messages/WebUI: derive DM and channel composer counters from MeshCore's 160-byte message limit, the current node-name prefix, and the local mirrored-message buffers so device UI and WebUI match the real send/storage cap (#187).
- #190 — T-Deck Plus keyboard: only cycle the on-screen SYM picker on a pure SYM tap/release, so held sym compose chords no longer retrigger the picker on each keypress (#190).
- #194 — Mgmt/UI: remove the stray separator line above the Color Scheme row (#194).
- #197 — Mgmt/CLI: stop truncating long local command replies in the on-device CLI transcript by wrapping them across multiple output rows (#197).
- #198 — Mgmt/Channels: restore the visible Default Scope row so channel scope and delete taps target the intended channel instead of the row above (#198).
- #202 — Messages: force an immediate redraw when entering message detail so hidden detail state cannot keep acting on a stale Msgs list frame (#202).
- #203 — Clock jumps when receiving room or repeater-admin traffic (duplicate of #213; closed). See #213
- #206 — Ack sound now plays when a pending DM becomes Delivered if its activated in Mgmt / Sound -> All Sounds + Ack.
- #207 — Contacts/Discovered: unified node-type badge rendering so colors, borders, labels, and sizing match across both screens (#207).
- #208 — Identity view: fixed public-key detail hold-to-copy so it no longer copies the private key when the public key is selected, and fixed detail scrolling so the SD key file rows remain reachable (#208).
- #209 — Manual add contact: fixed the name-entry OK flow so a successful add closes cleanly instead of leaving a second OK press to trigger a spurious pubkey-first error (#209).
- #210 — Mgmt/Global copy flow: fixed stale DM detail state leaking across touch tab switches and hijacking later long-press copy actions on other screens (#210).
- #211 — Messages/DM detail: fix sent and received direct messages (#211).
- #213 — Time sync: stop trusting room-server and repeater-admin traffic as RTC authorities, so room/repeater replies can no longer trigger large local clock jumps (#203, narrowed scope, see #213). Time sync (ui-modern): added a Sync from Msg toggle in Mgmt -> Date/Time (default Disabled) that gates whether received message timestamps are allowed to update the on-device RTC at all, and made the NTP Status row report No response whenever the clock is changed by manual edit or by a non-NTP message-driven sync, so the indicator no longer keeps claiming Synced after such overrides. WebUI mirrors the toggle in Settings -> Date/Time (#213).
- #214 — Direct messages: honor Auto Retry and Auto Reset Path on ACK timeout, including resetting known routed paths before the final retry/failure instead of leaving stale multi-hop routes in place (#214).
- #215 — In v0.9.12.1 the misplaced allowf/denyf flood controls are moved out of Mgmt/Channels/Regions; Repeater Admin got now the implementation for Regions (#215).
- #219 — T-Deck Plus: make the trackball click consistently switch the display off from edit fields instead of activating the...
Assets 13
v0.9.12 (TDECK/HeltecV4)
8be9e09 This is v0.9.12 from 20.04.2026.
Actually this is the release for the TDECK & HeltecV4, the other devices will follow later!
NO ONLINE UPDATE possible right now.
[v0.9.12]
Elecrow CrowPanel 7" companion radio support added!
Upstream base upgraded: MeshCore v1.14.0 → v1.14.1
Upstream base upgraded: MeshCore v1.14.1 → v1.15.0
WebUI interface implemented, WIFI needs to be active (http://IP), usr: admin / pass: BLE-code
Changed / Improved
- WebUI message navigation and thread behavior refined
- Bottom tab presses now always return to the selected tab's root view, reducing stale nested-state confusion
- Message list navigation arrows are now visually consistent
- Channel/DM reply action labels now use "RPL" and signal badges display compact RSSI/SNR formatting
- WebUI message detail page redesigned for faster diagnostics
- Message detail now surfaces key delivery and route context first, including clearer hops vs repeats emphasis based on message direction
- Metadata and raw transport details remain available in a more structured layout
- WebUI channel management cleanup
- The extra key-format helper line was removed from the Regions section to reduce visual noise
- On-screen light color scheme readability overhaul
- Light mode now uses a bright white base with stronger contrast treatment for controls, improving legibility in heavy sunlight
- Buttons across the on-device UI were visually unified for outdoor use with clearer borders and higher-contrast label rendering
- Badge and accent colors were adjusted in light mode so critical status indicators remain easy to distinguish on bright backgrounds
- Contact list rows were tuned for light mode readability with clearer row separation and easier-to-read text treatment
- MAP marker and badge consistency improvements
- Map device hash badges now follow each device's advertised hash width (1-byte, 2-byte, or 3-byte) instead of the local multi-byte hash preference
- Map device badge colors now match device type coloring used in contact badges (for example SVR and RPT), improving consistency across the UI
- Management log readability improved — long entries wrap to available width
- More consistent device colors across the interface
- Channel and DM views stay responsive while browsing larger histories
- CrowPanel 7 list readability, alignment, and text size improved across all screens
- Build stability follow-up — stale platform overrides removed; all targets revalidated
- Contact route badges correctly decode 1-, 2-, and 3-byte multihash paths
- DM route hints now survive device restart
- Manual location setting now available in MCTerm via GPS menu
- WebUI displays 3-state mode selector: Off (no location), GPS (real-time), Manual (fixed coordinates)
- Set manual location via text input fields for latitude, longitude, altitude
- Set location from map view using "Use Map Center" button
- Clear location via "Clear Loc" button
- Uses existing firmware protocol (CMD_SET_ADVERT_LATLON) — no companion app protocol changes
- Matches official companion app behavior for manual location configuration
- HOWTO: Open Mgmt -> GPS. - Go to Manual Location. - Tap Edit on Manual Lat, enter latitude, confirm. - Tap Edit on Manual Lon, enter longitude, confirm. - Tap Edit on Manual Alt, enter altitude in meters, confirm. - Set Advert Location to Manual (cycle button until it shows Manual), so adverts use your manual coordinates.
Added
- Message detail can now jump directly to map route visualization
- Selecting the hop count in message detail opens the map and overlays the known hop path as connected lines between devices
- T-Deck Plus: Alt+S and SYM key now cycle input modes
- Pressing Alt+S on the hardware keyboard cycles through all four input modes: uppercase, lowercase, SYM1, and SYM2
- Pressing the standalone SYM key jumps directly to SYM1; pressing again advances to SYM2 and then back to normal
- The modifier detection was unreliable due to a hardware quirk; it now reads directly from the keyboard matrix for accurate results
- T-Deck Plus: SYM1 and SYM2 touch buttons added to the message send bar
- While composing a message, two buttons labelled SYM1 and SYM2 are now visible at the bottom of the input panel, allowing direct access to symbol input modes without using the hardware keyboard shortcut
- In symbol mode the full on-screen symbol picker is shown; the trackball navigates the grid and pressing the trackball button inserts the selected character
- Alt+S now jumps straight to SYM1 from any normal input mode and stepping it again moves to SYM2 then back
- WebUI: message hash codes replaced with contact names
- Hop-path hash codes (the short bracketed hex codes like [A3], [B2F1] etc.) in channel and DM messages are now automatically replaced by the matching contact name from your contact list, shown in that contact's color
- If no contact matches a hash code, it is shown dimmed so it remains readable but visually de-emphasised
- Can be turned off in Mgmt → Messages → Replace HashCodes
- On-device and WebUI naming behavior now stays aligned through the shared "Replace HashCodes" setting
- Default flood scope: persistent per-device send scope
- A default flood scope can now be stored in device preferences and applied automatically to all outgoing flood messages when no other scope is active
- Configurable from the browser node settings panel and the command-line interface
- Map: network tile load reliability improvements for hosted-WiFi targets
- Map tile loading is more reliable on devices that use a separate co-processor for WiFi bridging; timeouts are tighter and tile requests no longer collide with background state updates
- WebUI: full-featured browser interface via WebSocket
- Browser-hosted companion UI served directly from the device over WiFi — no app install required
- All screens (contacts, channels, DMs, map, management, repeater admin) update in real time via WebSocket without page reloads
- Repeater admin includes live device status readout (battery, uptime, RSSI/SNR, airtime, packet counters) bridged from the binary protocol -> WIP
- Transient status messages (e.g. sent confirmations, error notices) appear briefly in the header, matching the on-device display behavior
- Repeater status and clock refresh operations run quietly behind a single progress indicator instead of spamming the channel with individual commands
- Mgmt/Channels: region scope support with per-channel assignment
- Region scope definitions added using MeshCore's flood-scope system, with one scope assignable per channel
- Mgmt/Channels: new Regions and Scope overlay pickers
- The Regions section opens a dedicated overlay listing all defined scopes; each region can be toggled between allow-flood and deny-flood modes
- Channel rows open a scope picker directly; the currently assigned scope name is shown on the channel row button
- Mgmt/Date-Time: NTP timezone and server labels fully visible on CrowPanel 7
- Mgmt/WiFi: extended network diagnostics and static IP support
- WiFi management shows subnet, gateway, and both DNS server addresses; a new mode control switches between DHCP and static addressing
- GUI: contact list reachability badges condensed
- Direct-link badge is now "D" (green); flood-route badge is now "F" (blue)
- GUI: status-bar clock with quick Date/Time access
- A live clock is always shown in the status bar; tapping it jumps to Mgmt → Date/Time
- GUI: contact list badge reordering and new address-width badge
- Badge order from right: address-width, type, route, last-heard, favourite, GPS, unread mail
- GUI: unread message indicators moved to Msgs tab button
- The Msgs tab shows a white envelope for unread channel messages and a red envelope for unread DMs
- Duty-cycle display shows configured budget instead of lifetime airtime ratio
- Msgs: QuickR1 and QuickR2 custom reply presets
- Quick reply templates accept both
(VAR)and[VAR]syntax on touch and physical keyboards - Supported variables are
HP(hop path),HC(hop count),SNR(signal-to-noise ratio), andRSSI(received signal strength) - Both quick reply slots are editable in Mgmt → Messages; pre-filled with useful defaults on first boot
- Reply buttons expand hop path, hop count, SNR, and RSSI from the selected message
- Quick reply templates accept both
- Mgmt/Global: MCTerm firmware information section added
- Identity key management added across device UI and WebUI
- The management interface now exposes identity details directly on-device, including private-key visibility and guided save/load operations with SD card files
- Private keys can now be set manually, imported from SD card identity files, and applied without companion app tooling
- The browser interface now includes a full import/export flow with direct key export, identity bundle export, file-based import, and SD card save/load actions
Fixed
- WebUI "Load older messages" indicator now appears only when older pages are actually available
- The action no longer appears in states where there is nothing older to fetch, making history availability clearer
- Message history pruning now retains valid messages when the device clock is far ahead of message timestamps
- A faulty or unsynced real-time clock could cause all stored messages to appear expired and get pruned on boot; messages are now preserved whenever the clock has not yet been corrected
- Message ring counters stay accurate after a history prune pass
- Stored message counts shown in the UI and diagnostic views could drift from the actual ring contents after pruning; they now update correctly
- **DM details no longer show fake hop paths for unreachable...
Assets 6
v0.9.11
0be6b97 This is v0.9.11 from 15.03.2026.
Please have a look at the filename, to download the correct variant for your device!
- Since this version there are 2 new Devices supported!
- Heltec v4 (TFT+GPS) and Elecrow CrowPanel 3.5 HMI + LoRa!
There was no change for the indicator-rp2040 module.
[v0.9.11]
Upstream base upgraded: MeshCore v1.13 → v1.14
Implemented device support for Heltec V4 with TFT +GPS
Implemented device support for Elecrow CrowPanel 3.5 TFT +SDCard
unfinished
- MAP is still WIP!
Added
- Radio activity LED: a small round dot in the top status bar (left of the device name) that flashes green for 250 ms on LoRa RX activity (including CRC-error receptions) and flashes red for 250 ms on LoRa TX activity. The dot shows an idle ring outline when quiet.
- Map last-known-position auto-save: when GPS gets a valid fix, coordinates are persisted to flash immediately so the map restores the true latest position after reboot. Ongoing writes are still throttled (max once every 5 minutes) and only occur when coordinates change.
- Map contact markers now show the node 1-byte ID prefix (2-digit hex, e.g.
1E) instead of plain squares, using the same existing marker background coloring (hop color / selected highlight) with automatic black-or-white foreground contrast for readability. (still under construction)
Changed / Improved
- Mgmt → WiFi now supports saved WiFi Profiles: you can create multiple named profiles, keep separate SSID/password pairs per profile, switch the active profile from a dedicated saved-profile picker, delete saved profiles directly in that picker.
- Mgmt → Global is leaner: compile-time rows for
MAX_GROUP_CHANNELSandOFFLINE_QUEUE_SIZEare gone,MAX_CONTACTSmoved to Mgmt → Contacts asACT/MAX Contacts, and the GlobalReboot/Update & Upgradeactions now use the compact side-by-side button style. - Mgmt → Contacts now includes
Manual add contact, using the existing edit overlay for a two-stepPublic KeythenNameflow with clipboard paste support in both fields. - MAP tile cache handling is quieter and more efficient: missing SD tiles are negatively cached briefly, repeated open attempts are avoided while offline, and tiles are retried automatically once Wi-Fi connectivity returns.
- MAP marker tap behavior: tapping a ByteID marker now keeps selection on the map and shows a left-bottom info box with
Name,Age, andDistance(km), without a separate floating name box. - MAP marker double-tap behavior: double-tapping the same ByteID marker opens that contact directly in Contact Detail.
- Mgmt → Advert → Scan Neighbor Repeaters now shows an Add button only for repeaters not yet in Contacts, and tapping a repeater row opens Contact Detail instead of adding on name/row tap.
- Mgmt → Advert now includes
Path Hash Mode, and Mgmt → Contacts now includesAutoAdd Max Hops, matching the MeshCore v1.14 companion settings on-device. (be careful other repeaters/companions need minumum MeshCore v1.14+ to avoid compatibility issues when these settings are changed) - Mgmt → Contacts →
AutoAdd Max Hopsnow opens an Edit field for manual numeric entry with validation across the full MeshCore v1.14 range0..64:0 = No Limit,1 = Direct (0 hops), andN = up to N-1 hops. - DM message detail now shows delivery state for sent messages (Pending / Delivered / Not delivered), including ACK-based delivered updates.
- Mgmt → Channels now treats the built-in
Publicchannel like any other joined channel, including Share/Delete actions. - If the default
Publicchannel was deleted, Mgmt → Channels → Join now shows aPublicbutton that recreates it automatically only when it is currently missing. - T-Deck Text editor now scrolls with the cursor when moving left into long input, so the beginning of the text remains visible while editing.
- Text edit overlay uses smaller message-input text with wrapped visible lines for easier long-message editing.
- Touch text-edit overlays now use a tighter full-screen keyboard layout with larger key labels, smaller action-bar labels, and consistent title/field sizing across Wi-Fi, BLE, repeater, and other edit targets.
- The on-screen keyboard now supports two symbol pages (
SYM1/SYM2) and horizontal swipe gestures across the key area to switch symbol pages faster on touch-only devices.
Fixed
- Elecrow CrowPanel 3.5 SD card initialization now uses the dedicated TF SPI wiring and shared mount helper, so
/MCTermprefs, clipboard storage, and map tile cache writes work on the board. - Companion-sent messages no longer appear twice.
- GUI-origin channel messages now populate message-detail metadata consistently (route/path hint + timestamp/RSSI baseline), so detail fields are no longer empty compared to companion-origin sends.
- DM detail delivery status now correctly updates for zero-hop/direct sends (no false "Not delivered" when ACK was received), and sent-message hops/RSSI/repeats metadata updates more reliably.
- T-Deck display wake behavior is now consistent: whether the screen turned off automatically or manually, it wakes via knob press only and no longer wakes on knob movement.
- Online AutoUpgrader manifest validation is now more robust (schema compatibility + target-key fallback), reducing false "manifest" errors.
- T-Deck keyboard backlight timeout now reliably turns the keyboard light off even after manual Alt+B keyboard-light activation.
- MAP now starts downloading and caching online tiles even when the SD card tiles folder is initially empty, as long as network tiles are enabled, Wi-Fi is connected, and the SD card is writable.
- Mgmt/Advert: Auto Advert Direct interval setting is now persisted correctly across reboots; values 4 h and 72 h were silently reset to Disabled on load due to a mismatch between the UI option list and the prefs sanitizer.
- Contact/DM/channel sender name colours are now clearly readable on dark backgrounds and far more distinct: the fixed 12-entry palette has been replaced with a full HSV colour-wheel generator (360 distinct hues at full brightness), so up to ~250 contacts each receive a unique, high-contrast colour.
- DM "Del(ete)" (Back long-press in DM view) no longer silently fails for contacts with names ending in "?" due to a parsing error in the delete confirmation dialog.
- AutoLock lock screen clock now counts automatically while the screen is on: the HH:MM:SS display updates once per second when idle (no touch). Clock pauses automatically when the screen turns off (display timeout or hardware button) and resumes on next wake. Display timeout continues to work normally while locked.
- Adding a repeater from Mgmt → Advert → Scan Neighbor Repeaters (and from Contacts → Discovered) now preserves the original seen time instead of resetting
Last heardtonow. - Mgmt → Advert → Scan Neighbor Repeaters and the Repeater Admin
Neighboursview now show only zero-hop/direct repeaters, excluding flooded ones. - Msgs list scrolling is now visually consistent with Contacts: partially visible rows at the top edge of the Channels and DMs lists are rendered instead of popping in only once fully visible.
- Room-server
SVRbadges now use a distinct purple informational style instead of looking like blue action buttons. - Nickname colours are now applied consistently across Contacts, MAP labels/info, discovered/repeater neighbour lists, and contact detail headers so the same name keeps the same colour throughout the UI.
- Mgmt → Contacts →
Purge w/o favsworks again; the final row is now reachable and tappable. - Heltec V4 TFT modern GPS bring-up now handles Quectel L76K modules correctly.
- UI-modern companion radios with onboard GPS now keep the fast boot path while restoring full module-specific GPS init: Heltec V4 TFT preserves persistent L76K warm-start state and RTC sync, and LilyGo T-Deck Plus again applies the richer u-blox UBX runtime configuration even with GPS detect skipped.
- Scroll gestures are now confined to the actual scrollable viewport across Msgs, DMs, contact detail, room console, repeater admin, and Mgmt pages with fixed headers or action rows, and top-edge list drag now clamps immediately so screens cannot be pulled into blank overscroll from buttons, title bars, or the first row.
- Mgmt → Advert action buttons (Advert Direct / Advert Flood / Scan Rpts) are now rendered as three large side-by-side tiles matching the Mgmt overview style — no white border, easier to tap on touch screens.
- Every button press across the entire GUI now shows an instant yellow ring at the touch point for 200 ms, giving clear visual confirmation that (where) the tap was registered.
- Mgmt → GPS now includes a yellow Tracking section with flood-advert movement tracking, a persisted meter threshold, a lock-screen Tracking badge, and an orange tracking icon in the top status bar while active.
Assets 9
v0.9.10
fe2ebb0 This is v0.9.10 from 21.02.2026.
Please have a look at the filename, to download the correct variant for your device!
There was no change for the indicator-rp2040 module.
[v0.9.10]
Changed / Improved
- Smoothed battery voltage display using averaging to reduce rapid value jumps in the status area.
- Battery/Duty-cycle toggle now reliably shows percentage mode (including while charging) instead of repeating volts.
- Mgmt/GPS now includes an AutoBaud toggle (enabled by default); Baud editing is blocked while AutoBaud is enabled.
- Mgmt/GPS now shows progress popups while switching AutoBaud and while restarting GPS, so long-running actions no longer look stuck.
- In timeout-only mode (autolock disabled), keyboard keys no longer wake the display; wake remains on recessed trackball press/click to reduce accidental pocket wake-ups.
- Internal clipboard is now mirrored to SD at
/clipboard.txt(where SD is available), allowing out-of-band import/export and clipboard persistence across reboot. - Text edit fields now support press-and-hold paste in addition to double-tap paste.
- Copy popups now specify what was copied (for example: channel secret, selection, word, PubKey) instead of only showing a generic "Copied" message.
- In chat views, press-and-hold now copies text directly from the touched message/detail line (broader "copy any text" behavior in transcripts/details).
- Press-and-hold copy is also available in Contacts rows and selected Mgmt text rows (RxRaw log + telemetry rows).
- Mgmt/Global rows now support press-and-hold copy as well (name/device ID/public key/constants/admin info/storage).
- Press-and-hold copy now also covers Mgmt/WiFi, Mgmt/BLE, and Mgmt/GPS rows.
- Manual display-off (single recessed trackball/button click) now wakes only on another recessed trackball/button click when autolock is disabled; with autolock enabled, existing wake behavior remains unchanged.
- On T-Deck navigation, trackball movement is now ignored while the display is off/soft-off or while the lockscreen is active.
Fixed
- Transport switch confirm no longer freezes the UI/device when enabling BLE from transport-off mode; live BLE re-enable from OFF is now handled safely.
- Transport switching no longer freezes on BLE -> WiFi -> BLE round-trips; BLE is kept initialized during live transport toggles.
- Message rendering now respects embedded line breaks (
\n) from incoming text (for example bot messages), showing each break on a new line. - Room server session transcript no longer draws the topmost message through the message-window top boundary when scrolled.
- Channel messages now synchronize both ways between device GUI and companion app over WiFi (app->device and device->app).
- BLE PIN edit now accepts valid 6-digit values that start with zero (for example, 012345).
- Mgmt/GPS button row rendering and touch hitboxes are aligned again (including Defaults and Restart GPS rows).
- Mgmt/GPS AutoBaud now keeps scanning past noisy false-positive baud hits, and the displayed Baud value now reflects the detected runtime baud after AutoBaud evaluation.
- Mgmt/Advert touch mapping is corrected: Advert-Direct and Advert-Flood buttons now trigger the intended send mode consistently.
- DM detail "Del" button hit area is corrected; deletion now triggers when tapping inside the visible button.
- Screen timeout now turns the display fully off on touch devices (instead of only dimming to zero brightness).
- Mgmt/UI scrolling now clamps correctly at the bottom and no longer scrolls into empty space.
Assets 6
v0.9.9
fe2ebb0 This is v0.9.9 from 11.02.2026.
Please have a look at the filename, to download the correct variant for your device!
- There was no change for the indicator-rp2040 module.
- needed to reupload, version-string was wrong!
[v0.9.9]
Changed / Improved
- updated to mescore v1.13.0
- Initialize T-Deck I2S buzzer at boot (keeps it quiet when disabled) to avoid driver install from touch handlers and prevent UI lockups on LilyGo T-Deck.
- Accept login-OK responses from alternate sender identities when the response matches expected formats (fixes repeater login stuck cases).
- Adjusted conservative repeater request/timeout values and improved local CLI reply handling.
- Repeater + RoomServer pending waits: Flood min 30s, Direct min 15s (applies to login and other admin requests).
- Reduce idle CPU usage by yielding in the main loop (adaptive delay when screen is soft-off/no companion app connected) to improve power draw without changing functionality.
- Add separate keyboard backlight timeout setting in Mgmt/UI (T-Deck Plus), independent of screen timeout and autolock.
- Smooth fade when display/keyboard backlight turns off (soft-off / keyboard timeout) instead of snapping to black.
- Persist Map "info bar" (altitude bar) toggle (T key) across reboots.
- Moved "Custom QuickSend" configuration from Mgmt/UI to Mgmt/Messages.
- reduce power use in display off/soft-off state by increasing idle sleep and skipping non-essential touch/gesture processing until wake.
Fixed
- Prevent UI freeze when toggling "All Sounds" after reboot on LilyGo T-Deck builds by ensuring I2S/buzzer hardware is initialized safely at boot.
- Fix repeater login hanging when the OK response arrives from a different sender identity.
- Harden Mgmt/Global "Reboot" to always restart on ESP32 (adds esp_restart() fallback and avoids sticky UI states).
Assets 7
v0.9.8
749d1f0 This is v0.9.8 from 11.02.2026.
Please have a look at the filename, to download the correct variant for your device!
- There was no change for the indicator-rp2040 module.
- needed to reupload, version-string was wrong!
[v0.9.8]
Added
- Contacts / Room Server; added room login + Room Console (transcript + send + logout) under Contact Detail.
- UI; added horizontal drag in text input fields to move the cursor (caret).
- Contacts: added small
RSTPathbutton in Contact Detail to reset a contact's route/path. - Power: added
PowerStatusstruct andMainBoard::getPowerStatus()helper; UI now reads consolidated power state for battery/charging/usb. - Power (T-Deck Plus): added configurable ADC multiplier / VBAT divider ratio support (
adc.multiplier) to allow per-device calibration. - Mgmt / Contacts; added "Purge w/o favs" (purge all contacts except favourites).
- Mgmt / GPS; show UBX accuracy estimate (hAcc) when available.
- MAP (T-Deck Plus); added keyboard controls: W/A/S/D for panning, O/I for zoom in/out, R to recenter on self, T to toggle GPS/Zoom info window.
- MAP; added zoom level indicator overlay that displays briefly when zoom changes (keyboard or touch).
- MAP; added GPS info window (top-left) showing altitude, speed (km/h), and current zoom level in a compact 3-line display (toggleable with T key on T-Deck Plus).
- UI; added autolock feature - can be configured in Mgmt / UI -> LOCK to automatically lock the UI after a period of inactivity. Unlock by holding the unlock button or touching and holding the screen for 2 seconds.
- Mgmt / UI; added LOCK section with configurable Autolock toggle and Autolock Timer (seconds).
Changed / Improved
- Contacts; service contacts are no longer treated like normal DM targets:
- Repeaters now route to Repeater Admin.
- Room Servers now route to the Room Console.
- UI; horizontal swipes that switch higher-level frames now require an edge swipe (keeps left/right scrolling available for the focused element).
- UI (T-Deck Plus); trackball left/right no longer switches the bottom menu tabs.
- UI (T-Deck Plus); when editing a text field, trackball left/right moves the text cursor (caret).
- MAP; scroll/pan inputs now operate on the map view itself (instead of page-level scrolling).
- Mgmt / UI Zoom can now be changed with "^" or "v" buttons.
- Mgmt / Contacts; Auto Add Types can now be set with freely combinable toggles (USR/RPT/SRV/SNS/OW) when Auto Add is disabled.
- Mgmt / Contacts; Auto Add Types now shows clearer labels (e.g., "USR (Users)").
- Contacts / Repeater Admin; reorganized Login screen layout to prevent status text overlap and improve readability.
- Contacts / Repeater Admin; added live login status lines (Direct/Flood send mode, wait countdown, result, role).
- GNSS; u-blox M10 nav tuning (portable dynModel + auto fixMode) and 1Hz rate for weak-signal stability.
- Mgmt / UI -> UI Zoom; improved zoom step granularity for finer control with extra buttons for more/less zoom.
- MAP; zoom level now automatically persists when changed (via keyboard or touch), eliminating the need for manual default zoom configuration.
- MAP; removed "Def. Zoom Lvl" setting from Mgmt / UI as zoom now auto-saves and restores on startup.
- MAP; moved zoom level indicator to top-left position (stacks under GPS info window when active).
- MAP; GPS accuracy circle now renders as an unfilled light-blue ring instead of a solid fill for better map visibility.
- UI; autolock is now disabled by default and only engages when enabled in Mgmt / UI -> LOCK.
Fixed
- Contacts / Room Console; fixed transcript drawing over the "Room Console" title (partial refresh artifacts) and added a bordered transcript viewport.
- MAP (T-Deck Plus); fixed reversed zoom hotkeys: I now zooms in and O zooms out.
- DM editor; fixed being able to send DMs to Repeaters/Room Servers via existing DM threads (now blocked and redirected to the proper flow).
- Mgmt / Log: touch scroll release no longer triggers a tap on the last touched point (prevents click-through when stopping a scroll).
- Mgmt / Log: require a tap gesture before activating list actions to avoid scroll-release click-through.
- Boards (T-Deck Plus): repaired corrupted header and fixed VBAT conversion to use the new configurable multiplier; prevents miscalibrated battery percentage readings.
- Contacts / Repeater Admin: clear session and cached repeater data when leaving admin or switching repeaters (prevents stale values).
- Contacts / Repeater Admin: direct routes now send direct logins/requests; flood is used only when no path is known.
- UI: hide battery percentage while charging; avoid duplicated charging indicator.
- Mgmt / Channels; fixed an issue where adding a new #hashtag channel could show "Channel exists" and could lead to duplicate message display.
- Mgmt / UI; fixed Tiles Folder picker showing empty after reboot until Map was opened once.
- MAP; fixed an issue while moving the map out of touch and after returning, where the map would jump back to the original position.
- Contacts/Repeater Admin; fixed Login button hit-test offset in Contact Detail overlay.
- Contacts/Repeater Admin; fixed repeater password NVS persistence detection (saved state) and empty-password save/load handling.
- MSGS / Message details view; fixed the overscrolling of the top button bar.
Assets 7
v0.9.7
29af3a6 This is v0.9.7 from 30.01.2026.
Please have a look at the filename, to download the correct variant for your device!
[v0.9.7]
- Updated MeshCore Base to latest v1.12.0!
Added
- Mgmt / UI -> Map; Added Map Show Zoom Buttons toggle (On/Off).
- Mgmt / UI -> Map; Added Map Show Navigation Buttons toggle (On/Off).
- Mgmt / UI -> Map; Added Map Default Follow Me toggle (On/Off).
- Mgmt / UI -> Map; Added Map Default Zoom Level setting (1-20).
- long Tap on Contacts Tab button; toggles between normal Contacts view and Discovered Nodes view to be able to add nodes when you do not activate in Mgmt / Channels the Auto Add Contacts option.
- Repeater Admin Menu; Implemented role-based gating (Guest/Admin) across Repeater Admin, Overview now visually disables admin-only buttons (ACL, CLI, Reboot, Passwords) when role isn’t Admin, and taps show a short popup instead of entering the screen. Device/Status/Telemetry overlays allow read-only viewing for Guest/RO, but write actions (edits/toggles/off/sync/reboot) are disabled visually and blocked on tap with a "RW/Admin required" popup.
- Indicator; (NEW IMAGE for RP2040 needed) Sound is now Supported & can be configured in Mgmt / UI -> Sound settings and will be processesd on the RP2040 coprocessor.
- Indicator; (NEW IMAGE for RP2040 needed) Added SenseCAP RP2040 SDCARD Support for remote SD access (read/write/list) does not yet offer direct services but will be used in future updates.
- Indicator; (NEW IMAGE for RP2040 needed) Added SenseCAP RP2040 Sensor Support for Temperature, Humidity, CO2, TVOC telemetry values (when RP2040 firmware is flashed with the new coprocessor image).
- MAP; tiles now can be donwloaded while you are connected to WiFi (when enabled in Mgmt / UI -> Map). If there is a SDCard present, it will automatically cache the tiles on the SDCard in the correct folder structure for offline use! (Indicator not yet supported!)
- Mgmt / UI -> Map; added info text about tile caching when WiFi is connected.
- Mgmt / UI -> Map; changed Map Tile folder structure from SD-Card.
- Mgmt / Messages; Addeed Auto Retry / Auto Reset Path / Direct Message Acks / Mark Delivered faster (like you know from the companion APP) but need to be setup separately because not connected to companion!
- MSGs / new button in Message "Reply" to quickly reply to the last DM or Channel message sender.
- Sync settings to SDCard and load from SDCard on boot (if present) for easy backup/restore of settings.
- MAP; GPS Accuracy Circle Implementation - when GPS accuracy is available, a light blue circle is drawn around the GPS position indicating the accuracy radius (HDOP-based accuracy estimation (HDOP ×ばつ 2.0 meters)).
Changed / Improved
- MAP; improved hop-count display in Contact detail view (shows "Direct" for 0 hops now and "1 hop", "2 hops", ... for others).
- Mgmt / Advert; neighbor adverts refactored to show more relevant information, and added the possibility to add discovered nodes as Contacts directly from the neighbor adverts list.
- Mgmt / Advert; changed button text "Advert Zero Hop" to "Advert - Direct"
- Mgmt / UI - moved Sound settings to Mgmt / UI for better grouping.
- Mgmt / Global - moved Mgmt / Admin into this menu for better grouping.
- Mgmt; changed some Texts&Buttons for better clarity (toggle, enabled/disabled)
- GUI; finally you can switch between BLE / WiFi or turn both completely off (without reboot!).
- Repeater Admin Menu / Advert; when disable both advert types, a warning popup (yes/no) is shown to inform the user that no adverts will be sent out anymore when accepted.
- MSGS; changed the top statusbar text from "msgs" to "Channels" and from "users" to "DMs" for better clarity.
- Contacts / soting; when you tap the contacts tab to cycle through sort orders, the view will automatically scroll to the top of the newly sorted list, making it much more user-friendly!
- Mgmt / CLI; fixed an issue while switching away from CLI breaks the touch.
- Mgmt / Stats; added the [>] buttons for the Radio section's Noise Floor, Last RSSI, and Last SNR lines in the Management > Stats view to see that this is clickable to open the Radio Stats overlay.
- Contacts / Repeater Admin Menu; Modified the contact selection logic to only reset the repeater admin state when actually switching to a different repeater.
- MAP; improved GPS accuracy circle rendering (smoother edges).
- Contacts / Repeater Admin Menu; improved to be allowed to login with empty password.
- Discovered (Contacts) - Discovered Contacts list is now only sorted by "last heard" (newest on top) to make it easier to find recently discovered nodes for adding them as Contacts.
Fixed
- Mgmt / CLI; fixed an issue after switching away from Mgmt / CLI to not be able to go back to the Mgmt / Overview due to a bug!
- Mgmt / GPS; GPS could not be disabled properly — fixed.
- MAP; fixed an issue where the MAP would not center on own GPS position when opening the MAP page.
- Mgmt / UI - MAP; "Tiles Folder", fixed cosmetic issues fixed.
- Mgmt / Telemetry; when opening the Graphs overlay, now you can close it with a "back" button!
- Mgmt / GPS; fixed an issue where GPS could not be enabled/disabled properly.
- Mgmt / GPS; cosmetic issues fixed.
- MAP; Fix map scrolling bug: restrict map dragging to content area only
- I2C initialisation was broken - fixed!
- Indicator/RP2040; optimized the communication between RP2040 coprocessor and ESP32
- Indicator; fixed an issue where the bootsound was not working.
- Add SD persistence for UI preferences; Implement optional SD mirroring of UI prefs to /MCTerm/prefs.txt; NVS remains source of truth, SD provides backup across device erases; Add sync versioning to prevent stale data issues; Support both direct SD (T-Deck) and remote SD (SenseCap via RP2040); Live SD presence detection with automatic sync every 10 seconds; Include prefs: UI timeout, navigation, battery, contacts, NTP, sounds, map settings; Keyboard blink prefs only for T-Deck (conditional compilation)
- Cyrillic letters updated/fixed.
Removed
- Mgmt / UI -> Map; Removed overlay when there are no GPS Contacts with GPS coordinates available.
Assets 7
v0.9.5
366a937 This is v0.9.5 from 23.01.2026.
Please have a look at the filename, to download the correct variant for your device!
[v0.9.5] — 2026年01月23日
Added
- Repeater; Added new Repeater Admin Overview Menu when you select in Contacts a Repeater -> login -> new menu with Repeater Admin options.
- Repeater; Added Reboot Repeater option in Repeater Admin Menu -> Device.
- Repeater; Added Repeater Device Info option in Repeater Admin Menu -> Device.
- Repeater; Added Repeater Radio Info option in Repeater Admin Menu -> Device.
- Repeater; Added Repeater TX Power Info option in Repeater Admin Menu.
- Repeater; Added Repeater Firmware Version Info option in Repeater Admin Menu.
- Repeater; Added Repeater CLI option in Repeater Admin Menu -> CLI.
- Repeater; Added proper output formatting for Repeater Neighbor Scan results.
- Repeater; Added ability to add/remove Contacts to/from Repeater ACL.
- Mgmt / Global -> Soundes; Added Sounds for various events (On/Off) and Volume Control.
- Mgmt / UI -> Light; Added Keyboard Blink on messages (Ch:1, DM:2) and Display Blink duration setting.
- Mgmt / UI -> Light; Added Display Auto Off timeout setting (5s, 15s, 30s, 1min, 5min, Never).
Changed / Improved
- Bootlogo now shows new Firmware name [M(esh)C(ore) Term].
- Mgmt / Log; Autoscroll is now enabled by default.
- Mgmt / Channels; separated Add/Join Channel into separate Buttons.
- Contacts; adapted text in statusbar "filter" to "sort" for clarity.
- Contacts; sort "favs" now shows favs on top (a-z), then rest a-z.
- Repeater; improved Neighbor Scan output formatting.
Fixed
- Repeater Login in Companion App: fixed an issue where login to a repeater from the Companion App did not work properly.
- Timezone was not working as expected: updated with a proper implementation using Proleptic Format for TZ strings (manual configuration step).
- Contacts with Emoji in their name could not send us DMs — fixed.
- Contacts; sorting of "last heard" was not working properly — fixed.
- Repeater; Telemetry request from Repeater contacts was not working properly — fixed.
- UI; Sound playback now continues even when the display turns off.
- Copy to Clipboard was not working properly in some cases — fixed.
- GPS renewed and improved detection and initialization process (should work more reliable now).