Power Configuration Settings Reference
Meshtastic's power management settings control how your node balances battery life against responsiveness. Understanding these settings is essential for field deployments and battery-powered infrastructure.
Key Power Settings
| Setting | Default | Description |
|---|---|---|
| power.is_power_saving | false | Enable aggressive power saving (see below) |
| power.on_battery_shutdown_after_secs | 0 | Shut down after N seconds on battery (0 = never) |
| power.adc_multiplier_override | 0 | Override ADC calibration for voltage reading |
| power.wait_bluetooth_secs | 60 | Keep BLE active for N seconds after last connection |
| power.ls_secs | 0 | Light sleep interval in seconds (0 = no light sleep) |
| power.min_wake_secs | 10 | Minimum time to stay awake after waking from sleep |
| power.sds_secs | 0 | Super deep sleep after N seconds of inactivity |
is_power_saving Mode
When enabled, the node aggressively reduces power consumption:
- Turns off WiFi when not actively connecting
- Turns off BLE after
wait_bluetooth_secswith no activity - Reduces CPU clock speed when idle
- Turns off the display backlight more aggressively
Recommended for: Battery-operated client nodes, portable nodes used intermittently
NOT recommended for: Infrastructure repeaters, always-on gateway nodes
Light Sleep vs Deep Sleep
Meshtastic supports multiple power-saving sleep modes:
- Light sleep (ls_secs) — Node sleeps briefly between LoRa receive windows. LoRa radio stays partially active and can wake on received packet. Moderate power reduction (~50-70% vs always-on). Introduces slight receive latency.
- Super deep sleep (sds_secs) — Node shuts down almost completely after a period of inactivity. Very low power but misses incoming messages until it wakes again. Good for sensor nodes that transmit periodically but don't need to receive.
Battery Voltage Monitoring
Meshtastic reports battery voltage and calculated charge percentage via the telemetry system. The voltage reading depends on the hardware's ADC (Analog-to-Digital Converter) and a calibration factor:
# If battery percentage reads incorrectly, adjust ADC multiplier:
# First, measure actual battery voltage with a multimeter
# Then compare to what meshtastic reports:
meshtastic --get telemetry # shows reported voltage
# Adjust if needed (value is a float multiplier):
meshtastic --set power.adc_multiplier_override 1.05
ESP32 vs nRF52 Power Comparison
| Chip | Idle Current | LoRa RX | LoRa TX @22dBm | WiFi Active |
|---|---|---|---|---|
| ESP32 (T-Beam) | ~80 mA | ~50 mA | ~120 mA | +100-200 mA |
| ESP32-S3 (T-Beam Supreme) | ~30 mA | ~25 mA | ~90 mA | +80-150 mA |
| nRF52840 (RAK4631) | ~0.5 mA | ~4 mA | ~80 mA | N/A (no WiFi) |
The nRF52840 platform has dramatically lower idle and receive current, which is why RAK4631-based nodes achieve 2-5x longer battery life than ESP32 nodes in typical deployment scenarios.
Recommended Configurations by Use Case
# Portable client node (maximize battery life):
meshtastic --set power.is_power_saving true
meshtastic --set power.wait_bluetooth_secs 30
meshtastic --set position.position_broadcast_secs 300 # 5 min GPS broadcast
# Fixed indoor node (always accessible):
meshtastic --set power.is_power_saving false
meshtastic --set power.ls_secs 0 # no sleep
meshtastic --set power.wait_bluetooth_secs 0 # always keep BLE on
# Solar outdoor node (balance receive and power):
meshtastic --set power.is_power_saving true
meshtastic --set power.ls_secs 30 # light sleep 30s intervals
meshtastic --set power.min_wake_secs 15
No comments to display
No comments to display