Firmware v1.16.0

MeshCore 1.16.0: ESP32 Repeater Sleep Mode, New Boards, and Preamble Rework

MeshCore 1.16.0, released on June 6, 2026, introduces power saving for all ESP32-based repeaters, adds support for several new boards, reworks the LoRa preamble handling, and tightens up CLI input validation.

Power Saving for ESP32 Repeaters

The headline feature: every ESP32-based repeater can now enter a low-power sleep state between transmissions. When a LoRa packet arrives, the MCU wakes up, processes it, and goes back to sleep immediately. Clock drift has been reduced from roughly 60 seconds per day down to about 7 seconds. Power saving is off by default and can be toggled through the CLI:

CLI
powersaving on
NRF52 companions also received power-saving fixes — auto-shutdown is now disabled when external power is connected, and e-ink devices bypass the shutdown delay entirely.

New Board Support

This release adds a substantial list of new hardware targets. The Station G3 arrives with software-configurable LNA and PA1 control. LilyGo T-ETH Elite, LilyGo T-Impulse Plus, Xiao S3, Heltec Mesh Node T1, and the T-Echo Card (with a dedicated U8G2 display wrapper and TinyUI) are all newly supported. The Heltec V4 Expansion Kit now works with OLED repeaters, and the RAK4631 gains BME680 Bosch BSEC integration for air quality sensing. A screenless BLE companion variant has been added for the T-Echo Lite as well.

Preamble Length Rework

The preamble — the synchronization header of every LoRa packet — is now set dynamically based on the active spreading factor. Configurations below SF9 use a 32-symbol preamble; SF9 and above stay at 16. The value is cached so that setPreambleLength() is not called redundantly on every transmission. The estimated airtime calculation also references the current preamble setting now, preventing inaccurate results after runtime SF changes.

CLI Tightening and New Commands

Upper-bound checks have been added to rxdelay, txdelay, and direct.txdelay, so out-of-range values are rejected immediately. The region bulk command has been renamed to region def and refactored with helper functions. Two new flood-control settings are available:

CLI
flood.max.advert 8
flood.max.unscoped 0
flood.max.advert caps the hop count for flood advertisements (default 8), while flood.max.unscoped controls unscoped flood behavior (direct/zero hop by default). The radio.rxgain CLI command now works on the LR1110 (T1000-E), and ver has been documented as an official CLI command.

Bug Fixes and Maintenance

The RAK4631 SX1262 hardware pin configuration has been corrected. Battery voltage readings on the T-Echo Lite and Heltec Wireless Paper device model names are now accurate. Heltec boards ship with LNA disabled by default, and the incorrect FEM/LNA default on Heltec T096 and Wireless Tracker v2 has been fixed. The SenseCAP Solar no longer lights up its white LED at boot. Flood advertisement intervals for both repeaters and room servers have been standardized to 47 hours. WiFi auto-reconnect on ESP32 now uses non-blocking polling, and KISS modem frame processing has improved timeout handling. Redundant radio helper functions have been consolidated, and the codebase has been cleaned up with consistent indentation and updated dependencies.

Full release details and firmware downloads are available at meshcore.at.