Meck P4 v0.6.1 Pre-release (Patch): Antenna switch
Pre-releasePoint release on top of v0.6, adding a software LoRa antenna selector in Settings. No other functional changes. Firmware identity is now 0.6.1.
Antenna Switch
A new Antenna (tap to toggle) row at the top of Settings, switching the SX1262 between the two ports on the SKY13453 RF switch (XL9535 IO1 / VCTL).
- Internal (RF1) is the default and corresponds to VCTL HIGH; External (RF2) is VCTL LOW. The internal antenna is the one in use when no external antenna is attached, so the device works out of the box without changing this.
- The choice persists via prefs (NVS, mirrored to SD) and is re-applied at boot, so the selected port survives a reboot.
- Tap applies live: the pin is driven immediately and the row label updates to show the active port.
Bug Fixes
None.
Files Changed
5 files changed.
First-Time Flashing: Read This First
Meck-P4 ships as a single merged binary (bootloader + partition table + application combined). One file, flash at offset 0x0.
An SD card is recommended. With a FAT32-formatted card inserted, every saved setting, channel message, DM, room post, and note is mirrored or stored on the card, notification tones have somewhere to live, and the device recovers gracefully from a wiped NVS. Without an SD card the device still works but loses message history on reboot, and the Reader, Notes, and notification sounds have no storage.
Ensure you use the right-side USB-C port (the data port), not the high-speed charger port, to flash.
Flashing with the MeshCore Web Flasher (recommended)
- Go to https://flasher.meshcore.io/
- Scroll to the bottom and select Custom Firmware
- Select the
meck-p4-0.6.1.binfile you downloaded - Click OK on the merged-binary warning
- Click Flash, pick your device in the popup, and click Connect
Flashing with esptool.py
pip install esptool
esptool.py --chip esp32p4 -p PORT write_flash 0x0 meck-p4-0.6.1.bin
(Replace PORT with /dev/cu.usbmodemXXXX on macOS, /dev/ttyACM0 on Linux, or COM3 on Windows.)
Upgrading from v0.6 does not require erase_flash. The prefs loader tolerates the older layout, and the new antenna field comes up at its default (Internal).
For the full feature list see the [README](https://github.com/pelgraine/Meck-P4/blob/main/README.md).
Reporting Issues
The Meck-P4 channel on the MeshCore Discord is the fastest path. GitHub Issues on the Meck-P4 repo also work for anything reproducible. Include the serial log if you can: Settings > Debug Logs > Start captures it to SD if a serial monitor isn't practical.
License
MIT for Meck-specific code. The combined firmware binary links libraries with mixed licensing including GPL-3.0 and LGPL-2.1 (Codec2) and is effectively GPL-3.0 when distributed.