# Solar Systems

# Solar Panel & Charge Controller Selection

## Solar Panel &amp; 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.

- **Output:** 6W is the STC nameplate rating; real-world output is lower
- **Voltage:** ~6V at maximum power point (Voc typically ~7 - 7.5V; varies by panel)
- **Size:** Typically 180 × 130mm (varies by manufacturer) - fits on top of most enclosure sizes
- **Daily harvest:** 6W × peak sun hours × 0.75 derate. Use your location's worst-month (winter) PSH for sizing - as low as ~1.5 PSH in the Pacific Northwest, ~2.5 in the upper Midwest. At a generous 2.5 - 5 PSH this gives ~11 - 22.5 Wh/day, but the low (winter) end is optimistic for a fixed-tilt small panel and snow/low sun angle can push it lower. Size against the worst month, not the average.

### 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.

- **Max charge current:** 1A (set by resistor; default 1A modules are common)
- **Input voltage:** 4.5 - 8V absolute, but recommended operating input is 4.5 - 5.5V (5V panels ideal). A 6V panel works but its Voc (~7 - 7.5V) approaches the 8V max and the excess becomes heat - prefer the CN3791 for 6V panels.
- **MPPT:** No (linear CC/CV)

#### 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.

- **Input:** 4.5 - 28V (works with 5V/6V panels up to higher-voltage panels)
- **MPPT:** Yes (constant-voltage approximation)
- **Charge current:** The CN3791 IC supports up to 4A (programmable via sense resistor); common modules ship configured for ~2A
- **Cost premium over TP4056:** $1 - $2 - worth it

#### 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

<table id="bkmrk-controllerpricempptm"><thead><tr><th>Controller</th><th>Price (as of 2026-06-08)</th><th>MPPT</th><th>Max Charge</th><th>Best For</th></tr></thead><tbody><tr><td>TP4056</td><td>$1 - $3</td><td>No (linear CC/CV)</td><td>1A</td><td>Budget builds; good sun locations</td></tr><tr><td>CN3791</td><td>$3 - $5</td><td>Yes (constant-voltage)</td><td>IC up to 4A; modules often ~2A</td><td>Most DIY solar repeater builds</td></tr><tr><td>Taidacent MPPT</td><td>~$10</td><td>Yes</td><td>~1A (confirm per module)</td><td>When onboard monitoring is useful</td></tr><tr><td>RAK19012</td><td>~$6.90</td><td>No (linear charger)</td><td>onboard linear charger</td><td>RAK WisBlock builds only</td></tr></tbody></table>

### Panel Orientation and Mounting

- **Face:** South-facing in the northern hemisphere; north-facing in southern hemisphere
- **Angle from horizontal:** A tilt equal to your latitude maximizes annual energy. For a node that must survive the winter worst case (the point of sizing for resilience), use latitude +10 - 15° to favor the low winter sun. For northern US (45 - 50°N latitude), this works out to roughly 45 - 60° tilt, with the steeper end tied to winter optimization. Steeper angles favour winter; shallower angles favour summer.
- **Shading:** Even partial shading of a small cell in the panel significantly reduces total output. Site the panel to avoid shading from trees, structures, or the node enclosure itself during peak sun hours.

# 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](https://wiki.meshamerica.com/books/solar-power-systems/page/monitoring-battery-state-via-meshtastic-telemetry)) 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](https://pvwatts.nrel.gov/) (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:

<table id="bkmrk-locationdecember-psh"><thead><tr><th>Location (approx.)</th><th>December PSH (approx.)</th><th>Annual Average PSH (approx.)</th></tr></thead><tbody><tr><td>North Dakota / Fargo (~47°N)</td><td>~2.5 h/day</td><td>~4.5 h/day</td></tr><tr><td>Minnesota (~45°N)</td><td>~2.8 h/day</td><td>~4.6 h/day</td></tr><tr><td>Texas (~30°N) — varies widely by region; central/eastern TX (e.g. Austin) can be ~2.7 h in December</td><td>~2.7–4.1 h/day</td><td>~5.5 h/day</td></tr><tr><td>Pacific Northwest / Seattle, Portland (~47°N)</td><td>~1.5 h/day</td><td>~4.2 h/day</td></tr><tr><td>Florida (~28°N)</td><td>~4.8 h/day</td><td>~5.5 h/day</td></tr></tbody></table>

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](https://pvwatts.nrel.gov/).)

**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

- Reserve days: 3–5 days for most locations; **5–7+ days for high-latitude winter or emergency-comms nodes** (panels do not help during a multi-day overcast, so reserve is your only protection).
- Usable fraction: **0.80 for LiFePO4** (plan to 80% depth of discharge for longevity; this is the single value used across all Mesh America sizing pages so you get the same battery size on every page). Lithium-ion (LiPo/NMC) cells are also commonly planned at ~0.80. Do not apply a second derate on top of this unless you explicitly state and justify it.

**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](https://wiki.meshamerica.com/books/solar-power-systems/page/cold-weather-operation) page.

### Complete Sizing Example: North Dakota Year-Round Repeater

<table id="bkmrk-parametervalue-nodeh"><thead><tr><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td>Node</td><td>Heltec V3 (ESP32), MeshCore Repeater</td></tr><tr><td>Average current draw (representative — measure your own)</td><td>~25 mA (conservative for an ESP32 board; higher-duty configs draw more)</td></tr><tr><td>Daily energy</td><td>2.22 Wh/day</td></tr><tr><td>Location</td><td>Fargo, ND (~47°N) — confirm PSH in PVWatts</td></tr><tr><td>December PSH (approx.)</td><td>~2.5 h/day</td></tr><tr><td>System derate factor</td><td>0.75 (controller + wiring + temperature + soiling)</td></tr><tr><td>Panel required (minimum)</td><td>~1.18 W</td></tr><tr><td>Panel selected</td><td>6 W 6 V monocrystalline</td></tr><tr><td>Panel margin</td><td>~5× nameplate (effective winter margin far lower — this is the reason for the large nominal oversize, not surplus)</td></tr><tr><td>Battery usable fraction (LiFePO4)</td><td>0.80</td></tr><tr><td>Battery reserve target</td><td>5 days</td></tr><tr><td>Battery required (nameplate)</td><td>13.9 Wh</td></tr><tr><td>Battery selected</td><td>2× 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</td></tr><tr><td>Charge controller</td><td>CN3791 (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.</td></tr><tr><td>Total build cost (rough, as of 2026-06-08)</td><td>~$85–$100 (re-price the bill of materials from current store listings before ordering)</td></tr></tbody></table>

# 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 &gt; Cold Weather &amp; 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:

- **Steep mounting angle:** A steep tilt helps most wet snow slide off. As a general guideline use roughly 45 - 60° from horizontal, or about latitude + 15°. Dry powder snow may still accumulate.
- **Dark-coloured back-sheet:** Panels with a black or dark back sheet absorb more heat and melt snow faster.
- **Panel heating:** Some high-end installations use resistive heating elements on the panel back, powered by the battery during overnight cold snaps. Rarely justified for community mesh nodes due to the added power consumption.
- **Size for zero-solar periods:** The most practical approach - size the battery for 5 - 7 no-sun days in an ordinary northern winter, and 7 - 14 days where snow burial or polar darkness can persist for weeks. When the panel can be buried for an extended period, the battery is your only reserve - size it for the worst burial you expect.

### 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.

<table id="bkmrk-temperaturecapacity-"><thead><tr><th>Temperature</th><th>Approx. discharge capacity (illustrative)</th><th>Charging permitted?</th></tr></thead><tbody><tr><td>+25°C (77°F)</td><td>~100% (baseline)</td><td>Yes</td></tr><tr><td>0°C (32°F)</td><td>Reduced</td><td>0°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.</td></tr><tr><td> - 10°C (14°F)</td><td>Reduced</td><td>Do not charge - charging here causes lithium plating, permanent capacity loss, and an internal-short / fire hazard (not merely capacity loss)</td></tr><tr><td> - 20°C ( - 4°F)</td><td>Substantially reduced</td><td>Do not charge</td></tr><tr><td> - 40°C ( - 40°F)</td><td>Heavily reduced</td><td>Do not charge. LiFePO4 is preferred for cold DISCHARGE and survival/storage only - it still must NOT be charged below 0°C without a heater.</td></tr></tbody></table>

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:

- **Pre-winter (October):** Inspect gaskets, cable glands, replace desiccant; verify battery capacity is adequate; clean solar panel; verify mounting is secure
- **Mid-winter (January):** Remote check - verify node is online and battery voltage is healthy. The healthy threshold depends on your battery: for a single Li-ion/LiPo cell aim for above ~3.5V; for a single LiFePO4 cell aim for above ~3.0 - 3.2V resting; for a multi-cell pack (for example a 4S 12.8V LiFePO4 pack) scale the threshold to the pack (a 4S LiFePO4 pack should stay well above ~12V resting). Tie the threshold to your deployed battery type and cell count. Investigate any offline nodes promptly.
- **Post-winter (April):** Inspect for frost/condensation damage inside enclosure; replace desiccant; clean solar panel; verify all connections