Skip to main content

Power Consumption by Platform

Understanding your node's actual power consumption is essential for correctly sizing a solar system. TheseThe measurementscurrent figures below are fromrepresentative community benchmarks - always measure your own node, since values vary significantly by firmware version, radio activity, transmit-power setting, and configuration. Use one consistent figure per platform across your sizing calculations.

ESP32-based nodes

ESP32 nodes have higher baseline power draw than nRF52 devices but offer WiFi and faster processing. As a planning figure, treat an always-on optimized ESP32 (Heltec V3) node as drawing ~40-80 mA average (higher with WiFi/MQTT active).

StateFactory defaultsOptimized configNotes
Idle (radio listening)~150 mA~40 mARepresentative; WiFi off, screen off, BT power reducedreduced. LoRa RX is ~40-80 mA; measure your own
Active receive (packet processing)~180 mA~55 mABrief peak during processing (approximate)
Transmitting @(high 27 dBmpower)~280 mA~280 mATX power drawcurrent is fixedset by hardwarethe LoRa module's PA, not the host MCU. ~280 mA is typical for a 1 W (SX126x + external PA) module; varies with supply voltage and PA design. Confirm against your module's datasheet, and verify the TX power is legal in your region
Display on (OLED)+15 - 20 mAN/A (disabled)Disable for any unattended deployment
WiFi active+60 - 120 mAN/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 (illustrative; depends on your measured endpoints)

nRF52840-based nodes

nRF52840 devices are the preferred choice for solar and battery-only deployments due to dramatically lower power draw. As a planning figure, treat an optimized always-on nRF52840 (RAK4631, T-Echo) router/repeater as drawing ~10-15 mA average. Note that the LoRa RX/TX current is dominated by the SX126x radio, not the nRF52840 MCU.

StateFactory defaultsOptimized configNotes
Idle (radio listening)~25 mA~5 mAWithRepresentative; deep-MCU sleep radiocurrent pollingplus SX126x LoRa RX (~4.6 mA boosted). Measure your own
Active receive~30 mA~8 mAProcessing packet (approximate)
Transmitting @(high 27 dBmpower)~120 mA~120 mATX power drawcurrent is fixedset by the LoRa module's PA, not the host MCU. ~120 mA is typical for a module with an internal PA (e.g. RAK4631 ~22 dBm); a 1 W external-PA module draws far more (see ESP32 table). Confirm against your module's datasheet
Deep sleep (between polls)N/A~0.2 mAWith Repeater role sleep scheduling (bare-MCU System OFF can reach ~11 µA)
GPS active+25 mAN/A (disabled)Disable GPS for repeaters (typical GPS acquisition 20-40 mA)

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 is a power-saving fork of MeshCore (communitybuilt fork):on achievesMeshCore v1.14.1), not Meshtastic. With its aggressive power profile (radio front-end LNA/FEM disabled) it has been measured at ~5.5 mA averageidle on the Heltec V4.3 -(an theESP32-S3 lowestboard) knownwhile idlestill currentactively forlistening as an always-on repeater. This is a Heltecspecific devicefirmware/config result, not a general nRF52 figure.

Notable hardware benchmarks

These are representative community measurements for specific boards and firmware - measure your own node before sizing a system.

DeviceMCUAverage current (repeater, optimized)Notes
Heltec Mesh Node V4ESP32-S3~40 mAWi-Fi + BT disabled (representative)
Heltec Mesh Node V4.3ESP32-S3~5.5 mA idleEasySkyMesh (MeshCore-based) firmware with radio LNA/FEM off; specific config only
Heltec T096nRF52840~12 µADeep sleep; new as of April 2026 RAK4631 WisBlocknRF52840~510 - 815 mAStandardActive MeshCoreMeshCore/Meshtastic repeater firmware(community-measured; measure your own) LilyGo T-EchonRF52840~8 mAGPS disabled, e-ink refresh minimal (community-measured; ~3-6 mA achievable with aggressive power saving) Station G2ESP32-S3~45 mAHigh TX power option; requirespowered 15Vfrom 15 V PD power(≥20 W) input

Daily energy budget calculation example

To size your battery correctly:correctly, work in two steps. First find the daily charge in amp-hours, then convert to watt-hours by multiplying by the pack's nominal voltage:

    WhAh per day = (average mA × hours) / 1000 Wh per day = Ah per day × nominal voltage (V)

    Example: RAK4631 running optimized at 6~12 mA average, 24 hours:hours, on a 3.7 V cell:

    EnergyAh per day  = (612 mA × 24 h) / 1000 = 0.144288 Ah/day
    Wh per day  = 0.288 Ah × 3.7 V       = ~0.531.07 Wh/day @ 3.7V
    
    Battery sizing for 5-day autonomy:
     0.144288 Ah/day × 5 days = 0.721.44 Ah minimumof usable capacity needed
     With 80% depth-of-discharge:usable 0.72(LiFePO4 DoD): 1.44 / 0.8 = 0.91.8 Ah LiFePO4rated minimum
     Apply further derating for cold-weather capacity loss and end-of-life
     fade, plus margin for TX spikes and extra cloudy-day reserve.
     Practical recommendation: 5 - 10 Ah LiFePO4 forgives a comfortable 5-day margin
     plusfor TXthis spikesultra-low-power node. For higher-draw nodes (ESP32, Pi),
     rerun the full derate chain (usable DoD × cold × end-of-life × margin)
     so the method scales correctly.
    

    Voltage and battery type reference

    The temperature ranges below are discharge/operating ranges. The charge range is narrower for lithium chemistries: never charge any lithium battery (including LiFePO4) below 0°C (32°F) without a low-temperature charge cutoff - sub-freezing charging causes lithium plating, permanent capacity loss, and a hidden internal-short fire risk. A solar node charges every day, so for cold climates require a BMS with low-temp protection or a charge controller with a battery temperature sensor.

    ChemistryNominal voltageTempDischarge temp rangeCharge temp rangeCycle lifeRecommended for
    LiFePO43.2V/cell−20°C to +60°C0°C to +45°C (no charging below freezing without BMS lockout / self-heating)2000+ cyclesAll outdoor deployments
    LiPo (LiCoO2)3.7V/cell~−20°C to +60°C0°C to +45°C300 - 500 cyclesIndoor/portable only
    NiMH AA1.2V/cell−20°C to +50°C0°C to +45°C500 - 1000 cyclesUltra-budget temporary nodes

    LiFePO4 is strongly recommended for permanent outdoor deployments: it handles temperature extremes,extremes (within the charge-temperature limit above) and has roughly 4× longer cycle life than LiPo,LiPo. It is also much more resistant to thermal runaway than LiCoO2/NMC and willrarely ignites - but it is not catchimmune: firesevere ifovercharge, overchargedan internal short, or punctured.a puncture can still cause venting or fire. Always use a BMS and proper fusing.