Power Consumption by Platform
Understanding your node's actual power consumption is essential for correctly sizing a solar system. These measurements are from community benchmarks - values vary by firmware version, radio activity, and configuration.
ESP32-based nodes
ESP32 nodes have higher baseline power draw than nRF52 devices but offer WiFi and faster processing.
| State | Factory defaults | Optimized config | Notes |
|---|---|---|---|
| Idle (radio listening) | ~150 mA | ~40 mA | WiFi off, screen off, BT power reduced |
| Active receive (packet processing) | ~180 mA | ~55 mA | Brief peak during processing |
| Transmitting @ 27 dBm | ~280 mA | ~280 mA | TX power draw is fixed by hardware |
| Display on (OLED) | +15 - 20 mA | N/A (disabled) | Disable for any unattended deployment |
| WiFi active | +60 - 120 mA | N/A (disabled) | Disable unless serving TCP bridge |
Key optimizations for ESP32 repeaters:
- Disable WiFi: largest single saving for non-TCP deployments
- Disable display: set screen timeout to 0
- Reduce BT TX power: sufficient for app connection at short range
- Result: ~150 mA factory → ~40 mA optimized = 3.75× improvement
nRF52840-based nodes
nRF52840 devices are the preferred choice for solar and battery-only deployments due to dramatically lower power draw.
| State | Factory defaults | Optimized config | Notes |
|---|---|---|---|
| Idle (radio listening) | ~25 mA | ~5 mA | With deep-sleep radio polling |
| Active receive | ~30 mA | ~8 mA | Processing packet |
| Transmitting @ 27 dBm | ~120 mA | ~120 mA | TX power draw is fixed |
| Deep sleep (between polls) | N/A | ~0.2 mA | With Repeater role sleep scheduling |
| GPS active | +25 mA | N/A (disabled) | Disable GPS for repeaters |
Key optimizations for nRF52 repeaters:
- Enable Repeater role sleep scheduling: radio polls at configurable interval between transmissions
- Disable GPS module (not needed for repeater operation)
- Disable BLE advertising when not in setup mode
- EasySkyMesh firmware (community fork): achieves ~5.5 mA average on Heltec V4.3 - the lowest known idle current for a Heltec device
Notable hardware benchmarks
| Device | MCU | Average current (repeater, optimized) | Notes |
|---|---|---|---|
| Heltec Mesh Node V4 | ESP32-S3 | ~40 mA | Wi-Fi + BT disabled |
| Heltec Mesh Node V4.3 | ESP32-S3 | ~5.5 mA | EasySkyMesh firmware only |
| Heltec T096 | nRF52840 | ~12 µA | Deep sleep; new as of April 2026 |
| RAK4631 WisBlock | nRF52840 | ~5 - 8 mA | Standard MeshCore repeater firmware |
| LilyGo T-Echo | nRF52840 | ~8 mA | GPS disabled, e-ink refresh minimal |
| Station G2 | ESP32-S3 | ~45 mA | High TX power option; requires 15V PD power |
Daily energy budget calculation example
To size your battery correctly: Wh per day = (mA × hours) / 1000
Example: RAK4631 running optimized at 6 mA average, 24 hours:
Energy per day = (6 mA × 24 h) / 1000 = 0.144 Ah/day = ~0.53 Wh/day @ 3.7V
Battery sizing for 5-day autonomy:
0.144 Ah/day × 5 days = 0.72 Ah minimum
With 80% depth-of-discharge: 0.72 / 0.8 = 0.9 Ah LiFePO4 minimum
Practical recommendation: 5 - 10 Ah LiFePO4 for comfortable 5-day margin plus TX spikes
Voltage and battery type reference
| Chemistry | Nominal voltage | Temp range | Cycle life | Recommended for |
|---|---|---|---|---|
| LiFePO4 | 3.2V/cell | −20°C to +60°C | 2000+ cycles | All outdoor deployments |
| LiPo (LiCoO2) | 3.7V/cell | 0°C to +45°C | 300 - 500 cycles | Indoor/portable only |
| NiMH AA | 1.2V/cell | −20°C to +50°C | 500 - 1000 cycles | Ultra-budget temporary nodes |
LiFePO4 is strongly recommended for permanent outdoor deployments: it handles temperature extremes, has 4× longer cycle life than LiPo, and will not catch fire if overcharged or punctured.
No comments to display
No comments to display