Based on MeshCore v1.15 plus the below features:
- Developed by IoTThinks and tested by our supportive friends and MeshCore community.
- Current Contribution to Meshcore: By IoTThinks. You may feedback there to get them merged faster to MeshCore main stream.
- If you want us to compile for your boards or have question, please comment in GITHUB or DISCORD
Updates:
- 10 May 2026: PS v15.0.2: Fixed FEM Off version for T096 BLE companions. The external LNA was fixed to off properly to reach -115 dbm noise floor.
- 04 May 2026: [BLE Companions for ESP32] PS v15.0.1: Skipped sleep when BLE read is busy and reduced sleep period from 50ms to 10ms.
- 27 April 2026: [Heltec v4 repeaters and room servers] PS v15.0.1: Applied latest changes in meshcore-dev/MeshCore#2140. Fixed missing
get radio.fem.rxgrainand not persistedradio.fem.rxgrainaccross reboots.
Support Us
STAR Features:
- ESP32 BLE Companions: Officially support PowerSaving for ALL ESP32/S3/C3 BLE Companions. Fast loading of channels and contacts. Fixed hibernation mode for Heltec v3 and v4. ESP32C6 (including Xiao C6) is not supported yet.
| Board | Power Consumption |
|---|---|
| Heltec v3 | 100 mA => 19.6 mA |
| Heltec v4.2 and v4.3 (FEM ON) | 120mA => 24.9mA |
| Heltec v4.3 (FEM Off) | 120mA => 18mA |
| Xiao S3 | 7x mA => 16.3 mA |
| Xiao C3 | 7xmA => 15.1mA |
- [BETA] Repeater and room servers: No time drift by applying a time adjustment offset during "
powersaving on"
Power Saving:
- Latest Power Saving to Repeater, Room Server and BLE Companion.
- One 3000mAh battery can last an ESP32 repeaters, room servers and BLE companions for a week.
| Role | NRF52 | ESP32 | CLI Commands |
|---|---|---|---|
| Repeater / Room Server | 8mA => 5.8mA | 50+mA => 10-13mA | powersaving on, powersaving off, powersaving |
| BLE Companion | 12mA => 5.8mA | 120mA => 15-20mA | Enabled by default |
Extra Features:
- Merged to add CLI control to LoRa's FEM LNA: meshcore-dev/MeshCore#2140. CLI:
set radio.fem.rxgrain on/offandget radio.fem.rxgrain - Added CLI "powerlog" to list the last reset reason, last shutdown reason (NRF52 only) and last boot voltage (NRF52 only). This is to help debugging why the boards were reset due to software fault or low voltage (brownout).
- Included sensor CLI to list I2C and UART GPIOs: sensor
- Merged to keep date after crash/watchdog/brownout reset on ESP32: meshcore-dev/MeshCore#1896
- Automatically selected I2C address 0x76 and 0x77 for BME280/BME680/BMP280
- Added i2c probe for sensors to start only in-use sensors.
- Added variant Xiao S3 (non-Wio) and Wio SX1262 (Initial support): SDA=D6, SCL=D7 meshcore-dev/MeshCore#2383
Instruction:
Please upgrade your easy to access devices first.
- Download: Download upgrade.bin to upgrade existing devices or freshInstall-merged.bin for new devices.
- Instruction to Flash Custom Firmware.
- Please read the instruction in Add sensors to repeaters
- Source code for PowerSaving 15
Demo
Power Saving
- Enter powersaving mode (CLI > powersaving on),
- 5.5mA for Heltec v4.3 with FEM and rxgain off, 5.8mA if FEM off and rxgain on.
- 13mA for Heltec v4.2 or Heltec V4.3 with FEM and rxgain on.
- 5.0mA for RAK4631
- Default PowerSaving for ESP32 companion BLE. Reduced from 120mA down to 15-25mA.
PowerLog CLI
- Enter CLI "powerlog" to see last reset/shutdown reason and the battery voltage during last boot.
Sensor CLI
- Enter CLI "sensor" to check I2C and GPS Serial pins
