Skip to content

DualMeck: Dualmesh Boot Loader Now Available

Pre-release
Pre-release

Choose a tag to compare

@pelgraine pelgraine released this 04 Aug 12:40

Meck-P4 v0.7.1 + DualMesh: Dual-Boot for the T-Display P4

Run Meck and a second firmware on the same T-Display P4, switching between them from a touch menu -- no PC needed after the first flash. This release packages Meck-P4 v0.7.1 for use with the DualMesh Boot Launcher, a fork of Mikhail-Za's DualMesh with the firmware-specific branding removed so any firmware can occupy either slot.

All of this has been tested on hardware: the launcher flashed via the MeshCore Web Flasher, and Meck installed from SD and booted alongside a second MeshCore firmware (Wadamesh) in the other slot.

The full DualMesh README is attached as a PDF and covers everything in depth -- the partition layout, preparing images, flashing, switching, going back to stock, and building from source.


What's in this release

file what it is flash how
dualmesh-launcher-merged.bin The boot launcher: bootloader + partition table + launcher in one image Web flasher or esptool at 0x0, once
v0_7_1-meck-tft.bin Meck-P4 v0.7.1, app-only, for the TFT (HI8561) display Copy to SD, install from the launcher
v0_7_1-meck-amoled.bin Meck-P4 v0.7.1, app-only, for the AMOLED (RM69A10) display Copy to SD, install from the launcher

Pick the Meck image matching your display SKU. Both are 6.24 MB and go in slot 0 (10.75 MB) -- they do not fit slot 1 (3.625 MB), which is free for a second, smaller firmware.

These app-only images are not interchangeable with the normal Meck release. The standard meck-p4-0.7.1 merged binary flashes a standalone device over USB and cannot be installed into a launcher slot; these app-only images install into a slot and cannot be flashed standalone at 0x0. Same firmware, same v0.7.1 feature set (full release notes here), different packaging.


Setting it up

1. Flash the launcher (once)

This erases the device, including a standalone Meck install and its NVS settings. If Meck is already on the device with history and settings you care about, take a full backup first -- the DualMesh README covers restoring it.

  1. Go to https://flasher.meshcore.io/
  2. Scroll to the bottom and select Custom Firmware
  3. Select dualmesh-launcher-merged.bin
  4. Click OK on the merged-binary warning
  5. Click Flash, pick your device in the popup, and click Connect

Or with esptool:

pip install esptool
esptool --chip esp32p4 -p PORT write-flash 0x0 dualmesh-launcher-merged.bin

On macOS the T-Display P4 appears as /dev/cu.wchusbserial* (not /dev/cu.usbmodem*) -- run ls /dev/cu.* to find it. On Linux it is typically /dev/ttyACM0, on Windows a COM port like COM3. Use the right-side USB-C port (the data port).

The launcher comes up with two slot cards, both (empty).

2. Install Meck from SD

  1. On a FAT32 microSD card, create a folder named firmware at the root
  2. Copy your Meck app-only image (TFT or AMOLED) into it
  3. Insert the card, reboot into the launcher
  4. Tap the file to select it, tap Install > Slot 0, and wait for the progress bar
  5. Tap slot 0's Boot button

A brief cyan flash of the screen when installing or switching firmware is normal.

3. Optionally, install a second firmware

Any app-only ESP32-P4 image that fits goes in slot 1 the same way. Wadamesh (3.21 MB) is confirmed working there. The DualMesh README explains what makes an image compatible and how to carve an app-only image out of another project's merged release.


Switching between firmwares

Once booted into Meck, the device stays in Meck across resets. To get back to the launcher:

  1. Reset the device
  2. The launcher shows a countdown splash with tap anywhere for menu
  3. Tap the screen during the three-second countdown -- you land in the launcher menu and can boot the other slot

Let the countdown run out and it boots straight back into the last-used firmware, so day to day the launcher stays out of your way.


What to know before you rely on it

  • Meck's settings and identity survive switching. The launcher never touches the nvs region after the initial flash, and installing to one slot does not affect the other.
  • An SD card is required to install firmware -- the launcher reads /sdcard/firmware. It is also where Meck keeps message history, notes, and tones, so you want one regardless.
  • Slot sizes are fixed: 10.75 MB and 3.625 MB. Meck only fits the larger one.
  • The channel-history purge from v0.7.1 still applies on the first boot of these builds if the SD card previously ran an older Meck -- see the v0.7.1 release notes.

Reporting Issues

The Meck-P4 channel on the MeshCore Discord is the fastest path. GitHub Issues work for anything reproducible -- say whether you are running standalone or under DualMesh, and which slot. Launcher-specific problems belong on the DualMesh fork's issues.

License

Meck-specific code is MIT; the combined Meck firmware binary is effectively GPL-3.0 when distributed. The DualMesh launcher is GPL-3.0.

# Meck-P4 v0.7.1 + DualMesh: Dual-Boot for the T-Display P4

Run Meck and a second firmware on the same T-Display P4, switching between them from a touch menu -- no PC needed after the first flash. This release packages Meck-P4 v0.7.1 for use with the [DualMesh Boot Launcher](https://github.com/pelgraine/DualMesh-Boot-Launcher-for-LilyGo-T-Display-P4), a fork of [Mikhail-Za's DualMesh](https://github.com/Mikhail-Za/DualMesh-Boot-Launcher-for-LilyGo-T-Display-P4) with the firmware-specific branding removed so any firmware can occupy either slot.

All of this has been tested on hardware: the launcher flashed via the MeshCore Web Flasher, and Meck installed from SD and booted alongside a second MeshCore firmware (Wadamesh) in the other slot.

The full DualMesh README is attached as a PDF and covers everything in depth -- the partition layout, preparing images, flashing, switching, going back to stock, and building from source.


What's in this release

file what it is flash how
dualmesh-launcher-merged.bin The boot launcher: bootloader + partition table + launcher in one image Web flasher or esptool at 0x0, once
v0_7_1-meck-tft.bin Meck-P4 v0.7.1, app-only, for the TFT (HI8561) display Copy to SD, install from the launcher
v0_7_1-meck-amoled.bin Meck-P4 v0.7.1, app-only, for the AMOLED (RM69A10) display Copy to SD, install from the launcher

Pick the Meck image matching your display SKU. Both are 6.24 MB and go in slot 0 (10.75 MB) -- they do not fit slot 1 (3.625 MB), which is free for a second, smaller firmware.

These app-only images are not interchangeable with the normal Meck release. The standard meck-p4-0.7.1 merged binary flashes a standalone device over USB and cannot be installed into a launcher slot; these app-only images install into a slot and cannot be flashed standalone at 0x0. Same firmware, same v0.7.1 feature set ([full release notes here](https://github.com/pelgraine/Meck-P4/releases/tag/0.7.1)), different packaging.


Setting it up

1. Flash the launcher (once)

This erases the device, including a standalone Meck install and its NVS settings. If Meck is already on the device with history and settings you care about, take a full backup first -- the DualMesh README covers restoring it.

  1. Go to https://flasher.meshcore.io/
  2. Scroll to the bottom and select Custom Firmware
  3. Select dualmesh-launcher-merged.bin
  4. Click OK on the merged-binary warning
  5. Click Flash, pick your device in the popup, and click Connect

Or with esptool:

pip install esptool
esptool --chip esp32p4 -p PORT write-flash 0x0 dualmesh-launcher-merged.bin

On macOS the T-Display P4 appears as /dev/cu.wchusbserial* (not /dev/cu.usbmodem*) -- run ls /dev/cu.* to find it. On Linux it is typically /dev/ttyACM0, on Windows a COM port like COM3. Use the right-side USB-C port (the data port).

The launcher comes up with two slot cards, both (empty).

2. Install Meck from SD

  1. On a FAT32 microSD card, create a folder named firmware at the root
  2. Copy your Meck app-only image (TFT or AMOLED) into it
  3. Insert the card, reboot into the launcher
  4. Tap the file to select it, tap Install > Slot 0, and wait for the progress bar
  5. Tap slot 0's Boot button

A brief cyan flash of the screen when installing or switching firmware is normal.

3. Optionally, install a second firmware

Any app-only ESP32-P4 image that fits goes in slot 1 the same way. Wadamesh (3.21 MB) is confirmed working there. The DualMesh README explains what makes an image compatible and how to carve an app-only image out of another project's merged release.


Switching between firmwares

Once booted into Meck, the device stays in Meck across resets. To get back to the launcher:

  1. Reset the device
  2. The launcher shows a countdown splash with tap anywhere for menu
  3. Tap the screen during the three-second countdown -- you land in the launcher menu and can boot the other slot

Let the countdown run out and it boots straight back into the last-used firmware, so day to day the launcher stays out of your way.


What to know before you rely on it

  • Meck's settings and identity survive switching. The launcher never touches the nvs region after the initial flash, and installing to one slot does not affect the other.
  • An SD card is required to install firmware -- the launcher reads /sdcard/firmware. It is also where Meck keeps message history, notes, and tones, so you want one regardless.
  • Slot sizes are fixed: 10.75 MB and 3.625 MB. Meck only fits the larger one (slot 0).
  • The channel-history purge from v0.7.1 still applies on the first boot of these builds if the SD card previously ran an older Meck -- see the v0.7.1 release notes.

Reporting Issues

The Meck-P4 channel on the MeshCore Discord is the fastest path. GitHub Issues work for anything reproducible -- say whether you are running standalone or under DualMesh, and which slot. Launcher-specific problems belong on the DualMesh fork's issues.

License

Meck-specific code is MIT; the combined Meck firmware binary is effectively GPL-3.0 when distributed. The DualMesh launcher is GPL-3.0.