How this works
Battery Wh = daily Wh ÷ 0.98 ÷ battery efficiency × days ÷ depth of discharge ÷ cold factor Array W = daily Wh ÷ 0.98 ÷ battery efficiency ÷ (sun hours × (1 − losses) × heat factor × 0.98)
The method is the one in Sandia National Laboratories' Stand-Alone Photovoltaic Systems: A Handbook of Recommended Design Practices, worked through for a single pole: add up the daily load, size the battery to carry it through a run of sunless days, and size the panels to refill it in the darkest month of the year. The calculator reproduces the handbook's own worked example, a solar-powered radio repeater in Oregon, number for number.
The load
Enter every device on the pole with its maximum draw from its datasheet and the hours a day it runs. A camera's maximum includes its infrared illuminators, which are on all night; this calculator uses that figure for all 24 hours rather than splitting day and night, which errs toward a bigger system. The camera presets use the PoE class maximum (12.95 W for class 3, IEEE 802.3), which is the most a class-3 camera may draw; a real camera's datasheet maximum is usually lower, so enter it if you have it. Devices powered over PoE pass through a converter or switch that boosts 12 or 24 V to 48 V and loses energy on the way: Tycon's TP-DCDC converters are rated at 75% minimum efficiency, and the converter itself draws 1 W. Sandia then adds 2% for wiring and divides by the battery's round-trip efficiency, because every watt-hour the cameras use at night went into the battery first.
Sun
Solar output is set by the darkest month, not the average. For each listed city the calculator holds NREL's typical-year solar data (PVWatts version 8, National Solar Radiation Database) for a panel facing true south and tilted at the latitude plus 15°, which is Sandia's recommendation when the load is steady all year and winter decides the size. The figure used is the month with the least sun, in peak sun hours: the hours of full 1,000 W/m² sun the panel collects in a day. The list covers 48 cities across every US climate, from Fairbanks to Honolulu and Miami. With the panel tilted for winter, the worst month in the far South can be a summer month, when the sun is high and the steep panel catches less of it; that is the right figure for a panel set at that tilt. For an address away from the listed cities, NREL's free PVWatts calculator gives the same monthly figure for any address in a minute; type it into worst-month sun.
Battery
Storage days. How many sunless days the battery must carry. Sandia's chart recommends a number from the worst-month sun: at 3 peak sun hours, 4 days for 95% availability or 12 days for 99% (critical loads); darker sites need more. The calculator reads the chart and rounds up. You can type your own number; below Sandia's 95% figure it warns you.
Depth of discharge and efficiency. LiFePO4 is sized to use 80% of its capacity (Victron rates its cycle life at 80%) and is 92% efficient round trip; lead-acid is sized to 75% (Sandia's default for deep-cycle batteries, inside Trojan's 80% limit) and 80% efficient (Victron). Victron also notes that lead-acid charging becomes much less efficient above 80% charge, so a lead-acid system that cycles shallowly through several storage days does worse than 80%.
Cold. A cold battery holds less. LiFePO4 keeps 80% at 32 °F (0 °C) and 50% at −4 °F (−20 °C) per Victron's datasheet; flooded lead-acid keeps 50% at 0 °F (Trojan's curve, which this calculator also applies to AGM). The battery is enlarged to make up for it at your coldest temperature.
Never charge LiFePO4 below freezing. Trojan's lithium guide prohibits charging below 32 °F (0 °C), Battle Born's battery stops accepting charge below 25 °F, and Victron's Smart batteries need 41 °F (5 °C). On a cold pole the panels then charge nothing, however much sun there is. Use a self-heating battery (Battle Born's heated model draws 28 W while it heats: add that as a load), a heated enclosure, or lead-acid. A discharged lead-acid battery can freeze too: at 25% charge its electrolyte freezes around 16 °F (−9 °C).
Panels
MPPT controller. The array is sized in watts. NREL's PVWatts default of 14% covers soiling, distant shading, mismatch, wiring, connections, light-induced degradation and nameplate tolerance. Panels are also rated at 77 °F (25 °C) but run hotter in sun; Sandia rates module output at 113 °F (45 °C), the operating temperature NREL assumes for an open rack, so output is reduced by the panel's temperature coefficient over those 20 °C (about 7%). Victron's MPPT controllers peak at 98% efficiency. Panels are placed in series until the string's voltage, hot, stays above the battery's charging voltage by Victron's margins (5 V to start, 1 V to run).
PWM controller. A PWM controller connects the panels straight to the battery, pulling them down to battery voltage (Morningstar). So the array is sized in amps, exactly as Sandia does: the panel's current at battery voltage, not its rated watts. A 12 V-class panel on a 12 V battery delivers 60 to 65% of its rating this way; a 30 V residential panel on a 12 V PWM controller delivers under 40%, and the calculator says so.
Controller and wiring
The MPPT controller's charge current is the panels' rated watts divided by the system voltage. Makers rate it at charging voltage, so this errs high. For the code side, NEC 690.8(A)(1) (2023) takes the PV circuit's maximum current as the panels' short-circuit current (Isc) times 1.25 for every string in parallel, and 690.8(B)(1) requires conductors and overcurrent devices rated for 1.25 times that again, 156% of Isc in all. A PWM controller passes the array current, so its rating must cover the 690.8(A) figure. The string's open-circuit voltage rises in the cold (NEC 690.7(A)(1), using the panel's Voc temperature coefficient); the calculator checks it at your coldest temperature against the controller's maximum PV voltage.
What this does not account for
- Shade. There is no shading analysis. The 14% losses include 3% for distant horizon, NREL's average for "unshaded" systems. A tree, a building, a sign or the pole's own camera arms shading the panel in winter, when the sun is low, can cut output far more. Survey the site at the winter sun angle.
- Snow. PVWatts' default snow loss is 0%. A steeply tilted panel sheds snow; a covered panel produces nothing until it does.
- Weather beyond the typical year. The sun figures are typical-year monthly averages. A run of dull days is what the storage days cover; an unusually dark month is not.
- An engineered design. This is not a substitute for an engineered design, a structural check of the pole and panel mount for wind, or the codes your jurisdiction adopts (NEC 690 and 706, the authority having jurisdiction).
- Converters between voltages. A 12 V camera on a 24 V system needs a DC-DC converter with its own losses. Add them as a row.
- Controller efficiency in weak light. 98% is Victron's peak; in winter light it is lower. The controller's own draw (Victron 100/20: 25 mA at 12 V) is small but real; add it as a row if you like.
- Battery ageing beyond the depth-of-discharge limit, and the charger's ability to refill a deeply discharged battery quickly after the storm.
Common questions
- Why is the battery so big?
- Because it has to carry the pole through several sunless days in the coldest month, at reduced cold capacity, without ever being drained past its safe depth. Cut the load first: cameras at their real datasheet maximum, not the class maximum, and fewer hours for anything that can sleep.
- LiFePO4 or lead-acid?
- LiFePO4 is lighter, more efficient and uses more of its capacity, but it must not be charged below freezing. Where winter nights stay below 32 °F, use a heated LiFePO4 battery or lead-acid, which can charge cold but must be kept charged so it does not freeze.
- Do I need MPPT?
- For a small 12 V system with 12 V-class panels, PWM works and costs less, but wastes about a third of the panels' rating. For 30 V residential panels, long wire runs or 24 and 48 V systems, use MPPT.
- My city is not listed.
- Look up your address in NREL's PVWatts (fixed open rack, azimuth 180°, tilt your latitude plus 15°) and type the lowest monthly "solar radiation" figure into worst-month sun.
Related: the PoE power budget for the switch on the pole, voltage drop for the run from the battery box, and battery standby for fire alarm and access control.
Sources
- Sandia National Laboratories, Stand-Alone Photovoltaic Systems: A Handbook of Recommended Design Practices, SAND87-7023, updated March 1995. Appendix B worksheets: wire efficiency 0.98, corrected load, storage days chart, battery and array sizing, 1.20 × battery voltage to charge; tilt latitude + 15° for winter; Point Design No. 5 (VHF radio repeater), the worked example the tests reproduce.
- NREL PVWatts version 8 API (NSRDB typical-year data), fetched November 2026; and A. P. Dobos, PVWatts Version 5 Manual, NREL/TP-6A20-62641 (2014): Table 6 losses (14%), Table 3 temperature coefficient (−0.47 %/°C), 45 °C operating temperature.
- Victron Energy, 12,8 Volt lithium iron phosphate batteries Smart datasheet: 92% and 80% round-trip efficiency, capacity at 0 °C and −20 °C, charge +5 to +50 °C, cycle life at 80% DoD. Victron SmartSolar MPPT 75/10 to 100/20 datasheet: 98% peak efficiency, Vbat + 5 V / + 1 V, 100 V maximum.
- Trojan Battery, User's Guide (flooded, AGM, gel): capacity vs temperature, 80% depth-of-discharge limit, −20 °C operating limit, state of charge vs specific gravity, electrolyte freezing points. Trojan GC2 Series Lithium-Ion Batteries User's Guide (2023): no charging below 32 °F.
- Battle Born Batteries, BB10012 data sheet: charge temperature from 25 °F; heated model 28 W.
- Morningstar, Traditional PWM vs. TrakStar MPPT Technology (2015).
- NFPA 70, National Electrical Code (2023), 690.7(A)(1) and 690.8(A)(1), (B)(1), as summarised by Mike Holt (EC&M, 2024) and J. Wiles (IAEI Magazine, 2019).
- Device datasheets: IEEE 802.3 PoE classes; Ubiquiti NanoStation 5AC Loco; Teltonika RUT241; Hikvision DS-7600NI-K1; WD Purple; Tycon TP-DCDC; Renogy RNG-100D-SS and RSP200D; Canadian Solar CS6R-MS.
Every source used on this site, and how each number is used.