Sizing Solar and Battery for an ESP32 Farm Sensor in Winter

To keep an ESP32 telemetry node running 24/7 through winter, you need a single 2,200–2,600 mAh 18650 cell and a 2W to 5W (5V/6V) solar panel—provided your deep-sleep power path is built correctly.
To keep an ESP32 telemetry node running 24/7 through a South African winter with readings sent every 15 minutes, you need a single 2,200–2,600 mAh 18650 lithium-ion cell and a 2W to 5W (5V or 6V) monocrystalline solar panel. The entire power subsystem costs under R250 per node. However, this math only works if you fix the single biggest power leak in student and classroom IoT projects: board-level quiescent current.
The Quiescent Current Trap
An ESP32 chip in deep sleep draws around 10 to 15 microamps (µA). Yet teachers and students frequently deploy standard development boards (like the NodeMCU ESP32 or ESP32 DevKit V1) and find that a 2,500 mAh battery dies in three days without sunlight. Why?
Standard prototyping boards carry two power-hungry components that never sleep:
- The USB-to-UART bridge (such as the CP2102 or CH340), which continues drawing 0.5 mA to 15 mA even when no USB cable is connected.
- The Low Dropout (LDO) regulator (frequently an AMS1117-3.3), which has a quiescent current of roughly 5 mA to 10 mA simply keeping its output line alive.
A board pulling 10 mA during "sleep" consumes 240 mAh every single day just sitting idle. By contrast, an ESP32 board using a low-quiescent regulator (like an HT7333 or ME6211, drawing ≤50 µA) combined with an unpowered USB bridge drops your daily sleep consumption to under 2 mAh.
The Power Arithmetic: 15-Minute Wake Cycles
Let us calculate the daily energy demand of a typical soil-moisture and ambient temperature sensor sending telemetry to an MQTT broker over 2.4 GHz Wi-Fi.
1. Active State (Waking & Transmitting)
- Current draw: ~180 mA average during Wi-Fi connection and transmission.
- Duration: 4 seconds (boot, read ADC/I2C sensors, connect to Wi-Fi, publish payload, enter deep sleep).
- Frequency: Every 15 minutes = 4 times per hour = 96 transmissions per day.
- Energy per burst: 180 mA × (4 s / 3,600 s) = 0.20 mAh.
- Daily active consumption: 96 × 0.20 mAh = 19.2 mAh/day.
2. Deep Sleep State
- Current draw (optimised hardware): 0.05 mA (50 µA).
- Duration: 24 hours minus ~6.4 minutes active time ≈ 23.9 hours.
- Daily sleep consumption: 23.9 h × 0.05 mA = 1.2 mAh/day.
Total daily consumption: 19.2 mAh + 1.2 mAh ≈ 20.4 mAh per day at 3.3V (roughly 0.07 Wh per day). Even on an unoptimised board idling at 3 mA, the daily demand rises to roughly 90 mAh per day.
Sizing the 18650 Battery for Autonomy
In South African winter conditions—particularly the Western Cape's cold fronts or prolonged overcast weather elsewhere—you must design for 5 consecutive days of zero usable sunlight.
| Board Configuration | Daily Load | 5-Day Autonomy Need | Recommended Battery Capacity |
|---|---|---|---|
| Optimised Node (≤50 µA sleep) | ~21 mAh | 105 mAh | 1× 18650 (2,200–2,600 mAh) |
| Stock DevKit (~3 mA sleep) | ~92 mAh | 460 mAh | 1× 18650 (2,600 mAh) |
| Unmodified DevKit (~12 mA sleep) | ~308 mAh | 1,540 mAh | 2× 18650 in parallel |
A single, standard 2,200 mAh to 2,600 mAh 18650 cell delivers massive headroom for an optimised sensor. Even if we restrict discharge to a healthy 20%–80% depth-of-discharge (DoD) band to ensure a five-year cell lifespan, 1,300 mAh of usable capacity guarantees over 40 days of autonomous operation without sun on clean hardware.
Sizing the Solar Panel for Winter Sun Hours
Winter Peak Sun Hours (PSH) in South Africa drop significantly depending on geography. Cape Town winters average roughly 2.5 to 3.0 PSH due to rain and heavy cloud cover, while the Highveld maintains 4.0 to 4.5 PSH despite cold temperatures.
We size for the worst case (2.5 PSH):
- Daily Energy Need: 21 mAh × 3.7V nominal = ~0.08 Wh.
- System Losses: Factor in a combined efficiency of 60% (accounting for dust on the panel, TP4056/CN3065 solar charge controller drop, and battery chemical charging efficiency).
- Required Daily Generation: 0.08 Wh / 0.60 = 0.133 Wh/day.
- Minimum Panel Wattage: 0.133 Wh / 2.5 PSH = 0.053 W (53 mW).
Mathematically, a tiny 0.5W panel could power this node under ideal laboratory sun. In reality, you should deploy a 2W to 5W, 5V or 6V panel. Why the 40× safety margin? On heavily overcast winter days, solar irradiance drops to 5%–10% of full daylight. A 5W panel under heavy grey clouds still produces 100 mW to 250 mW—plenty to cover operating overhead and keep the battery floating above its cut-off threshold.
Deployment Checklist for the Field
- Panel Tilt: Set your panel facing true North tilted at your local latitude plus 10° to 15° (roughly 45° in the Western Cape, 38° in Gauteng). This steep angle catches the low winter sun directly and sheds winter rain and dust naturally.
- Charge Controller: Use a dedicated solar lithium charger based on the CN3065 IC rather than a bare TP4056. The CN3065 handles input voltage fluctuation without browning out or latching up when sunlight dips.
- Sensor Power Isolation: Ensure peripheral sensors (like capacitive soil moisture probes) are powered from an ESP32 GPIO pin instead of the 3.3V rail. Turn the pin HIGH only during the 4-second measurement window to eliminate continuous resistive draw.
For classroom kits and agricultural telemetry architectures pre-configured for these power budgets, explore our reference designs at Sheen Farming Solutions or review our open telemetry modules at Sheen IoT.



