Skip to content

Meck v1.8 — Diacritics, Faster Page Scroll, True Power Off, BLE Boost

Pre-release
Pre-release

Choose a tag to compare

@pelgraine pelgraine released this 03 May 11:29
· 77 commits to main since this release

An update for the T-Deck Pro and T5S3 E-Paper Pro. This release adds accented character support for international users, page scroll on all list screens, true deep sleep power-off, BLE performance improvements, and numerous fixes. Ten firmware variants across both platforms.


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.7

🇨🇿 Accented Character Support

Meck now properly handles accented and diacritical characters throughout the UI — channel messages, contact names, and the e-book reader. Czech (ěščřžýáíé), Polish (ąćęłńóśźż), French (àâçéèêëïôùûü), German (äöüß), and all other Latin Extended characters are now supported.

Previously, non-ASCII characters in received messages would either disappear entirely or render as emoji sprite artifacts. All three font styles now display these characters correctly — no more missing letters where diacritics used to be.

Noto Sans at Larger text size renders accented characters with their full diacritical marks (carons, accents, cedillas, etc.) thanks to regenerated font files with Latin Extended-A glyph coverage. All other font and size combinations fold accented characters to their ASCII base letter (ě→e, ž→z, ñ→n, etc.) — you won't see the diacritic marks, but the letter itself is always visible.
586669026-a3d22972-4b66-4b2c-b736-528f814b9ca4
586668415-a3c38456-b98c-47f6-8c41-6cbacb2901c4

Faster Page Scroll (T-Deck Pro)

Shift+W and Shift+S now jump a full page at a time on all scrollable list screens: Contacts, Discovery, Last Heard, Notes (file list), Text Reader (file list), and Settings. The page size is calculated from the screen height and current font metrics, so it adapts automatically to your font and text size choices.

Single-press W/S still scrolls one item at a time.

True Power Off (T-Deck Pro)

The home screen now includes a Shutdown page. Selecting it enters ESP32-S3 deep sleep with no software wake sources — the CPU halts, peripheral power is cut (keyboard, fuel gauge, sensors), and the LoRa module is powered down with NSS held high to prevent parasitic current draw.

Only a hardware reset (reset button) or USB power-on will wake the device. This replaces the previous hibernate behaviour which maintained wake-on-packet capability. The old hibernate (with wake-on-LoRa) remains available on the auto-lock timeout.

New Emoji

Beer mug (🍺) added as emoji #77. The emoji picker now has 77 total sprites.

586668547-bd80ae7c-5d09-4016-b1ea-7d219a0d681c 586668673-89009912-e1af-45ee-8923-8023b5bed023

BLE Performance Improvements

The BLE companion transport has been upgraded for faster sync with companion apps:

  • 2M PHY negotiation — requests doubled air data rate on BLE 5.0 capable phones (supported on ESP32-S3)
  • Data Length Extension (DLE) — requests 251-byte link-layer PDU for larger transfers per connection event
  • Faster write interval — reduced from 15ms to 7ms between BLE writes
  • Larger frame size — MAX_FRAME_SIZE increased from 172 to 255 bytes
  • All channels marked read on app connect — connecting the companion app now clears all unread badges, so the device UI stays in sync with what you've seen in the app

Bug Fixes & Improvements

  • First-boot SPIFFS formatting — first-time flashers previously saw a static "Loading..." screen for 1-2 minutes while the internal storage partition was formatted, with no indication anything was happening. The device now displays "Formatting storage... First boot - please wait" during the format. If the auto-format fails (e.g. the partition contains leftover data from a previous firmware like stock LilyGo or Meshtastic), the partition is explicitly erased and reformatted with retries, rather than leaving the firmware in a broken state with no persistence.
  • Contact save deferral — contact saves are now deferred until 15 seconds after the last keypress, preventing SPI bus contention and micro-stutters during active typing. Voice session save deferral continues to work as before.
  • Contact auto-add serial commands — the contact auto-add settings (previously only configurable via the Settings screen or companion app) are now available via serial CLI: set contact.mode, set contact.autoadd, set contact.maxhops. The get all diagnostic output now includes contact mode info.
  • UTF-8 word wrapping — channel messages containing multi-byte UTF-8 characters now wrap correctly instead of breaking mid-character.

T-Deck Pro Firmware Variants

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


v1.8-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.8W-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.8-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.8A-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.8AW-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.8A-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.8-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.8-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.8-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.8.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: