MeshCore Firmware version 1.15.0 was released on April 19, 2026. This release adds support for six new hardware platforms, enables the LNA (Low Noise Amplifier) by default across supported devices, introduces new packet types at the protocol level, and adds a new CLI command for duty cycle management. The latest firmware builds are available at flasher.meshcore.io.
New Hardware Platforms
Version 1.15.0 significantly expands the range of supported hardware. Newly added devices include the Heltec V4.3 and the Heltec nRF Tracker (T096), the latter defined in the codebase as the heltec_mesh_node_t096 board environment. The Muzi Works R1 Neo is also now supported; during integration, debugging was disabled and the RTC code was cleaned up. For the GAT562 product line, three new variants have been added: the GAT562 Mesh EVB Pro (as repeater and room server) and the GAT562 Watch (Mesh Watch13). On the GAT562 Watch, the top button wakes the device from hibernation, while a double press navigates back. In addition, LoRa frequency range support has been extended to cover up to 150 MHz, enabling additional regional frequency bands.
Radio & Reception
A key reception improvement in this release is the default activation of the radio.rxgain parameter. The LNA is now enabled automatically after upgrading to v1.15.0 — no manual reconfiguration is required. An exception applies to the Station G2, which received a dedicated fix to ensure the correct default value is applied. The Waveshare RP2040 received two hardware-level fixes: the missing SX126X_RXEN pin (pin 17) has been added, restoring RX sensitivity, and the TCXO voltage has been corrected to 1.8 V. Both fixes ensure the receive path operates correctly on these platforms.
CLI & Configuration
Version 1.15.0 introduces the new CLI command get|set dutycycle. Duty cycle refers to the percentage limit on transmission time imposed in LoRa regions such as EU868 to comply with regulatory requirements. The value can be queried and set directly via the command line:
The radio.rxgain parameter is also accessible through the CLI and has been given its own entry in the official documentation. Default Scope support has been implemented for both the companion and the repeater; the region-related CLI commands were refactored into a shared CommonCLI component in the process. The region default ... command now auto-creates a region if none exists, and region put ... now defaults to flood allowed. Further details on the Default Scope feature are available in a dedicated article on blog.meshcore.io.
Companion & OTA
A significant update in this release is OTA (Over-the-Air, wireless firmware update) support for the nRF Companion. Specifically, DFU (Device Firmware Update) has been integrated into the BLE stack. For ESP32-C6-based devices, ElegantOTA has been enabled. On the ESP32 SDK side, a fix was applied for OTA includes and the Async library version was bumped. A new USB Companion Radio environment has been added for the Heltec Wireless Paper, enabling it to operate as a companion device. A fix ensures that GPS settings (enabled/disabled) are correctly restored from persisted state on boot — applyGPSPrefs() was extracted from the UITask and centralized. WiFi companion stability issues affecting the Heltec V4 and the TBeam 1W have been resolved. The OFFLINE_QUEUE_SIZE has been set to 256 for several missing WiFi companion ESP environments and for the Xiao nRF52 Companion USB.
New Packet Features: GROUP_DATA and Default Scope
Version 1.15.0 introduces support for the new packet type PAYLOAD_TYPE_GRP_DATA (GROUP_DATA, binary group data packets). This packet type also supports direct paths when sending group data. During implementation, the timestamp was dropped from the group data packet, the data type was widened, and the device type was renamed. For custom payloads, the value 0xFF is now required as a mandatory identifier. The packet format documentation has been updated accordingly. Further details on the packet format can be found in the official MeshCore documentation.
Sensors
The BME680 sensor (an environmental sensor covering temperature, humidity, pressure, and air quality) received an initialization fix resolving an error during sensor startup. Support for the RAK12035 Soil Moisture and Temperature Sensor has been added. The EnvironmentSensorManager now allows macro overrides for the INA3221. An ADC_MULTIPLIER for adjustable ADC calculation has been defined and correctly applied to the Heltec Wireless Paper.
Bug Fixes & Stability
A critical bootloop fix was applied for the Xiao C3: sensors were removed from the Xiao C3 companion configuration, as they were identified as the root cause of the boot loops. A memcpy comparison length off-by-one error was corrected. Default button polarity has been unified to active-LOW across all firmware types; the T1000-E received a separate fix since that device uses active-HIGH for button press. Incorrect ADVERT_NAME definitions were corrected: the ThinkNode M5 was incorrectly labelled "M2", and the Generic ESPNow Room Server was named "Heltec Room". Real WiFi credentials were also removed from the ThinkNode M5 variant configuration. The Heltec Wireless Paper battery read error was resolved through the correct ADC_MULTIPLIER definition.
BLE & Connection Stability
To address GATT (Generic Attribute Profile) cache issues on Android with already-paired devices, the BLE UART service is now kept registered first. This prevents GATT cache conflicts when reconnecting to a previously paired device.
Further Changes
The RadioLib library has been updated to version 7.6.0. The FIRMWARE_VER_CODE has been incremented to 11. The sendNodeDiscoverReq() method has been made public to support post-boot discovery. Documentation updates include new entries for the discover.neighbors command, the GPS output description, and the neighbor.remove command. The RAK 4631 FAQ entry was updated regarding the new bootloader, and a multibyte FAQ section was added.
---
Sources:- Official release blog post: blog.meshcore.io/2026/04/19/release-1-15-0
- Flash firmware: flasher.meshcore.io