MeshCore Ninja
← Meck

Meck · Releases

from GitHub · updated 2026-06-21

18 releases

  1. v1.12.2 # 5 days ago · 2026-06-16 21:13 UTC

    v1.12.2 is a small patch release on top of v1.12.1. It fixes a regression on the T-Deck Pro and T-Deck Max where pressing "q" (or "Q") during text entry was caught as a back/exit shortcut instead of being typed. This affected two screens -- the Notes editor and the WiFi password prompt -- so any note or WiFi password containing the letter "q" could not be entered. Both screens now accept "q"/"Q" as normal characters, with Shift+Backspace used to leave instead.

    What's Changed in v1.12.2

    Notes editor -- "q" now types instead of exiting

    Previously, pressing "q" while editing a note could exit the editor (when the buffer was empty or unchanged) rather than inserting the letter. "q"/"Q" are now entered like any other character. Shift+Backspace continues to save and exit.

    WiFi password entry -- "q" now types instead of jumping back

    In the WiFi password screen, "q"/"Q" were intercepted and sent you back to the network list, so passwords containing those letters could not be entered. They are now accepted as password characters. Shift+Backspace returns to the network list, and the on-screen footer now reads Enter:Connect Sh+Del:Exit.

    All other devices and features are unchanged from v1.12.1.

    First-Time Flashing

    Each build comes in two forms:

    • <name>-merged.bin -- bootloader, partition table, and firmware in a single image. Flash at address 0x0. Use this for a first-time flash, when coming from other firmware, or if a device will not boot after an update.

    • <name>.bin -- application firmware only. Use this to update an existing Meck install, including OTA updates from your phone (Settings -> OTA Tools).

    The partition layout supports dual OTA slots, so the previous firmware remains on the inactive partition as an automatic rollback target if a new image fails to boot.

    MeshCore Companion Apps

    BLE variants connect to the standard MeshCore companion apps:

    WiFi variants connect via TCP on port 5000:

  2. v1.12.1 # 10 days ago · 2026-06-10 23:01 UTC

    v1.12.1 is a small patch release on top of v1.12. It corrects the configured battery capacity for the T-Deck Max from 1500 mAh to 1400 mAh, matching the cell actually shipped in the device. This improves the accuracy of battery percentage and runtime estimates on the Max.

    What's Changed in v1.12.1

    T-Deck Max battery capacity -- 1500 -> 1400 mAh

    The Max's battery capacity was set to 1500 mAh; it is now 1400 mAh to reflect the real cell. No other behaviour changes.

    All other devices and features are unchanged from v1.12..

    Despite the LilyGO T-Deck Max readme reflecting 1500mAh, I've removed the battery from my Max (to put in a 2500mAh battery with a custom case) and can confirm my T-Deck Max battery was actually the same 1400mAh used in the T-Deck Pro.

    Screenshot 2026-06-11 at 8 56 44 amIMG_3378

    First-Time Flashing

    Each build comes in two forms:

    • <name>-merged.bin -- bootloader, partition table, and firmware in a single image. Flash at address 0x0. Use this for a first-time flash, when coming from other firmware, or if a device will not boot after an update.

    • <name>.bin -- application firmware only. Use this to update an existing Meck install, including OTA updates from your phone (Settings -> OTA Tools).

    The partition layout supports dual OTA slots, so the previous firmware remains on the inactive partition as an automatic rollback target if a new image fails to boot.

    MeshCore Companion Apps

    BLE variants connect to the standard MeshCore companion apps:

    WiFi variants connect via TCP on port 5000:

  3. v1.12 # 15 days ago · 2026-06-06 21:30 UTC

    v1.12 is a polish-and-power release across all three companion devices. The headline addition is an on-device Rx Log packet sniffer -- a live view of every packet your radio hears -- available on every build. Alongside it: an unread badge for the SMS inbox, a batch of T-Deck Max power, wake, and GPS fixes, and a set of channel and repeater refinements.

    What's New in v1.12

    Rx Log packet sniffer -- all devices

    A new on-device packet sniffer, mirroring the Rx Log in the MeshCore companion app. Open it from Settings -> Rx Log >>. It captures every packet the radio receives -- including relays destined for other nodes, since capture happens before filtering -- into a buffer of the most recent 100 packets, newest first. Each entry shows the route type (flood/direct) and payload type, the receive time and wire size, the packet hash, the hop path, and the channel hash/name (group messages) or the From/To node hashes (addressed packets). For channel messages your device can decrypt, the decoded "sender: message" line is attached too. The log is RAM-only and clears on reboot.

    A running RX packets count also appears on the radio details page on the home screen, just beneath the noise-floor reading. It counts flood and direct packets received since boot and resets on reboot or when you change radio parameters.

    SMS Inbox unread badge -- 4G and Max

    The SMS app's inbox entry now shows a count of unread received messages in brackets (e.g. SMS Inbox [3]), and the badge disappears once everything is read. Read state is stored per message on the SD card, so the count survives reboots and modem power-cycles. Opening a conversation marks it read.

    T-Deck Max power, wake, and GPS fixes

    • USB-C wake after shutdown -- after a full power-off, plugging in USB-C now reliably powers the Max back on. The Max uses the SY6970 charger (0x6A); its BATFET shutdown is now handled to match, so charger plug-in re-wakes the board.
    • GPS power -- GPS power on the Max is routed through the XL9555 I/O expander rather than a dedicated pin; powering it on and off now works correctly.
    • CPU frequency scaling -- idle / boost / low-power CPU management to trim current draw, with the low-power floor held at 80 MHz (40 MHz breaks I2C on the Max).
    • Idle BLE power -- the BLE controller now stays powered down until you first turn Bluetooth on, reclaiming its idle current in the standalone-first default. This applies to all ESP32 BLE builds, not just the Max.
    • Minesweeper -- grid alignment fixes and a larger 15x20 / 50-mine board sized to the Max e-ink panel.

    Channel and repeater refinements -- all devices

    • Region on incoming messages -- the message path-detail view now shows the resolved region for scoped channel messages it recognises.
    • Path detail -- the route line now reports hop count and bytes-per-hop (e.g. "2 hops (2-byte)"), and the last-message age line shows hop/byte info.
    • Repeater admin -- two new configuration commands: Set Flood Max Unscoped (flood.max.unscoped) and Set Flood Adv Max (flood.max.advert).

    Documentation

    The README and the hyperlinked Meck_README_v1.12.pdf are updated for this release.

    First-Time Flashing

    Each build comes in two forms:

    • <name>-merged.bin -- bootloader, partition table, and firmware in a single image. Flash at address 0x0. Use this for a first-time flash, when coming from other firmware, or if a device will not boot after an update.

    • <name>.bin -- application firmware only. Use this to update an existing Meck install, including OTA updates from your phone (Settings -> OTA Tools).

    The partition layout supports dual OTA slots, so the previous firmware remains on the inactive partition as an automatic rollback target if a new image fails to boot.

    Build Files

    Grouped by device. Each variant ships as a merged (-merged.bin, first flash) and non-merged (.bin, …

  4. maxv1.11 # 17 days ago · 2026-06-04 18:56 UTC

    ⚠️ Files from 2+hrs ago have now been patched with the correct bootloader. Please re-download fresh copies if you've been having trouble booting for the first time⚠️

    This release adds the LilyGo T-Deck Max as a supported device. It runs the full Meck v1.11 feature set with the same on-device UI, keyboard controls, and screens as the T-Deck Pro -- all of those apply unchanged. The firmware version stays at v1.11 because the core feature set is the same, but the Max has hardware the other boards don't, so this build exposes several capabilities the standard T-Deck Pro builds can't.

    If you are on a standard T-Deck Pro, T-Deck Pro 4G, T-Deck Pro Audio, or T5S3, use the v1.11 release builds instead.


    What the T-Deck Max Adds

    The headline difference is hardware: the Max carries an A7682E 4G modem and an ES8311 audio codec at the same time, wired through an XL9555 I/O expander. On the T-Deck Pro the modem and the audio DAC share one hardware slot and are mutually exclusive; on the Max you get the SMS & Phone app, the audiobook player, the alarm clock, and cellular data on a single device. The Max also adds a CST328 capacitive touchscreen, three capacitive front buttons, a DRV2605 haptic motor for vibrate alerts, an e-ink frontlight, and a 1500 mAh battery with a BQ27220 fuel gauge.

    4G and Audio at the Same Time

    Every Max build includes both the 4G modem and the audio codec -- there is no "audio vs 4G" split like the T-Deck Pro. The home screen carries the full app set: Audiobooks (P), Alarm (K), Phone & SMS (T), Browser & IRC (B), Discover (F), and Voice Messages (Mic). Audio output runs through a shared speaker mux that switches between the modem (calls, ringtones, modem tones) and the ES8311 codec (audiobooks, alarms, notification MP3s) automatically.

    The Max records and plays voice notes through its ES8311 codec (the same output path that drives audiobooks and alarms). Sending a recorded note over the mesh is not yet verified -- see Known Limitations below.

    Antenna (Internal / External)

    The Max has both an on-board internal antenna and an external MMCX antenna connector, with a switch in Settings to select between them. Internal is the default -- if you want to use an external MMCX antenna, change the switch in Settings first.

    E-Ink Frontlight with Adjustable Brightness

    The Max has an e-ink frontlight -- a first for the T-Deck line. The on-level is set in Settings → Backlight Brightness, adjustable from 5% to 100% in 5% steps (default 100%); this setting only appears on the Max. You can switch the frontlight on with the new Heart capacitive button (turns on at the configured brightness) or with Alt + B (turns on at minimum brightness).

    Capacitive Touch Buttons

    The Max adds a CST328 capacitive touchscreen plus three capacitive buttons along the front bezel, none of which the T-Deck Pro has:

    • Heart -- toggle the e-ink frontlight (see above)
    • Speech bubble -- jump straight to the channel picker (same as pressing M)
    • Paper plane -- jump straight to the DM inbox

    Buzzer (Vibrate) Notifications

    The Max's DRV2605 haptic motor can be used for silent alerts. In Settings → Channels, highlight a channel, press T to open the notification tone picker, and choose the new Buzzer (vibrate) entry (just below "Default (silent)"). Incoming messages on that channel pulse the motor instead of sounding a tone -- useful for silent alerts. The Max also supports custom MP3 tones from the /alarms/ folder, like the T-Deck Pro audio variant.

    Multi-Constellation GPS

    The Max's GPS is configured for multi-constellation positioning -- GPS, Galileo, and BeiDou (via the $PCAS04,7 command) -- for faster fixes and better coverage than single-constellation GPS.

  5. v1.11 # 1 month ago · 2026-05-22 22:10 UTC

    This release adds private channel support, the ability to share channels with other Meck users via encrypted DM, and a full config export/import system for backing up and migrating device configurations. Also includes two new emoji, an expanded Minesweeper grid on the T5S3, and a fix for contacts with stuck clocks sinking in the recency-sorted contacts list.


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

    Private Channels

    Meck now supports private channels alongside the existing public hashtag channels. The difference is in how the channel secret is generated:

    • Public (hashtag) channels — type a name starting with # (e.g. #camping). The 16-byte secret is derived deterministically from the name via SHA-256, so anyone on any MeshCore device who creates the same hashtag name gets the same key and can communicate on that channel.
    • Private channels — type a name without the # prefix (e.g. team-alpha). A cryptographically random 16-byte secret is generated, meaning only devices that have been explicitly given the key can participate.

    How to create a private channel:

    1. From the home screen, press S to open settings
    2. Scroll down to the Channels >> section and press Enter to open it
    3. Navigate to + Add Channel (# = public) and press Enter
    4. Type the channel name without a # prefix, then press Enter

    The channel is created with a random secret. To let other Meck users join, use channel sharing (see below).

    Channel Sharing via DM

    You can now share any channel — public or private — with another Meck user by sending them the channel name and secret as an encrypted direct message. This is particularly useful for private channels, where sharing the secret manually would mean typing 32 hex characters.

    How to share a channel:

    1. From the home screen, press S to open settings
    2. Scroll down to the Channels >> section and press Enter to open it
    3. Navigate to the channel you want to share
    4. Press C to open the contact picker
    5. Select a contact and press Enter to send

    The recipient's device automatically adds the channel to their channel list (if it doesn't already exist and there's an empty slot). An alert confirms the channel was added. In the DM conversation, both sender and recipient see a sanitised message ("Shared channel: name") rather than the raw protocol data.

    On the T5S3, channel sharing works the same way via the CardKB keyboard.

    Config Export/Import

    A new Export/Import >> sub-screen in Settings lets you back up and restore your device configuration via JSON files on the SD card. This is useful for migrating settings to a new board, keeping a backup before reflashing, or cloning a configuration across multiple devices.

    Exporting:

    1. From the home screen, press S to open settings
    2. Scroll down to Export/Import >> and press Enter
    3. Select Export to SD >> and press Enter
    4. Toggle which sections t …
  6. v1.10 # Pre-release 1 month ago · 2026-05-14 23:37 UTC

    A feature-packed update for the T-Deck Pro. This release adds custom notification tones for both the Audio and 4G variants, per-channel notification preferences with @mention support, the ability to delete message history per channel, a games menu with Snake and Minesweeper, and expands the maximum group channel count to 40 across all builds.


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

    Custom Notification Tones (Audio + 4G Variants)

    Each channel can now have its own notification tone instead of the default buzzer. When a message arrives on a channel with a custom tone assigned, that tone plays through the speaker and the buzzer is suppressed.

    How to set a custom tone:

    1. From the home screen, press S to open settings
    2. Scroll down to the Channels >> section and press Enter to open it
    3. Navigate to the channel you want to customise
    4. Press T to open the tone picker
    5. Use W/S to browse the available tones, then press Enter to select
    6. To remove a custom tone, select Default (silent) from the top of the list

    Audio variant (PCM5102A DAC): A selection of bundled tones are copied to the /alarms/ folder on the SD card on first boot. You can also drop your own MP3 files into that folder -- they'll appear in the tone picker alongside the bundled options. This gives you complete flexibility to use any short MP3 as a notification sound.

    4G variant (A7682E modem): Seven bundled notification tones are embedded in the firmware as 8kHz mono WAV files. On first boot (with the 4G modem enabled in settings and the red LED on and blinking to indicate the modem is ready), the tones are transferred to the modem's internal filesystem. Playback goes through the modem's own speaker amplifier. Custom user-supplied tones are not supported on the 4G variant -- only the bundled set is available. The 4G modem must be switched on in settings for the notification tones to work, as all audio output on the 4G variant goes through the modem hardware.

    Available bundled tones: Bell, Ding, High Trill, Low Soft Ding (x2), Mid Trill, and Soft Notif. All are short, 1-2 second alert sounds.

    Per-Channel Notification Preferences

    Each channel and the DM inbox can now be individually set to one of three notification levels:

    • All -- notify on every message (default)
    • @ (Mentions) -- only notify when someone tags you with @YourNodeName or @[YourNodeName] in their message
    • Off -- completely muted (no buzzer, no custom tone, no keyboard backlight flash, no screen wake, no toast popup)

    Messages are always stored in history regardless of the notification setting -- only the alerts and unread badges are suppressed. You won't miss anything; you just won't be interrupted.

    How to set notification preferences:

    1. From the home screen, press S to open settings
    2. Scroll down to the Channels >> section and press Enter to open it
    3. Navigate to the channel you w …
  7. v1.9 # Pre-release 2 months ago · 2026-05-07 10:35 UTC

    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 eve …

  8. v1.8 # Pre-release 2 months ago · 2026-05-03 11:29 UTC

    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
  9. v1.7 # Pre-release 2 months ago · 2026-04-19 11:28 UTC

    An update for the T-Deck Pro and T5S3 E-Paper Pro. This release adds a channel picker screen for quick channel switching, MeshCore region scope support for controlling flood message propagation, selectable font styles (Classic, Noto Sans, Montserrat), an expanded emoji picker, and numerous bug fixes. Ten firmware variants across both platforms.

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


    ⚠️ 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.6

    📋 Channel Picker Screen (T-Deck Pro & T5S3)

    The A and D keys (T-Deck Pro) and swipe left/right (T5S3 channel screen) now open a channel picker instead of cycling through channels one at a time. The picker shows all your channels and the DM inbox in a single view with unread message badges, so you can jump directly to any channel.

    On the T5S3, the picker displays a vertical bubble list matching the Meck P4 aesthetic — full-width outlined bubbles with the channel name left-aligned and unread badge right-aligned. On the T-Deck Pro, it uses a compact vertical list. Select a channel and press Enter (or tap) to switch to it. Press Q or Boot to go back.

    The previous A/D cycling behaviour on the channel messages screen has been replaced — A and D now both open the picker. The footer hints have been updated accordingly (A/D:List instead of A/D:Ch).

    🌏 Region Scope (MeshCore v1.15+ Compatibility)

    Meck now supports region scoping for flood messages, bringing it in line with MeshCore v1.15. Regions limit how far your flood messages propagate through the mesh — when you set a region, outgoing messages are tagged with a transport code that repeaters use to decide whether to forward them. Messages sent without a region reach all repeaters via the default wildcard, same as always.

    Device-wide default region: Set a default region in Settings → Default Region (e.g. au-nsw). This applies to all channels and DMs unless a channel has its own override.

    Per-channel region: Each channel can have its own region scope. In Settings → Channels, select a channel and press Enter to edit its region. Setting a per-channel region overrides the device default for that channel only.

    Serial commands: set region au-nsw, get region, set channel.scope 2 au-syd, get channel.scope 2, get channels (now shows region scope tags). See the Serial Settings Guide for full documentation.

    Settings nudge: When exiting settings, if no region is configured anywhere (no device default and no per-channel scopes), a prompt reminds you to consider setting one. You can dismiss it to stay unscoped.

    Region names are determined by your local mesh community — check with your local group for the names in use. Common patterns follow ISO 3166 country/subdivision codes (e.g. au f …

  10. v1.6 # Pre-release 3 months ago · 2026-03-30 17:08 UTC

    An update for the T-Deck Pro and T5S3 E-Paper Pro. This release adds voice note recording and playback over LoRa between Meck audio devices (or to any mesh device via the Meck-Mycelium web app), a new remote repeater firmware for managing a MeshCore repeater from anywhere in the world over cellular MQTT, and refined contact export with per-contact selection. Ten firmware variants across both platforms.

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


    ⚠️ 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.co.uk/
    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.5

    🎙️ Voice Notes Over LoRa (T-Deck Pro Audio Variant)

    Record and send voice messages of up to 12 seconds over LoRa — no internet, no cellular, just the mesh. Audio is encoded on-device using Codec2 at 1200 bps, which compresses each second of speech into a single 150-byte LoRa packet. This means voice notes use very little airtime relative to what they deliver — a 5-second message is just 5 packets, and a full 12-second recording is 12 packets.

    Voice notes can be sent to:

    • Another T-Deck Pro Audio device — the message is decoded and plays automatically through the headphone jack on receipt. Headphones are recommended as the built-in speaker is very quiet.
    • Any MeshCore companion device — connect via BLE to the Meck-Mycelium web app in a Chrome browser on your phone. Voice messages appear as tappable playback bubbles in the DM view and play through your phone's speaker.

    Voice notes are sent as direct messages using a pre-set path (direct or multi-hop). The packets are sent with staggered 3-second delays between each one to avoid congesting the channel, so delivery time depends on recording length and your radio preset. For example, on a 62.5 kHz / SF7 preset (e.g. Australia Narrow), a 5-second voice note takes roughly 20 seconds to arrive, and a 12-second recording takes about 42 seconds.

    How to send a voice note:

    1. Set a path for your contact first. Go to Contacts (press C from the home screen), scroll to your contact, and press P to open the Path Editor. Press Enter to select 1-byte or 2-byte path encoding, then use S to scroll down and either add repeater hops or set the contact as direct (zero hops). Scroll to Save & Exit and press Enter.

    2. Record your message. Press the Microphone key (the zero key on the T-Deck Pro keyboard) to open the Voice Messages screen. Press and hold the Microphone key to start recording. Release the key to stop. You can record up to 12 seconds.

    3. Choose a recipient and send. Press S to open the contact picker. Contacts with a direct (zero-hop) path appear at the top of the list for convenience. Tap or scroll to highlight your contact, then press Enter to send. A "Voice sent!" confirmation will a …

  11. v1.5 # Pre-release 3 months ago · 2026-03-27 14:52 UTC

    An update for both the T-Deck Pro and T5S3 E-Paper Pro. This release adds an alarm clock app for the audio variant, a user-selectable larger font mode, significantly faster BLE companion contact sync, an OTA SD-based firmware file manager, upstream MeshCore routing fixes, and several bug fixes. Nine firmware variants across both platforms.

    📄 Meck_README_v1.5_28_March_2026.pdf is included in this release — it covers all keyboard controls, touch gestures, screen navigation, settings, and feature documentation for 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.co.uk/
    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.3

    ⏰ Alarm Clock (T-Deck Pro Audio Variant)

    Set up to five daily alarms that play custom MP3 sounds through the PCM5102A DAC. Alarms trigger even when the device is on other screens or playing an audiobook. A bell icon displays in the home screen UI header bar when the alarm has been set to ON.

    Setup:

    1. Place MP3 files (44100 Hz sample rate) in /alarms/ on the SD card
    2. Open the alarm clock from the home screen (press K)
    3. Select an alarm slot (1–5), set the time, and choose an MP3 file from the list

    When an alarm fires:

    • The selected MP3 plays through the headphone jack
    • Press Z to snooze for 5 minutes
    • Press any other key to dismiss

    Alarm configuration is stored in /alarms/.alarmcfg on the SD card. Alarms persist across reboots — if the RTC has valid time (via GPS or companion app sync), alarms will fire at the correct time after a restart.

    Note: MP3 files should be encoded at 44100 Hz sample rate. Lower sample rates may cause distortion due to ESP32-S3 I2S hardware limitations (same requirement as the audiobook player).

    alarm_clock

    🔤 Larger Font Mode (T-Deck Pro & T5S3)

    A new display option that increases the text size across channel messages, contacts, the DM inbox, and repeater admin screens. Useful for improved readability, especially on the T-Deck Pro's compact 240×320 display.

    Enable it in Settings → Larger Font (toggle on/off). The setting persists across reboots.

    IMG_1852

    ⚡ Faster BLE Companion Sync (T-Deck Pro & T5S3)

    BLE contact sync with the companion app is now approximately twice as fast. Loading 460 contacts previously took around 30 seconds — it now completes in roughly 15 seconds. The improvement applies to both the T-Deck Pro BLE and T5S3 BLE firmware variants.

    📂 OTA Tools: SD File Manager (T-Deck Pro & T5S3)

    The Settings screen now has an OTA Tools submenu containing two utilities: the existing Firmware Update and a new SD File Manager. The file manager creates a WiFi access point (same as the firmware updater) and serves a browser-based interface where you can …

  12. v1.3 # Pre-release 3 months ago · 2026-03-23 04:21 UTC

    An update for both the T-Deck Pro and T5S3 E-Paper Pro. This release adds over-the-air firmware update capabilities from your phone or other device, a DM inbox for reading received direct messages, roomserver message handling, and per-contact unread indicators. Nine firmware variants across both platforms.

    📄 Meck_README_v1.3_23_March_2026.pdf is included in this release — it covers all keyboard controls, touch gestures, screen navigation, settings, and feature documentation for 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.

    ⚠️ Important: The merged filename uses a hyphen (-merged.bin) not an underscore. The MeshCore web flasher uses this suffix to detect merged firmware and flash at the correct address (0x0). Files without -merged.bin in the name are written at 0x10000, which will fail on a clean device.

    Flashing with the MeshCore Web Flasher (recommended)

    1. Go to https://flasher.meshcore.co.uk/
    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.2

    📲 OTA Firmware Update (T-Deck Pro & T5S3)

    Update your firmware directly from your phone — no computer or serial cable required. The device creates a temporary WiFi access point, and you upload the new firmware via your phone's browser.

    How it works:

    1. Download the new .bin file to your phone (from GitHub Releases, Discord, etc.)
    2. On the device: Settings → Firmware Update → Enter (T-Deck Pro) or tap (T5S3)
    3. The device starts a WiFi network called Meck-Update-XXXX and displays the connection details
    4. On your phone: connect to the Meck-Update WiFi network, open a browser, and go to 192.168.4.1
    5. Tap Choose File, select the .bin, and tap Upload
    6. The device receives the file, saves it to SD, verifies the image, flashes it to the inactive partition, and reboots

    Total time is under 2 minutes. The device's existing partition layout already supports dual OTA partitions — no initial USB reflash is needed. If the new firmware fails to boot, the ESP32 bootloader automatically rolls back to the previous working firmware.

    Note: Use the non-merged .bin file for OTA updates, not the merged binary. The merged binary includes the bootloader and partition table, which are only needed for first-time USB flashing.

    💬 DM Inbox (T-Deck Pro & T5S3)

    Received direct messages can now be viewed on-device. Previously, DMs were only visible as a brief toast notification and then disappeared — there was no way to go back and read them.

    • T-Deck Pro: Press D past the last channel on the Channel Messages screen to reach the DM inbox. Press A to return to group channels.
    • T5S3: Swipe left past the last channel on the Channel Messages screen to reach the DM inbox. Swipe right to return to group channels.

    The DM inbox shows all received direct messages with sender name and timestamp, sorted by arrival order. Entering the DM inbox automatically marks all DM messages as read.

    ✉️ Per-Contact DM Unread Indicator (T-Deck Pro & T5S3)

    Contacts with unread direct messages now show a * marker next to their name i …

  13. v1.2 # Pre-release 3 months ago · 2026-03-20 10:41 UTC

    An update for both the T-Deck Pro and T5S3 E-Paper Pro. New features include a lock screen, last heard advert list, touch tap-to-select across all list screens, non-blocking contact saves, and CardKB external keyboard support for the T5S3. Nine firmware variants across both platforms.

    📄 Meck_README_v1.2_March_2026.pdf is included in this release — it covers all keyboard controls, touch gestures, screen navigation, settings, and feature documentation for 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.
    • 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.

    ⚠️ Important: The merged filename now uses a hyphen (-merged.bin) instead of an underscore. The MeshCore web flasher uses this suffix to detect merged firmware and flash at the correct address (0x0). Files without -merged.bin in the name are written at 0x10000, which will fail on a clean device.

    Flashing with the MeshCore Web Flasher (recommended)

    1. Go to https://flasher.meshcore.co.uk
    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
    

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

    🔒 Lock Screen (T-Deck Pro & T5S3)

    Both platforms now have a lock screen that shows the current time, battery percentage, and unread message count.

    • T-Deck Pro: Double-click the Boot button to lock/unlock
    • T5S3: Long press the Boot button to lock/unlock

    An auto-lock timer is available in Settings → Auto Lock with options for None, 2, 5, 10, 15, or 30 minutes of idle time. The CPU drops to 40 MHz while locked to reduce power consumption. The clock refreshes every 15 minutes while locked.

    📡 Last Heard Screen (T-Deck Pro & T5S3)

    A new passive advert list showing all recently heard nodes sorted by recency. Unlike Discovery (which does an active zero-hop scan), Last Heard is purely passive — it shows nodes whose adverts have been received over time.

    • Press H from the home screen (T-Deck Pro) or swipe to the Recent Adverts home page and tap "Tap here for full Last Heard list" (T5S3)
    • Shows node type, name, time since last heard, hop count
    • Nodes already in contacts are marked with [+], favourites with [★]
    • Add or remove contacts directly from the list

    👆 Tap-to-Select (T-Deck Pro & T5S3)

    Tap on any row in Contacts, Discovery, Last Heard, Settings, Text Reader file list, and Notes to select it. Tap the same row again (or press Enter) to activate. This brings touch interaction to the T-Deck Pro for the first time on list screens.

    💾 Non-Blocking Contact Save

    Large contact lists previously blocked the main loop for 500ms+ during save. Contact saves now happen in chunks across multiple loop iterations (20 contacts per chunk, ~30ms each). A write-then-verify-then-rename pattern prevents corruption if the save is interrupted.

    ⌨️ CardKB Support (T5S3)

    The T5S3 now supports the M5Stack CardKB (or compatible I2C keyboard) connected via the QWIIC port. When detected at boot, the CardKB can be used for all text input — composing messages, entering URLs, editing …

  14. v1.1 # Pre-release 3 months ago · 2026-03-15 04:46 UTC

    A T-Deck Pro–only update with settings screen improvements, GPS fixes, and a new 2000mAh 4G standalone variant. Eight firmware variants for the T-Deck Pro — the T5S3 E-Paper Pro remains on v1.0 for now.

    📄 Meck_Firmware_Guide — 15 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 ZIP: v1.1-Meck-T-Deck-Pro-firmware.zip bundles all T-Deck Pro variants 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)

    1. Go to https://flasher.meshcore.co.uk
    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

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

    ⚙️ Settings Screen Reorganisation

    The settings screen has been restructured for clarity. Contacts and Channels are now in their own sub-screens instead of being listed inline:

    • Contacts >> — opens a dedicated sub-screen for the contact auto-add mode picker (Auto All / Custom / Manual) and per-type toggles
    • Channels >> — opens a dedicated sub-screen for viewing, adding, and deleting channels

    Press Enter to open a sub-screen and Q to return to the top-level settings list. Your cursor position is remembered when navigating back.

    📡 GPS Baud Rate in Settings

    The GPS baud rate can now be changed on-screen in Settings (previously serial-only). Cycle through options with A / D — available rates are Default (38400), 4800, 9600, 19200, 38400, 57600, and 115200. Requires a reboot to take effect.

    🔢 Frequency Text Entry

    The frequency setting now uses direct text entry instead of increment/decrement. Type the exact value (e.g. 916.575) and press Enter to confirm — much faster for precise tuning.

    🛰️ GPS Initialisation Fix

    Fixed a bug where Serial1 (used by the sensor library's GPS init) was not properly released before reinitialising Serial2 for the GPS stream. This could cause GPS to silently fail to receive data on some boots. The fix ensures Serial1.end() is called before Serial2.begin(), cleanly handing the UART pins back to the GPS parser.

    🔧 Preferences Validation on Upgrade

    When upgrading from older firmware versions, stored preferences may contain garbage values in fields that didn't exist before. v1.1 now clamps invalid values on boot — path_hash_mode, dark_mode, portrait_mode, autoadd_max_hops, and interference_threshold are all validated and reset to safe defaults if out of range. This prevents unexpected behaviour after a firmware upgrade without erasing flash.


    T-Deck Pro Firmware Variants

    Six firmware variants for the LilyGo T-Deck Pro. Pi …

  15. v1.0 # Pre-release 3 months ago · 2026-03-13 12:47 UTC

    The 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.zip and v1.0-Meck-T5S3-firmware.zip bundle 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)

    1. Go to https://flasher.meshcore.co.uk
    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

    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.

    IMG_1649

    📡 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 in …
  16. v1 # Pre-release 3 variants 3 months ago · 2026-03-12 12:59 UTC
    multi byte multi-byte-1 Pre View ↗
    t5s3 t5s3-1 Pre View ↗
    wifi wifi-1 View ↗

    THIS FIRMWARE WILL NOT WORK IF YOUR LILYGO T5 E-PAPER S3 PRO HAS GPS

    More details to follow on how to use it, but it's pretty self-explanatory once you flash the firmware. Takes a little bit to get used to the swipe-drag motion for scrolling through menu options.

    Usual Meck Wifi and BLE companion modes, now with Dark Mode and Portrait Mode for the T5S3.

    • Double click the Boot button to turn the backlight on or off.
    • Triple click the Boot button to turn on low-brightness backlight for night reading.
    • Hold down the boot button for a long press (3+ seconds) to activate the lock screen.

    No maps in this one as there's no GPS. Time is set when you link to the Meshcore app on your phone or computer, either via wifi or BLE. The RTC will keep the time after that first pairing.

  17. v0.9.8.1 # 4 months ago · 2026-03-05 07:50 UTC

    What's New Since v0.9.8

    Bugfixes: Discover nodes is back to working how it should, and repeater admin login fixes have been applied along with improvements on how login timeout responses behave depending on how many hops away the repeater is. Also have now fixed webreaderscreen missing code regression that popped up.


    Six firmware variants, one codebase. Pick the right .bin for your hardware:


    Firmware Variants

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

    v0.9.8.1W-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.

    Also available for those with a custom 2000mah battery build.

    v0.9.8.14G.SA-Meck-standalone.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.

    v0.9.8.1A-Meck-Audio-BLE.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.

    v0.9.8.1AW-Meck-Audio-WiFi.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.

    v0.9.8.1A-SA-Meck-standalone.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.


    See all the features and updates available in Meck v0.9.8 here: https://github.com/pelgraine/Meck/releases/tag/wifi-1
  18. v0.9.5 # 4 months ago · 2026-02-27 09:09 UTC

    Four firmware variants, one codebase. Pick the right .bin for your hardware:

    Firmware Variants

    v0.9.5-Meck-4G-BLE.bin

    For T-Deck Pro 4G boards. The full-featured build — messaging, contacts, direct messages, repeater admin, e-book reader, notes, emoji, basic GPS, BLE companion app support, SMS & Phone app, and the new IRC client, web browser, and DuckDuckGo search. Limited to max 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.

    v0.9.5-4GSA-Meck-4G (1400mAh stock battery).bin

    For T-Deck Pro 4G boards with the stock 1400mAh battery. Same features as the 4G-BLE build but with Bluetooth removed at compile time — no BLE companion app support, but WiFi and the web browser/IRC remain available. Battery gauge calibrated for the stock 1400mAh cell. Limited to max 1500 contacts and 20 channels.

    v0.9.5-4GSA-Meck-4G (2000mAh battery).bin

    For T-Deck Pro 4G boards with an upgraded 2000mAh battery and custom case. Identical to the 4G standalone variant above, but with the battery gauge calibrated for a 2000mAh cell. Limited to max 1500 contacts and 20 channels.

    v0.9.5A-Meck-Audio-BLE (PCM5102A Audio only).bin

    Everything in the standard build plus the audiobook player, sleep timer, and auto-queuing — minus the 4G modem features. Includes the new web browser, DuckDuckGo search, and IRC client over WiFi. Limited to max 500 contacts and 20 channels.

    ⚠️ Do not flash this on the 4G variant — the I2S audio pins (GPIO 7, 8, 9) conflict with the modem control lines. This firmware is only for T-Deck Pro boards with the PCM5102A DAC.

    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.

    v0.9.5A-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 BLE/WiFi radio hardware is never initialised, giving a significant battery life improvement. The web browser and IRC client are not available on this variant. Limited to max 1500 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 — same GPIO conflict applies as the Audio+BLE variant. Do not flash on 4G boards.


    What's New Since v0.9.3

    📱 Phone App Overhaul (4G variant only)

    The Phone app has been redesigned with a new dedicated screen giving you the choice of making phone calls to non-contacts or jumping straight into the SMS inbox where you can also call saved contacts.

    • New phone dialpad with three text entry methods:
      • Direct key press — press the keyboard letter mapped to each number (W for 1, E for 2, etc.)
      • Touchscreen tap — tap the on-screen number buttons directly (note: requires fairly precise taps on the numbers themselves)
      • Sym+key — the classic method from previous versions
    • IMEI, carrier, and APN details now displayed at the bottom of the Settings menu alongside your node ID and firmware version
    • Favourites filter added to the mesh Contacts screen
    • Fixed regression with dropped in-call screen
    • Fixed 0 key recognition on the dialpad

    🌐 Web Browser & Search (BLE and 4G variants)

    A brand-new set of connectivity features available on the 4G-BLE, 4G standalone, and Audio-BLE variants (not the standalone audio variant, which excludes WiFi to preserve lowest-battery-usage design):

    • DuckDuckGo Lite search — very basic web search directly from the device
    • HTML web reader browser — a text-centric web browser, still very much in development but already useful for reading text-heavy websites
    • EPUB download support — follow a link to an .epub file …