Maximising MeshCore battery duration
Transform battery life from a few days to weeks or months through intelligent configuration
The value of power efficiency
Out of the box, a MeshCore node drains a standard 18650 cell (3000mAh) within 2-5 days. Adequate for testing, but impractical for a rooftop repeater or extended emergency deployment.
Through careful configuration and hardware choices, runtime extends dramatically to weeks or even months. This makes solar installations viable and ensures mobile units remain operational throughout extended emergencies.
Understanding power states
Active transmission/reception
Radio fully engaged sending or receiving packets. Highest consumption by far. ESP32: 80-260mA, nRF52: 10-20mA.
Light sleep
Primary operating state. Processor dormant, radio periodically sampling. Optimal compromise between responsiveness and longevity. ESP32: 15-30mA, nRF52: 2-5mA.
Deep hibernation
Nearly everything disabled except real-time clock. Minimal draw but node becomes unreachable. Reserved for tracker devices. ESP32: 10µA-1mA, nRF52: 1-100µA.
Six strategies for extended runtime
1. Reduce transmission power
Factory setting uses maximum 22 dBm. Dropping to 17-20 dBm reduces coverage by roughly 30% whilst cutting power draw substantially. Perfect for urban deployments with abundant nearby nodes.
2. Lengthen wake intervals
Default configuration polls frequently. Extending to 10-30 second intervals for repeaters, or 60+ seconds for trackers, dramatically reduces cumulative active time.
3. Disable unnecessary GPS
GPS modules draw 30-60mA continuously. Fixed-location repeaters gain nothing from position data. Disabling GPS alone saves 30-50% of total consumption.
4. Disable unused radios (esp32)
WiFi adds 80-200mA, Bluetooth contributes 10-30mA. Headless repeaters requiring no smartphone connection can disable both, retaining only LoRa functionality.
5. Select nrf52 over esp32
nRF52-based hardware consumes 5-10 times less than ESP32 equivalents. RAK WisBlock variants achieve weeks to months where ESP32 manages days. Trade-off: no WiFi capability.
6. Optimise spreading factor
Lower spreading factors (SF7-SF9) mean shorter packets, briefer transmissions, reduced consumption. SF12 uses 10x more energy than SF7. SF9-SF10 typically offers good balance.
Runtime comparison table
| Configuration | Typical draw | 3000mAh runtime | 10,000mAh runtime |
|---|---|---|---|
| ESP32 factory settings (GPS+WiFi active) | ~150mA | ~20 hours | ~2.5 days |
| ESP32 optimised (GPS+WiFi disabled) | ~40mA | ~3 days | ~10 days |
| nRF52 factory settings (GPS active) | ~25mA | ~5 days | ~17 days |
| nRF52 optimised (GPS disabled, low-power) | ~5mA | ~25 days | ~83 days |
Transmission power by hardware
Different devices support varying power levels. Reference this table for safe configuration.
⚠️ CAUTION
Exceeding specified maximums can permanently damage your radio hardware. Never exceed stated limits. When uncertain, use factory defaults.
| Hardware | Maximum TX | Suggested | Factory |
|---|---|---|---|
| Heltec V3 | 22 dBm | 17-20 dBm | 22 dBm |
| Heltec V4 (Station G2) | 30 dBm | 20-25 dBm | 22 dBm |
| LilyGo T-Deck Plus | 22 dBm | 17-20 dBm | 22 dBm |
| RAK WisBlock (nRF52) | 22 dBm | 14-18 dBm | 20 dBm |
| SenseCAP P1 Pro | 22 dBm | 17-20 dBm | 22 dBm |
Reduced transmission power trades coverage for significantly extended battery life. In repeater-rich urban environments, 17 dBm typically proves sufficient.
Power efficiency questions
What capacity delivers one week of operation?
Configuration dependent: Optimised ESP32 (~40mA) requires 6700mAh for seven days. Optimised nRF52 (~5mA) needs only 840mAh. A 10,000mAh powerbank comfortably covers ESP32; 20,000mAh extends to fortnight.
Can solar panels enable permanent operation?
Absolutely! A 5W panel plus 10,000mAh buffer sustains an optimised ESP32 (40mA average) indefinitely across British seasons. nRF52 variants require only 2W panels. See our solar construction guide.
Why does my node consume more than expected?
Investigate: GPS enabled? WiFi/BLE active? Elevated TX power? Debug logging running? Measure precisely with USB power monitor. Light sleep should average under 50mA for ESP32.
Light sleep versus deep sleep - what's the distinction?
Light sleep maintains periodic radio monitoring, keeping the node responsive. Deep sleep disables everything until a timer triggers wake-up. Light sleep suits repeaters (must remain reachable); deep sleep suits trackers (periodic position reports only).
Which cell chemistry performs best?
18650 lithium-ion (3.7V, 2500-3500mAh) offers optimal capacity-to-size ratio at reasonable cost. For extreme longevity: 21700 cells (5000mAh) or LiPo packs. Avoid alkaline cells (poor discharge characteristics for LoRa loads).
Can I monitor power consumption live?
Yes, through MeshCore telemetry. Enable power reporting in device settings to view voltage and estimated current in the app. For laboratory-grade accuracy: add an INA219/INA226 current sensing module.
Simple changes, dramatic improvements
Disable what you don't need (GPS, WiFi), reduce transmission power appropriately, and consider nRF52 hardware for ultra-low-power deployments. Transform days into weeks or months of continuous operation.