Solar Systems

Solar Panel & Charge Controller Selection

Solar Panel & Charge Controller Selection

Selecting the right panel and charge controller determines whether your solar node stays online year-round. This page covers available options and selection criteria. Prices are approximate and volatile (as of 2026-06-08).

Solar Panels

RAK Solar Panel 5V - ~$3.50 (as of 2026-06-08)

A small 5V RAK panel (SKU 920399, ~80 × 45mm) that connects to WisBlock base boards (and to the RAK19012 solar input). Convenient if you are already using RAK hardware, but limited in output compared to generic monocrystalline panels.

RAK19012 Solar Module - ~$6.90 (as of 2026-06-08)

An all-in-one module combining USB-C input, solar input, and battery management with an onboard linear battery-charger chip (not MPPT, and not a true solar charge controller). Solar input is limited to ~5.5V. Designed for RAK WisBlock systems. Simplifies the power system significantly - connect the solar panel and battery, plug the output into the WisBlock, done.

6W 6V Monocrystalline Panel - $15 - $20 (as of 2026-06-08)

The community standard for DIY solar repeater builds. 6V panels work directly with the CN3791 MPPT charger; the TP4056 is a linear charger best paired with 5V panels (a 6V panel works, but its open-circuit voltage nears the TP4056's limit and the excess is dissipated as heat). Monocrystalline cells are more efficient per unit area than polycrystalline, particularly in low-light conditions.

Charge Controllers

TP4056 - ~$1 - $3 (as of 2026-06-08)

A basic single-cell Li-ion/LiPo charger. The TP4056 chip alone provides CC/CV charge control (4.2V); over-discharge and short-circuit protection require the DW01-equipped module variant. It is a linear CC/CV charger (not MPPT and not PWM) - excess panel voltage above ~4.2V is dissipated as heat. The cheapest option and adequate for simple builds with moderate solar irradiance. A standalone TP4056 module does not have a load output - use the TP4056 with integrated DW01 protection IC, or add a separate protection module. Cold-weather warning: the TP4056 has no temperature sensing and no low-temperature charge cutoff, so it will attempt to charge the cell below 0°C, which causes lithium plating and permanent damage. For cold/winter deployments add a BMS with low-temp protection or a controller with a battery temperature sensor.

CN3791 MPPT - $3 - $5 (as of 2026-06-08)

A step up from the TP4056. The CN3791 is a switching MPPT-style charger that approximates Maximum Power Point Tracking using the constant-voltage method - it holds the panel near a preset Vmp (set by an external resistor divider) rather than continuously hill-climbing like a true perturb-and-observe MPPT. Simpler and less accurate than perturb-and-observe MPPT, but better than PWM, particularly under partial shading or variable irradiance. Recommended over TP4056 for serious solar builds. Like the TP4056, the CN3791 has no low-temperature charge cutoff - add BMS low-temp protection for cold-climate builds.

Taidacent MPPT Module - ~$10 (as of 2026-06-08)

A slightly larger MPPT module, commonly listed with ~1A charge current and 6V input support (confirm the exact specs against the specific module's listing). Some variants include onboard LED status indicators. Good choice when you want visibility into charge state without adding telemetry hardware.

RAK19012 All-in-One - ~$6.90 (as of 2026-06-08)

Integrated USB-C + solar + battery management for RAK WisBlock systems, using a simple onboard linear charger (not MPPT). Not suitable for non-RAK builds, but the simplest option for WisBlock deployments.

Charge Controller Comparison

ControllerPrice (as of 2026-06-08)MPPTMax ChargeBest For
TP4056$1 - $3No (linear CC/CV)1ABudget builds; good sun locations
CN3791$3 - $5Yes (constant-voltage)IC up to 4A; modules often ~2AMost DIY solar repeater builds
Taidacent MPPT~$10Yes~1A (confirm per module)When onboard monitoring is useful
RAK19012~$6.90No (linear charger)onboard linear chargerRAK WisBlock builds only

Panel Orientation and Mounting

Sizing Your Solar System

Sizing Your Solar System

Proper solar sizing means the system reliably recharges within your worst-case season and holds enough battery reserve to survive your design number of consecutive no-sun days. No solar system runs unattended forever: cells fade with cycling, panels degrade, and a long overcast stretch can outlast any fixed reserve. Plan for battery replacement every few years and use remote monitoring (see Monitoring Battery State) so you catch a failing node before it dies.

Step-by-Step Sizing Process

Step 1: Determine Daily Energy Consumption

Daily energy depends heavily on platform, firmware, TX duty cycle, and whether the screen/Bluetooth/Wi-Fi are on, so always use your own measured value where possible. As representative planning figures (measure your own): an nRF52840 repeater (RAK4631, T-Echo) averages ~10–15 mA, while an always-on ESP32 board (Heltec V3) averages ~40–80 mA (higher with Wi-Fi/MQTT). Compute daily energy as: Daily energy (Wh/day) = average current (mA) × 24 h × system voltage (V) ÷ 1000. The worked example below uses a Heltec V3 (ESP32) repeater drawing a conservative ~25 mA average at 3.7 V: 25 × 24 × 3.7 ÷ 1000 = 2.22 Wh/day. A higher-duty ESP32 node can easily draw 2–3× this, so re-run the calculation with your measured current.

Step 2: Find Worst-Case Peak Sun Hours

Peak sun hours (PSH) vary by location and season. Size the panel against your worst month (December for the northern hemisphere). Do not assume a flat "4 PSH year-round" — northern-US winter PSH is often only ~1–2.5 h/day. Look up your exact site on the NREL PVWatts calculator (which uses the NREL NSRDB dataset) rather than relying on a single state-wide number, because PSH varies sharply by city and dataset. The values below are rough orientation only — replace them with a PVWatts result for your coordinates:

Location (approx.)December PSH (approx.)Annual Average PSH (approx.)
North Dakota / Fargo (~47°N)~2.5 h/day~4.5 h/day
Minnesota (~45°N)~2.8 h/day~4.6 h/day
Texas (~30°N) — varies widely by region; central/eastern TX (e.g. Austin) can be ~2.7 h in December~2.7–4.1 h/day~5.5 h/day
Pacific Northwest / Seattle, Portland (~47°N)~1.5 h/day~4.2 h/day
Florida (~28°N)~4.8 h/day~5.5 h/day

Note: winter PSH can run anywhere from ~7% to ~42% below the 12-month average depending on latitude and climate, and a single state (especially Texas) is too large to treat as one number. Always confirm your site in PVWatts. (Figures as of 2026-06-08.)

Step 3: Calculate Required Panel Size

Panel size (W) = Daily energy (Wh) ÷ (PSH × system derate factor)

Use a system derate factor of 0.75 — this single planning factor covers charge-controller, wiring, temperature, and soiling losses. (We use 0.75 consistently across all Mesh America sizing pages; size your panel against this and confirm production in PVWatts.)

Example (North Dakota repeater):
Panel = 2.22 Wh ÷ (2.5 h × 0.75) = 2.22 ÷ 1.875 = ~1.18 W minimum

A 6 W panel is roughly 5× the nameplate minimum — but treat this as a nameplate ratio, not real surplus. In deep winter at high latitude (low sun angle, cold, dirt, snow, and a cheap controller running off its maximum-power point), a panel rarely delivers anything close to its nameplate wattage, and a snow-covered panel produces essentially zero regardless of its rating. The large nominal oversize is therefore needed, not luxury: it buys back winter harvest losses and helps recover after a cloudy or snowy stretch. The real protection against multi-day storms and snow cover is battery reserve (Step 4), not panel margin.

Step 4: Calculate Battery Reserve

Battery capacity (Wh) = Daily energy × Reserve days ÷ Usable fraction

Example (3-day reserve, LiFePO4 at 0.80):
Battery = 2.22 × 3 ÷ 0.80 = 8.33 Wh minimum (nameplate)

A single 3500 mAh 18650 cell (e.g. Samsung INR18650-35E, 3500 mAh nominal, ~3.6–3.7 V nominal) = 3.5 Ah × 3.7 V = 12.95 Wh nameplate, or ~10.4 Wh usable at the 0.80 fraction. That comfortably satisfies the 3-day requirement (8.33 Wh) with margin. It does not satisfy the 5-day example below.

For a 5-day reserve (LiFePO4 at 0.80):
Battery = 2.22 × 5 ÷ 0.80 = 13.9 Wh minimum (nameplate)
→ Two 3500 mAh 18650 cells in parallel = 25.9 Wh nameplate (~20.7 Wh usable at 0.80) — comfortably covers the 13.9 Wh requirement with real positive margin. A single 12.95 Wh cell (~10.4 Wh usable) is not enough for 5 days.

Cold-climate charging warning: For any winter/cold-climate build, never charge lithium (including LiFePO4) below 0 °C (32 °F) — sub-freezing charging causes lithium plating, permanent capacity loss, and a hidden internal-short fire risk (discharging in the cold is fine). The CN3791 used in the example build has no low-temperature charge cutoff, so a cold-climate node built around it must add a BMS with low-temp protection or a charge controller with a battery temperature sensor. See the Cold-Weather Operation page.

Complete Sizing Example: North Dakota Year-Round Repeater

ParameterValue
NodeHeltec V3 (ESP32), MeshCore Repeater
Average current draw (representative — measure your own)~25 mA (conservative for an ESP32 board; higher-duty configs draw more)
Daily energy2.22 Wh/day
LocationFargo, ND (~47°N) — confirm PSH in PVWatts
December PSH (approx.)~2.5 h/day
System derate factor0.75 (controller + wiring + temperature + soiling)
Panel required (minimum)~1.18 W
Panel selected6 W 6 V monocrystalline
Panel margin~5× nameplate (effective winter margin far lower — this is the reason for the large nominal oversize, not surplus)
Battery usable fraction (LiFePO4)0.80
Battery reserve target5 days
Battery required (nameplate)13.9 Wh
Battery selected2× Samsung 35E 18650 in parallel = 25.9 Wh nameplate (~20.7 Wh usable at 0.80) — comfortable positive margin over the 13.9 Wh requirement
Charge controllerCN3791 (PWM switch-mode MPPT solar Li-ion charger). Has no low-temp cutoff — add a BMS with low-temperature charge protection for this cold-climate build.
Total build cost (rough, as of 2026-06-08)~$85–$100 (re-price the bill of materials from current store listings before ordering)

Cold Weather Operation

Cold Weather Operation

Solar power systems in cold climates face challenges that warm-climate systems do not. This page consolidates solar-specific cold weather guidance. See also the DIY Build Guide > Cold Weather & Winter Operation page for enclosure and battery chemistry details.

Solar Panel Performance in Cold

Cold temperatures actually improve solar panel efficiency slightly. A standard silicon solar panel produces about 0.4% more power per degree Celsius below 25°C. At - 20°C (45° below the standard test condition), if the cell temperature actually reached - 20°C a 6W panel could produce roughly 7W (about +18%). In practice the gain is smaller because cell temperature under sunlight runs above ambient. Either way, this efficiency bump is minor compared with the real cold-weather problem below: far less light reaches the panel in winter, so net winter harvest is dramatically lower, not higher.

The main cold-weather solar challenge is reduced daylight hours and lower sun angle, not panel efficiency. A December day in North Dakota (~47°N) has only about 8.5 hours of daylight with the sun reaching a maximum elevation of only ~20° above the horizon, far less than the ~66° of midsummer. (Daylight length and solar elevation can be confirmed from a solar-position calculator for your latitude.)

Snow Accumulation on Panels

Snow covering the panel can reduce output to zero. Mitigation strategies:

Battery Temperature Management

Batteries lose usable capacity in cold, and charging is governed by a hard lower limit that is separate from how much capacity is available. The two columns below address these separately: discharge capacity falls gradually with temperature, while charging is simply prohibited below 0°C. The discharge figures are approximate and depend on cell and discharge rate; treat them as illustrative.

TemperatureApprox. discharge capacity (illustrative)Charging permitted?
+25°C (77°F)~100% (baseline)Yes
0°C (32°F)Reduced0°C is the practical lower charge limit - many BMS modules cut off charging at or just above 0°C. Charge only at a reduced rate; do not charge any colder.
- 10°C (14°F)ReducedDo not charge - charging here causes lithium plating, permanent capacity loss, and an internal-short / fire hazard (not merely capacity loss)
- 20°C ( - 4°F)Substantially reducedDo not charge
- 40°C ( - 40°F)Heavily reducedDo not charge. LiFePO4 is preferred for cold DISCHARGE and survival/storage only - it still must NOT be charged below 0°C without a heater.

A charge controller that monitors battery temperature and reduces or stops charging below 0°C is ideal. The CN3791 has NO low-temperature cutoff and no battery-temperature sensing (per its datasheet feature list) - on its own it will happily charge a frozen battery below 0°C, causing lithium plating and a hidden internal-short fire risk. The CN3791 is recommended elsewhere in this book as a default solar charger, so for any cold-climate or winter build you MUST add low-temperature charge protection: use a temperature-sensing charge controller, or a battery/BMS with built-in low-temperature charge cutoff, or a thermostat that disconnects charging below ~0 - 5°C.

Enclosure Thermal Behaviour

An enclosed node generates a small amount of heat (roughly 75 - 150 mW from the node and charge controller - for example ~25 mA at 3.7V is about 93 mW on the node side, plus charge-controller losses). In a sealed IP67 enclosure, this self-heating can keep the interior several degrees above ambient, which helps battery performance marginally. A black enclosure absorbs more solar heat during daylight, which can add a few more degrees of warmth. A white enclosure stays cooler in summer (preventing overheating) but provides less passive warming in winter.

For very cold deployments, a small Nichrome heating resistor (1 - 2W) inside the enclosure, powered from the battery via a thermostat relay, can keep the battery warm enough to charge. If the goal is to permit charging, set the thermostat to keep the cells above 0°C (target roughly +2 to +5°C) - NOT - 10°C, because charging is prohibited below 0°C and a battery sitting at - 8°C must not be charged. Note that a 1 - 2W heater may be too weak to warm a battery from deep-cold ambient to above freezing in a small outdoor enclosure, so verify the wattage against the enclosure's thermal mass and heat loss. Critically, the heater runs in winter - exactly when solar harvest is lowest - and its draw must be added to the power budget (a 1 - 2W heater can exceed the node's own consumption and flatten the battery it is protecting). Add a low-voltage cutoff so the heater cannot deep-discharge the pack. This adds complexity and power consumption but can be worthwhile for nodes at critical infrastructure sites.

Annual Maintenance Schedule

Cold-climate solar nodes require more frequent inspection than warm-climate nodes: