Solar and Power FAQ How big a solar panel do I need? Short Answer For most LoRa mesh nodes: a 5W panel for nRF52840-based nodes, 10-20W for ESP32-based nodes. For Raspberry Pi gateways: 20-40W. These are rule-of-thumb guideline ranges, not sourced specifications - actual requirements depend heavily on your node's duty cycle, display use, and local insolation. They assume worst-month sun and a few days of autonomy; cross-check against Meshtastic's solar-powered node documentation and a solar sizing calculator for your specific site. The Calculation Solar system sizing is a four-step calculation. The current-draw figures below are approximate and config-dependent (Wi-Fi/BLE duty cycle and display state move them substantially) - measure your own node where you can rather than trusting these numbers: Measure your node's current draw - Use a USB inline power meter. Real measurements beat estimates. Typical (approximate) values: nRF52840 repeater: 8-15 mA average; ESP32 repeater with OLED: 40-70 mA; Pi Zero 2W gateway: 100-150 mA. An nRF52840 repeater can average well below 15 mA, and ESP32 draw varies widely with Wi-Fi. Calculate daily energy consumption - Current (mA) × 24 hours = mAh per day. Example: 12 mA × 24 = 288 mAh/day = 0.288 Ah/day. Find peak sun hours for your location - This is the key local variable. A panel receives "peak sun hours" as an energy-equivalent of full-rated output. Approximate US annual-average values (source these from NREL PVWatts/NSRDB for your exact location, as they vary by dataset): Miami: 5.5, Denver: 5.3, Seattle: 3.6, Boston: 4.2, Phoenix: 6.1. Use the worst-month value for sizing, not the annual average. The worst month is typically December, and December peak sun hours are far lower than the annual figure - e.g. Seattle drops to roughly 1-1.5 PSH in December, not 3.6. Size for that worst month. Panel size - A rough starting formula is: Daily consumption (Ah) ÷ worst-month peak sun hours × a combined derate of about 1.5-2x = panel Ah output needed, then convert to Watts at your system voltage. A single 1.25 "efficiency factor" is too optimistic: real-world losses (charge-controller and battery inefficiency, temperature, soiling/dust, panel aging, off-angle mounting, and only 50-70% of rated panel watts actually harvested in winter) commonly total 1.5-2x or more. The bare arithmetic for an ultra-low-power nRF52840 node yields a tiny number (well under 1 Wh/day), but do not use that as your panel size - it ignores those losses and multi-day overcast. After accounting for them, a 5W panel is the practical minimum even for the smallest nodes in poor-insolation regions like the Pacific Northwest in winter. Size up further for ESP32 and Pi-class nodes per the table below. Practical Sizing Recommendations The current draws and panel sizes below are approximate engineering estimates, not measured specifications. The PNW-winter column assumes you must ride through consecutive overcast days; in the worst sites you may need more than the listed wattage. For solar nodes, disable or duty-cycle the OLED display - leaving it on continuously wastes power for no benefit on an unattended repeater. Node Type Average Draw Panel (temperate US) Panel (PNW winter) nRF52840 repeater, no display 10-15 mA 5W 5W (consider 10W for consecutive overcast days) ESP32 repeater, no display 40-55 mA 10W 20W ESP32 repeater, OLED on 60-80 mA 15W 30W Pi Zero 2W + LoRa HAT 120-160 mA 20W 40W (a Pi gateway suits small solar poorly; may need more) Battery Sizing Size the battery for 3-5 days of autonomy (no solar input) for ordinary hobby uptime. This covers typical cloudy periods and seasonal weather. For nodes intended as emergency infrastructure, size for 7-10+ days of autonomy - the multi-day winter storms, wildfire smoke, and heavy overcast that most demand a working mesh are exactly when solar harvest collapses, and a node sized for only 3-5 days can die mid-incident. Battery (Ah) = Daily consumption (Ah) × autonomy days × a depth-of-discharge multiplier. The right multiplier depends on chemistry: use about 1.25x for LiFePO4 (to stay near 80% usable depth of discharge) and roughly 2x for lead-acid (which wants ~50% depth of discharge for reasonable life). A flat 1.2x is too aggressive for healthy long-term cycling. Example: nRF52840 at 12 mA × 24h = 0.29 Ah/day × 5 days × 1.25 (LiFePO4) ≈ 1.8 Ah minimum. For permanent outdoor nodes, use a LiFePO4 pack, not a bare LiPo - LiPo must not be charged below 0°C, suffers freeze damage, and is a fire risk in an unattended sealed enclosure (see the battery-chemistry guidance). Note that LiFePO4 cells are ~3.2V nominal, not 3.7V like LiPo, so a true "equivalent" differs in voltage and watt-hours; size by capacity (Ah) and chemistry, and pick a pack with comfortable margin (e.g. a few thousand mAh for this example). Solar & Wiring Safety For any permanent battery + panel install: always use a proper charge controller between the panel and the battery - never wire a solar panel directly to a LiFePO4 (or LiPo) battery, as that risks overcharge, cell damage, and fire. Add an inline fuse at the battery positive terminal sized to your wiring; a shorted lithium pack can dump very high current into thin DIY wiring inside a sealed enclosure. In any climate with freezing winters, use a charge controller or BMS with a low-temperature charge cutoff - lithium chemistries must not be charged below 0°C. Why does my solar node keep dying at night? Diagnosing Night Drain If your solar node runs fine during daylight but goes offline overnight, you have one of three problems: undersized battery, incorrect charge controller settings, or excessive power draw. Step 1: Verify Actual Battery Capacity First, measure what you actually have. LiPo and LiFePO4 batteries are frequently sold at optimistic ratings. A "5000 mAh" LiPo from an unknown manufacturer may test at 3000-3500 mAh in practice. Test: Fully charge the battery, disconnect solar, and measure how long the node runs. Node runtime (hours) × current draw (mA) = actual battery capacity (mAh). Step 2: Calculate Required Overnight Capacity In winter at high latitudes, "night" can mean 16+ hours of darkness. Your battery must cover: hours of darkness × node current draw. Example: 14 hours dark, 12 mA draw = 168 mAh minimum. On paper even a small 1000 mAh battery covers this. But this bare calculation is optimistic: it ignores depth-of-discharge limits (you should not regularly drain a cell to empty), cold-temperature capacity loss (a 1000 mAh cell delivers substantially less at -10°C), and multi-day low-/no-sun events. For emergency-grade reliability, oversize the battery well beyond the textbook minimum and account for cold-weather derating and several consecutive cloudy days. If your node dies overnight, either the battery is not fully charging during the day or the current draw is much higher than expected. Step 3: Verify the Battery is Actually Charging Check the charge controller status LED or voltage output during the day. Common issues: Panel undersized for the season - A panel just barely adequate in summer may not fully recharge the battery on short winter days. The battery reaches discharge before it can recover overnight. Panel partially shaded - Even partial shading (one corner of the panel) can sharply reduce output - often on the order of 50-80%, though the exact loss depends heavily on how the cells are wired in series and whether the panel has bypass diodes. Because series-connected cells are limited by the most-shaded cell, shading even a small area can disproportionately cut output. Inspect during the time of day the sun is lowest (winter morning/afternoon). LVD set too high - If the charge controller's Low Voltage Disconnect threshold is set above the battery's actual minimum, it cuts power while charge still remains. A conservative LVD that protects pack longevity is 3.0V/cell for LiFePO4 (12.0V for 4S) and 3.0-3.2V/cell for LiPo; the absolute safe-discharge floor is lower (~2.5V/cell for LiFePO4, ~2.5-3.0V/cell for LiPo). Always defer to your specific cell/pack datasheet for the recommended cutoff. Charge controller in wrong battery mode - Lithium chemistries need a matching lithium charge profile. A controller configured for lead acid uses different absorption/float voltages and cutoffs, which can overcharge a LiPo or leave a LiFePO4 pack undercharged. Verify the battery type setting matches your battery chemistry, and check the actual charge voltages against your cell datasheet. Step 4: Reduce Power Draw If the battery and panel are correctly sized but the node still dies, attack the power draw. The savings below are approximate and vary with board, configuration, and firmware version; measure your own node where possible: Disable OLED display (saves roughly 15-20 mA on a typical small OLED, depending on brightness and how many pixels are lit) Disable Bluetooth (saves roughly 5-15 mA on ESP32, depending on advertising interval) Switch from ESP32 to nRF52840 board (saves roughly 30-50 mA average, depending heavily on configuration and sleep behavior) Reduce TX power to minimum needed. Note: lowering TX power reduces transmit-state energy, but not in a clean "halve the current per 3 dB" relationship - a 3 dB cut halves the radiated RF power, but PA efficiency is non-linear and the supply current does not scale 1:1. For a typical low-duty-cycle mesh node, transmit is only a small fraction of average draw, so the overnight benefit of backing off TX power is usually modest compared with display, Bluetooth, and idle draw. What battery chemistry should I use outdoors? Short Answer: LiFePO4 for outdoor deployments Lithium Iron Phosphate (LiFePO4) is the recommended battery chemistry for any permanent outdoor LoRa mesh installation. It is safer, more durable, and handles temperature extremes better than standard LiPo batteries. "Better at temperature extremes" mainly means greater high-temperature thermal stability and good cold-temperature discharge tolerance - it is not unlimited, and LiFePO4 still must not be charged below 0°C (see below). Why Not LiPo? LiPo (Lithium Polymer) batteries are the default on most development boards because they're inexpensive and compact. For an outdoor deployment, they have serious limitations: Temperature sensitivity - LiPo loses significant capacity below 0°C and should never be charged below 0°C (causes internal lithium plating and eventual failure). In any climate with freezing winters, an outdoor LiPo battery will degrade rapidly or fail entirely within 1-2 seasons. Thermal runaway risk - LiPo batteries can catch fire if punctured, overcharged, or deeply discharged and then recharged. Not ideal in unattended outdoor enclosures. Short cycle life - 300-500 full charge cycles. A solar node cycling daily would exhaust a LiPo in 1-1.5 years. LiFePO4 Advantages Property LiPo LiFePO4 Operating temperature 0°C to 45°C -20°C to 60°C (discharge)* Cycle life 300-500 cycles 2,000-4,000 cycles Thermal runaway Yes (fire risk) Much more resistant; thermal runaway is far less likely but not impossible under severe abuse/very high temperature Nominal voltage 3.7V/cell 3.2V/cell Energy density ~150-200 Wh/kg ~90-130 Wh/kg Cost Lower Higher (but lower cost per cycle) *Operating (discharge) range is -20°C to 60°C, but LiFePO4 must NOT be charged below 0°C without a low-temperature charge cutoff in the BMS - sub-freezing charging causes lithium plating, which permanently damages the cell. LiFePO4 Products for LoRa Deployments Product lines and model numbers below are examples and change over time; verify chemistry, exact model number, and current availability against the vendor's catalog before buying (as of June 2026). Make sure any pack you select is genuinely LiFePO4 - some "lithium" jump-start and powersports packs are standard Li-ion, not LiFePO4. Small cells (3.2V) - EVE LF50K, EVE LF100 18650-format cells; use with a LiFePO4-compatible BMS Integrated packs - Bioenno 3.2V to 12.8V packs with built-in BMS; Dakota Lithium packs 12V packs - For larger systems with 12V charge controllers; Battle Born and Dakota Lithium offer 12V LiFePO4 packs in roughly 10-100Ah sizes (confirm the exact current model number with the vendor) Charge Controller Compatibility LiFePO4 requires a charge controller set to LiFePO4 chemistry. Lead acid charge profiles will undercharge LiFePO4 (not a safety issue, but reduces usable capacity). A LiPo/Li-ion charge profile targets about 4.2V per cell; applied to a LiFePO4 cell (maximum ~3.65V) it overcharges the cell, which is a genuine safety concern. A quality LiFePO4 BMS should disconnect on overvoltage as a backstop, but you should not rely on that - verify your charge controller supports LiFePO4 mode before purchasing.