Skip to content

Meck v1.9 — Trace Route Screen, DM Persistence, Minor fixes

Pre-release
Pre-release

Choose a tag to compare

@pelgraine pelgraine released this 07 May 10:35
· 65 commits to main since this release

A small but meaningful update for the T-Deck Pro and T5S3 E-Paper Pro. This release adds an on-device trace route screen, fixes DM message history loss across reboots, and patches a handful of settings that weren't being persisted properly.


First-Time Flashing — Read This First

Each firmware is provided in two formats:

  • filename.bin — the application firmware only. Use this for updating an existing Meck install (including OTA updates from your phone).
  • filename-merged.bin — includes the bootloader, partition table, and application firmware in a single image. Use this if you are flashing Meck for the first time, coming from a different firmware, or if your device is not booting correctly after an update.

If in doubt, use the -merged.bin file. It will always work regardless of what was previously on the device.

Flashing with the MeshCore Web Flasher (recommended)

  1. Go to https://flasher.meshcore.io/
  2. Select Custom Firmware
  3. Load the .bin or -merged.bin file and click Flash
  4. Select your device in the popup and click Connect

Flashing with esptool.py

esptool.py --port /dev/ttyACM0 --baud 921600 write_flash 0x0 firmware-merged.bin

What's New Since v1.8

🔍 Trace Route Screen (T-Deck Pro)

Meck now has an on-device equivalent to the trace path feature in the MeshCore companion app. Press R from the home screen to open the trace screen, build a repeater chain, and run a trace — no BLE/WiFi pairing or phone needed.

The path can be built two ways:

  • + Add repeater — opens a picker showing all known Repeater contacts. Press Enter on a repeater to append it to the path. Repeat to build multi-hop chains.
  • Type Path — opens an inline text editor for comma-separated decimal hash values (e.g. 3601,2198,1244,2198,3601), matching the format the companion app uses. Useful when the repeater isn't in your contacts but you know its hash.

Once the path is built, select Run Trace and Meck sends a PAYLOAD_TYPE_TRACE packet direct-routed through the chain. Each repeater that recognises its hash appends its receive SNR before forwarding. When the packet completes the round-trip, the screen shows per-hop SNR results and the round-trip time.

A few things worth knowing:

  • The path must be symmetric for a round-trip. To trace through repeaters A → B → C and back, type A,B,C,B,A. You also need to be able to hear the last repeater in the chain (the one that responds) directly.
  • 1-byte vs 2-byte hash mode is selectable on the screen and follows your device's path.hash.mode setting by default. The companion app uses 2-byte mode in most regions.
  • Up to 16 hops, with a 30-second timeout per trace.
Key Action
W / S Navigate menu items
Enter Select / confirm / open editor
A / D Toggle hash mode (1-byte / 2-byte) on the mode row
0–9 , Enter path values when the inline editor is open
Q Cancel edit / back to home screen

T5S3 users with a CardKB attached can also access the trace screen via the R key.

📩 DM Message Persistence

DM message history now survives reboots correctly. Previously, the in-memory ChannelMessage struct tracked which peer each DM belonged to, but the on-disk MsgFileRecord did not — so although the messages themselves were saved to SD, every DM lost its peer association on reload and ended up in a single muddled bucket.

The fix adds a dm_peer_hash field to the on-disk record and bumps MSG_FILE_VERSION from 3 to 4. New DMs received under v1.9 will persist correctly with their peer association intact.

⚠️ Existing v1.8 message history on the SD card will be discarded on first boot of v1.9 due to the version bump. Channel messages and DMs received under v1.8 will not migrate forward — only messages received from v1.9 onward will appear in your history. This is a one-time event.

Minor Home UI Alignment Update (T-Deck Pro)

The hibernate and shutdown icon vertical positioning has been corrected to sit consistently with the prompt text below it.

Persistence Fixes

Three settings that should have been saving across reboots but weren't:

  • Font Style — the Classic / Noto Sans / Montserrat selection now sticks across power cycles (previously reverted to Classic on every boot).
  • Default Region (scope name) — the region tag set in Settings → Default Region now persists.
  • Default scope key — the corresponding 16-byte channel secret now persists, so channels created under a default region keep working after reboot.

These fields were defined in NodePrefs but were missing from the loadPrefs/savePrefs reads and writes in DataStore, so they silently reset to defaults on every boot. They now load and save correctly alongside the rest of the preferences.


T-Deck Pro Firmware Variants

Six companion firmware variants for the LilyGo T-Deck Pro:


v1.9-Meck-4G-BLE.bin
For T-Deck Pro 4G boards. Full-featured build — messaging, contacts, direct messages, repeater admin, e-book reader, notes, emoji, GPS, map viewer, BLE companion app support, SMS & Phone app, IRC client, web browser, and OTA firmware update. Up to 2,000 contacts and 20 channels.

Note: BLE is toggled off at boot to save battery. Navigate to the Bluetooth home page and press Enter to enable it when you want to connect to the app.

v1.9W-Meck-4G-WiFi.bin
For T-Deck Pro 4G boards. Same as the 4G-BLE build but with WiFi replacing BLE as the companion transport — connect via the MeshCore web app, iOS/Android app, meshcore.js, or Python CLI over your local network (TCP port 5000). No BLE companion app support. Up to 2,000 contacts and 20 channels.

v1.9-4G.SA-Meck-standalone-firmware (A7682E (4G) version).bin
For T-Deck Pro 4G boards. No BLE or WiFi companion — maximum battery life. The web browser, IRC client, map viewer, and OTA firmware update are all still available (they use WiFi independently, not as a companion transport). Up to 2,000 contacts and 20 channels.

v1.9A-Meck-Audio-BLE (PCM5102A Audio only).bin
Everything in the 4G-BLE build plus the audiobook player, alarm clock, sleep timer, auto-queuing, and voice notes over LoRa — minus the 4G modem features. BLE companion support included. Up to 2,000 contacts and 20 channels.

⚠️ PCM5102A audio hardware only. The I2S audio pins (GPIO 7, 8, 9) conflict with the A7682E modem control lines — do not flash on 4G boards.
Note: BLE is toggled off at boot to save battery. Navigate to the Bluetooth home page and press Enter to enable it when you want to connect to the app.

v1.9AW-Meck-Audio-WiFi (PCM5102A Audio only).bin
Same as the Audio-BLE build but with WiFi replacing BLE as the companion transport. Includes voice notes over LoRa. No BLE companion app support. Up to 2,000 contacts and 20 channels.

⚠️ PCM5102A audio hardware only — same GPIO conflict applies. Do not flash on 4G boards.

v1.9A-SA-Meck-standalone-firmware (PCM5102A Audio only).bin
Same as the Audio-BLE build but with Bluetooth and WiFi completely removed at compile time. Includes voice notes over LoRa. The radio hardware is never initialised, giving a significant battery life improvement. The web browser, IRC client, and map viewer are not available on this variant. Up to 2,000 contacts and 20 channels.

⚠️ PCM5102A audio hardware only — do not flash on 4G boards.


T5S3 E-Paper Pro Firmware Variants

Three firmware variants for the LilyGo T5S3 E-Paper Pro (V2, H752-B):


v1.9-Meck-T5S3Pro-BLE_NOGPS.bin
BLE companion build. Connect to MeshCore companion apps via BLE. Touch-driven UI with virtual keyboard. Up to 2,000 contacts and 20 channels.

Note: BLE is toggled off at boot. Navigate to the Bluetooth home page and long-press the screen to enable it.

v1.9-Meck-T5S3Pro-WiFi_NOGPS.bin
WiFi companion build. Connect via MeshCore web app, meshcore.js, or Python CLI over local network (TCP port 5000). Includes the web browser, IRC client, and OTA firmware update. Up to 2,000 contacts and 20 channels.

v1.9-Meck-T5S3Pro-Standalone_NOWIFI_NOBLE_NOGPS.bin
No BLE or WiFi — maximum battery life. Touch-driven standalone operation with full messaging, contacts, reader, and notes. Up to 2,000 contacts and 20 channels.

All T5S3 variants include CardKB support (auto-detected via QWIIC).


📄 Meck_README_v1.9.pdf is included in this release — it covers all keyboard controls, touch gestures, screen navigation, settings, and feature documentation for all platforms, provided in PDF form for convenience.

MeshCore Companion Apps

BLE variants connect to the standard MeshCore companion apps:

WiFi variants connect via TCP on port 5000: