Meck v1.0 — Unified Release for T-Deck Pro & T5S3 E-Paper Pro
Pre-releaseThe first combined release covering both supported hardware platforms. Ten firmware variants across two devices, one codebase.
📄 Meck v1.0 Readme Guide - March 2026.pdf is included in this release for easy reference — it covers all keyboard controls, screen navigation, settings, and feature documentation for both platforms.
📦 Convenience ZIPs:
v1.0-Meck-T-Deck-Pro-firmware.zipandv1.0-Meck-T5S3-firmware.zipbundle all variants for each platform into a single download.
⚠️ 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.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)
- Go to https://flasher.meshcore.co.uk
- Select Custom Firmware
- Load the
.binor_merged.binfile and click Flash - Select your device in the popup and click Connect
Flashing with esptool.py
If you prefer the command line, esptool.py can be used to flash firmware directly. First-time users should use the _merged.bin which includes everything the device needs to boot:
esptool.py --port /dev/ttyACM0 --baud 921600 write_flash 0x0 firmware_merged.bin
Note: On first boot after a fresh flash (or after erasing flash), you may see a SPIFFS mount error in serial output — this is normal. The filesystem auto-formats on first boot and everything proceeds as expected.
What's New Since v0.9.8 (T-Deck Pro)
🔗 Multibyte Path Hash Support
Meck now supports MeshCore v1.14's multibyte path hash mode, which significantly reduces hash collisions in larger networks. You can choose the path hash size in the Settings screen (press S from the home screen) or set it via USB serial with set path.hash.mode {0,1,2}.
| Mode | Bytes/hop | Max hops | Notes |
|---|---|---|---|
| 0 | 1 | 64 | Legacy — prone to hash collisions in larger networks |
| 1 | 2 | 32 | Recommended — effectively eliminates collisions |
| 2 | 3 | 21 | Maximum precision, rarely needed |
Nodes with different modes coexist on the same network — the mode only affects packets your node originates. Read more about what this means in practice: https://buymeacoffee.com/ripplebiz/path-diagnostics-improvements
🌑 Dark Mode (T-Deck Pro & T5S3)
Dark mode is now available on the T-Deck Pro as well as the T5S3. Toggle it in Settings to invert the display — white text on a black background. The setting persists across reboots.
📡 Mesh Tuning via Serial CLI
New serial commands for advanced mesh tuning — all configurable over USB without needing to recompile:
rxdelay— SNR-based flood delay (0–20, 0=disabled). Stronger signals processed first; weaker copies delayed and typically discarded as duplicates. Values below 1.0 have no practical effect. See the MeshSydney wiki for tuning profiles.af— Airtime factor (0–9, default 1.0). Adjusts internal timing windows. Keep consistent across nodes in your mesh.multi.acks— Redundant ACKs for direct messages (0 or 1, default changed to 1). Sends two ACKs instead of one for improved delivery confirmation.int.thresh— Interference threshold in dB (0=disabled, 14+=enabled). Scans channel activity before transmitting. Adds ~4s receive delay per packet — only recommended for high RF interference environments. Values 1–13 are not functional and will be rejected.gps.baud— Override GPS baud rate (0=compile-time default of 38400). Requires a reboot to take effect.
All settings are readable with get and writable with set, and persist to flash. Type help over serial for the full command reference.
📻 Adaptive Preamble Length
The LoRa preamble length now adjusts based on your spreading factor setting. Lower spreading factors (SF ≤ 8) use a 32-symbol preamble for reliable detection, while higher spreading factors (SF ≥ 9) use 16 symbols — each symbol is already long enough at higher SF. This improves receive reliability on fast/short-range radio presets without adding overhead on long-range settings.
🔧 Fixes Since v0.9.8
- Node discovery — fixed regression that broke the Discover screen
- Repeater admin login — login timeout now scales dynamically based on estimated hop count to the repeater, preventing premature timeouts on distant repeaters
- Repeater admin login routing — fixed flood-routed login for repeaters with no known direct path
- Web reader — fixed missing code regression that broke page rendering
- Serial CLI — now accepts both
\rand\nline terminators (fixes issues with some serial monitors that don't send\r)
🆕 LilyGo T5S3 E-Paper Pro Support
Meck v1.0 introduces full support for the LilyGo T5S3 E-Paper Pro V2 (H752-B, non-GPS, 868MHz) — a 4.7-inch e-ink touchscreen device with a 960×540 parallel display. This is a touch-only device (no physical keyboard), running the same MeshCore mesh networking stack as the T-Deck Pro.
T5S3 Features
All the core Meck functionality is available on the T5S3:
- Channel messaging — send and receive on all hashtag channels
- Contacts & Direct Messages — browse contacts by type, compose encrypted DMs
- Repeater Admin — remote repeater login, command categories, telemetry display
- E-Book Reader — TXT and EPUB reading from SD card
- Notes — on-device notepad
- Node Discovery — search for nearby mesh nodes
- Settings — full on-device radio configuration, channel management, and preferences
- Virtual keyboard — full QWERTY + symbol layers for text entry on the touchscreen
- Contact auto-add — configurable per contact type, with manual mode option
- Path hash mode — configurable in Settings, same as T-Deck Pro
- Web browser & IRC — text-centric web reader, DuckDuckGo Lite search, bookmarks, and standalone IRC client over WiFi (BLE and WiFi variants only)
T5S3-Specific Features
- Dark Mode — toggle in Settings to invert the display. Persists across reboots.
- Portrait Mode — rotate the display 90° for vertical reading. Toggle in Settings.
- Lock Screen — long-press the Boot button (3+ seconds) to lock the device. Shows a large clock, battery percentage, and unread message count. Touch is disabled while locked — press the Boot button to unlock.
- Backlight — the T5S3 V2 has a warm-tone front-light for reading in low light:
- Double-click Boot button — toggle backlight on/off
- Triple-click Boot button — low-brightness mode for night reading
- Hardware RTC — the T5S3 has a battery-backed real-time clock. Once the time is synced (via BLE or WiFi companion app pairing), the RTC keeps time across reboots — no GPS or re-pairing needed.
T5S3 Limitations (vs T-Deck Pro)
- No GPS — the H752-B variant does not include GPS hardware. No map screen.
- No physical keyboard — all text entry is via the on-screen virtual keyboard
- No audiobook player — the T5S3 does not have an audio DAC
- No SMS/Phone — no cellular modem
- No IRC/Web browser on the Standalone variant — the BLE and WiFi variants include the web browser and IRC client (same as on T-Deck Pro), but the Standalone variant excludes WiFi entirely for maximum battery life
T-Deck Pro Firmware Variants
Seven firmware variants for the LilyGo T-Deck Pro. Pick the right .bin for your hardware:
v1.0-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, and web browser. Up to 500 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.0W-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). WiFi is on by default at boot but can be toggled off in Settings to save power. No BLE companion app support. Up to 1,500 contacts and 20 channels.
v1.0W-Meck-4G-WiFi (2000mah battery version).bin
Same as the 4G-WiFi build but with the battery gauge calibrated for a 2000mAh cell. For T-Deck Pro boards with an upgraded battery and custom case.
v1.0-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, and map viewer are all still available (they use WiFi independently, not as a companion transport). Up to 1,500 contacts and 20 channels.
v1.0A-Meck-Audio-BLE (PCM5102A Audio only).bin
Everything in the 4G-BLE build plus the audiobook player, sleep timer, and auto-queuing — minus the 4G modem features. BLE companion support included. Up to 500 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.0AW-Meck-Audio-WiFi (PCM5102A Audio only).bin
Same as the Audio-BLE build but with WiFi replacing BLE as the companion transport. WiFi is on by default at boot but can be toggled off in Settings to save power. No BLE companion app support. Up to 1,500 contacts and 20 channels.
⚠️ PCM5102A audio hardware only — same GPIO conflict applies. Do not flash on 4G boards.
v1.0A-SA-Meck-standalone-firmware (PCM5102A Audio only).bin
Same as the Audio-BLE build but with Bluetooth and WiFi completely removed at compile time. 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 1,500 contacts and 20 channels.
Battery life: Disabling Bluetooth extends estimated runtime from ~10.5 hours to ~20.5 hours on the 1400mAh cell.
⚠️ 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, non-GPS, 868MHz):
v1.0-Meck-T5S3Pro-BLE_NOGPS.bin
BLE companion support. Connect to the MeshCore companion app on your phone or computer via Bluetooth. Includes web browser, DuckDuckGo search, and IRC client over WiFi. Up to 500 contacts and 20 channels.
v1.0-Meck-T5S3Pro-WiFi_NOGPS.bin
WiFi companion support. Connect via the MeshCore web app, iOS/Android app, meshcore.js, or Python CLI over your local network (TCP port 5000). Includes web browser, DuckDuckGo search, and IRC client. Up to 1,500 contacts and 20 channels.
v1.0-Meck-T5S3Pro-Standalone_NOWIFI_NOBLE_NOGPS.bin
No BLE or WiFi — maximum battery life. The web browser, IRC client, and map viewer are not available on this variant. All other on-device features are available. Up to 1,500 contacts and 20 channels.
⚠️ T5S3 — THIS FIRMWARE WILL NOT WORK IF YOUR LILYGO T5 E-PAPER S3 PRO HAS GPS
This release targets the H752-B (non-GPS) variant only. If your board has a GPS module (H752-01 or H752-02), do not flash this firmware.
T5S3 Quick Start
The T5S3 is a touchscreen device — navigation is done via taps and swipes:
- Tap a menu item or icon to select it
- Swipe/drag to scroll through lists and menus — takes a little getting used to the swipe-drag motion for scrolling through menu options
- Boot button (GPIO0): Double-click for backlight, triple-click for low brightness, long-press (3+ seconds) for lock screen
- Time is set when you first pair with the MeshCore app on your phone or computer (via WiFi or BLE). The hardware RTC will keep the time after that first sync.
MeshCore Companion Apps
BLE variants connect to the standard MeshCore companion apps:
- Web: https://app.meshcore.nz
- Android: https://play.google.com/store/apps/details?id=com.liamcottle.meshcore.android
- iOS: https://apps.apple.com/us/app/meshcore/id6742354151
WiFi variants connect via TCP on port 5000:
- Web: https://app.meshcore.nz
- iOS: https://apps.apple.com/us/app/meshcore/id6742354151
- Android: https://play.google.com/store/apps/details?id=com.liamcottle.meshcore.android
- meshcore.js: https://github.com/liamcottle/meshcore.js
- Python CLI: https://github.com/fdlamotte/meshcore-cli
See all the features and updates available in Meck from v0.9.8 onwards here: https://github.com/pelgraine/Meck/releases/tag/wifi-1