Solar System Sizing Guide Goal Size your battery to survive N cloudy days, and size your panel to fully recharge that battery against your worst-month (winter) sun — with real positive margin, never sized "exactly" to the minimum. Step 1 - Measure Your Device's Actual Current Draw Use a coulomb-counting USB power meter (or a meter that logs mAh/Wh) over a multi-hour test. A plain multimeter in series reads only instantaneous current and will under-estimate average draw — radios spend most of their time receiving (low current) and only briefly transmitting (high current), so you must integrate consumption over time (mAh/Wh), not read a single instantaneous value. Do not rely solely on datasheet figures — real-world draw depends on firmware, radio duty cycle, and accessories. Representative average current values (measure your own; these are examples, not specs): Device Avg Current ESP32 repeater (Heltec V3, no display, BT/Wi-Fi off) ~40 - 80 mA (light traffic toward the low end; default/higher-traffic configs higher) nRF52840 repeater (RAK4631 / T114), RX-mode average ~10 - 15 mA (aggressive power-saving firmware can reach ~7.5 mA) Pi Zero 2W gateway (idle/light load) ~100 - 150 mA at 5V (an active gateway under Wi-Fi traffic can exceed 150 mA) Pi 3B+ gateway (idle) ~300 - 400 mA at 5V (a busy gateway draws 500 mA+, peaking near 950 mA under load) Step 2 - Calculate Daily Energy Work in watt-hours so device voltage is explicit. Daily energy: Wh/day = average current (mA) × 24 h × system voltage (V) ÷ 1000. To get amp-hours at a given bus voltage, divide Wh/day by that voltage. (mA × h alone gives Ah at the device's own voltage — you must multiply by voltage to get Wh, and account for voltage when sizing a battery at a different bus voltage.) Example: a 60 mA ESP32 repeater on a 3.7 V single-cell bus = 60 × 24 × 3.7 ÷ 1000 ≈ 5.3 Wh/day, which is ~1.4 Ah/day at 3.7 V. If you instead power it from a 12 V LiFePO4 pack through a buck converter, the same 5.3 Wh/day is only ~0.44 Ah/day at 12 V, plus converter losses. Step 3 - Size the Battery for Cloudy Days (with margin) Multiply daily energy by the number of consecutive no-sun days you must survive. For general installs plan 3 - 5 days of reserve; for emergency-comms nodes plan 5 - 7+ days, because panels contribute nothing during a multi-day overcast or snow-covered stretch. Example (5.3 Wh/day ESP32, 5-day reserve): 5.3 Wh/day × 5 days = 26.5 Wh of usable reserve needed. For LiFePO4, plan to 80% depth of discharge for longevity — usable capacity = rated × 0.80. Sizing the pack exactly to the minimum leaves zero margin and ignores self-discharge, BMS/converter losses, cold-temperature capacity loss, and aging. Add real margin — roughly 1.3 - 2× the bare minimum. For the 5-day ESP32 case above (~26.5 Wh usable need ≈ a ~33 Wh pack at 80% DoD), step up to a ~50 - 65 Wh pack (e.g. an 8 - 10 Ah pack on a 6.4 V or 12.8 V bus) rather than sizing it razor-thin. Step 4 - Size the Solar Panel A solar panel produces roughly its rated wattage for a number of "peak sun hours" (PSH) per day. Do not assume a flat "4 PSH year-round." Use your location's winter PSH from NREL PVWatts: northern-US winter is only ~1 - 2.5 PSH (Seattle/Portland ~1.5, Chicago ~2.5, Anchorage ~0.5). Size the panel against the worst-month PSH and size the battery for cloudy-day reserve. Energy harvested: Wh/day = panel watts × PSH × derate, where the overall derate factor is 0.75 (it lumps controller, wiring, temperature, and soiling losses). To convert to amp-hours at the battery, divide by the battery charging voltage. For a PWM controller, current into the battery is roughly the panel's Imp (PWM clips panel Vmp to battery voltage); for MPPT, use the power form (panel W × PSH × derate) ÷ battery charging voltage, since MPPT converts power rather than clipping voltage. Example: a 5 W panel at a winter minimum of 2 PSH → 5 W × 2 h × 0.75 = 7.5 Wh/day harvested That still covers a ~5.3 Wh/day ESP32 repeater, but with thin margin and no allowance for consecutive overcast days. At a northern latitude, step up to a 10 W panel for reliable winter recharge. Step 5 - Account for Worst-Case Latitude and Season Latitude >45° (northern US, Canada) in winter may have only ~1 - 2.5 peak sun hours — and that figure describes clear winter days. During storms, prolonged overcast, and snow cover, real harvest can fall to near zero for days at a time. Size the panel for the winter minimum and size the battery for 5 - 7+ consecutive no-sun days at high latitude. Check and clear snow from panels in winter. Quick Reference Table Device currents below are representative receive-mode/idle figures (measure your own). The mA values are at each device's own input voltage; the Ah/day column is computed at that voltage. When powering from a higher-voltage battery (e.g. 12 V LiFePO4) through a converter, convert via watt-hours and add converter loss. Battery and panel columns already include margin for cloudy-day reserve and winter PSH. Device Avg mA Ah/day (at device V) Recommended Battery Recommended Panel nRF52840 repeater ~12 mA 0.29 Ah @ device V 3 - 5 Ah LiFePO4 3 W minimum ESP32 repeater ~60 mA 1.4 Ah @ device V 8 - 10 Ah LiFePO4 5 - 10 W Pi Zero gateway (idle) ~125 mA @ 5V 3.0 Ah @ 5V (≈1.4 Ah/day at 12V + loss) 15 - 20 Ah LiFePO4 20 W Pi 3B+ gateway (idle) ~350 mA @ 5V 8.4 Ah @ 5V (≈3.8 Ah/day at 12V + loss; active load draws more) 40 Ah LiFePO4 50 W