github IoTThinks/EasySkyMesh PowerSaving15
Power Saving 15: 15mA for ESP32 BLE Companions and no time-drift for repeaters

18 days ago

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.rxgrain and not persisted radio.fem.rxgrain accross reboots.

Support Us

  • Enjoying our work?
  • Support us via Sponsor or Sponsor.

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/off and get 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.

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
image image image
  • Default PowerSaving for ESP32 companion BLE. Reduced from 120mA down to 15-25mA.
image image image image

PowerLog CLI

  • Enter CLI "powerlog" to see last reset/shutdown reason and the battery voltage during last boot.
image image

Sensor CLI

  • Enter CLI "sensor" to check I2C and GPS Serial pins
image image

Don't miss a new EasySkyMesh release

NewReleases is sending notifications on new releases.