# Solar Repeater Build

# Parts List & Overview

## Parts List &amp; Overview

A DIY solar repeater can be built for roughly $90 - $140 using commodity parts (with the solar-capable Heltec V4; a stripped-down V3 build can come in lower). This build creates a weatherproof, autonomous LoRa mesh repeater powered entirely by solar with enough battery reserve to ride through multiple cloudy days. Prices below are approximate and parts-dependent, as of 2026-06-08; component prices drift over time, and totals exclude shipping.

### Full Parts List

<table id="bkmrk-componentrecommended"><thead><tr><th>Component</th><th>Recommended Option</th><th>Cost</th><th>Notes</th></tr></thead><tbody><tr><td>LoRa node</td><td>Heltec V3 *or* Heltec V4</td><td>V3 ~$20 - $35; V4 ~$45 - $50</td><td>Heltec V4 (~$45-50) added a built-in solar charge input and is preferred for solar builds; the older V3 (~$20-35) lacks it and needs an external charge controller. Prices as of 2026-06-08.</td></tr><tr><td>Alternative node</td><td>RAK WisBlock (RAK4631 + RAK19007)</td><td>~$31 - $35</td><td>RAK4631 core (~$21-23) + RAK19007 base (~$9.99) ≈ $31-35 combined (as of 2026-06-08). Lower power draw; more expensive than a bare Heltec V3 but the nRF52840 runs cooler.</td></tr><tr><td>Antenna</td><td>5 dBi fiberglass omni</td><td>$12 - $20</td><td>RAK 5.8 dBi fiberglass is a community favourite at ~$30 - $40 (prices as of 2026-06-08). Budget fiberglass omni gain figures are often marketing-inflated; treat quoted dBi as nominal and do not assume the full gain in link/EIRP calculations.</td></tr><tr><td>Coax pigtail</td><td>SMA pigtail, 15 - 30cm</td><td>$3 - $5</td><td>Match connector type to your node (SMA or RP-SMA). Note: RP-SMA is not more weather-resistant than SMA - they share the same body and thread, only pin polarity differs.</td></tr><tr><td>Solar panel</td><td>6W 6V monocrystalline</td><td>$15 - $20</td><td>A 6V panel matches the CN3791 6V variant directly; a TP4056 will also accept ~6V but is a linear (non-MPPT) charger, so the CN3791 is strongly preferred for solar. Commodity pricing as of 2026-06-08.</td></tr><tr><td>Battery</td><td>Samsung INR18650-35E 18650, ~3500mAh</td><td>~$10</td><td>Counterfeit and re-wrapped 18650 cells are common on open marketplaces - buy from a reputable battery vendor and avoid suspiciously cheap or overstated-capacity cells. Use a protected cell or pair with a BMS.</td></tr><tr><td>Charge controller</td><td>CN3791 MPPT module</td><td>$3 - $5</td><td>More efficient than TP4056; better for variable solar; supports 6V input (the CN3791 6V variant is matched to a 6V panel)</td></tr><tr><td>Inline fuse + holder</td><td>1 - 3 A inline fuse, sized to wiring</td><td>~$2</td><td>Place on the battery positive lead to protect against short-circuit fire. Reference the wiring order in the Assembly Guide.</td></tr><tr><td>Enclosure</td><td>Zulkit IP65 150×100×70mm</td><td>$12</td><td>Hinged lid; 2 cable glands included</td></tr><tr><td>Cable glands</td><td>PG7 (thin cables, ~3-6.5mm) or PG9 (coax, ~4-8mm)</td><td>$3 - $5</td><td>For antenna pigtail and solar wires entering enclosure</td></tr><tr><td>Mounting hardware</td><td>U-bolt + hose clamps or pole mount</td><td>$5 - $8</td><td>Stainless steel preferred for outdoor longevity</td></tr><tr><td>Desiccant</td><td>Silica gel packs 5g</td><td>$2</td><td>Place inside enclosure; replace or regenerate annually (regenerate indicating silica gel at ~120 °C for 2-3 hours)</td></tr><tr><td>Sealant &amp; misc</td><td>Silicone sealant, zip ties, heat shrink</td><td>$5</td><td>Seal cable glands and any penetrations</td></tr></tbody></table>

**Total estimated cost: ~$90 - $140** for a V4 solar build (as of 2026-06-08), depending on component choices. A bare-bones V3 build can come in lower. The total is the sum of the line-item ranges above and is traceable to them; it excludes shipping.

### Power Budget

Before building, verify the solar panel and battery are adequately sized for your location and expected traffic. The figures below are board- and config-dependent estimates (ESP32 with a screen draws more; nRF52/sleep configs draw less) - measure your own device for an accurate budget.

<table id="bkmrk-parametervaluenotes-"><thead><tr><th>Parameter</th><th>Value</th><th>Notes</th></tr></thead><tbody><tr><td>Average current draw</td><td>20 - 40 mA</td><td>Typical repeater with moderate traffic; board- and config-dependent</td></tr><tr><td>Daily energy use</td><td>~2.22 Wh/day (low-traffic)</td><td>25mA × 3.7V × 24h. This assumes the low end of the 20-40 mA range; at 40 mA daily use rises to ~3.55 Wh/day. Treat 2.22 Wh/day as a best-case low-traffic figure.</td></tr><tr><td>6W panel, 2.5 peak sun hours, 70% efficiency</td><td>10.5 Wh/day</td><td>~4.7× margin over low-traffic consumption - but this assumes the panel is clear and producing. For year-round North Dakota, multi-day snow cover and overcast strings can drop harvest near zero; size the battery for 5-7 days of no solar and use more than one cell.</td></tr><tr><td>Single 3500mAh 18650 capacity</td><td>12.95 Wh</td><td>3500mAh × 3.7V; covers ~5.8 days with no solar at low traffic. A single cell is marginal for harsh winters - prefer a multi-cell pack.</td></tr></tbody></table>

### Build Overview

The build has four main stages:

1. **Flash firmware** - flash MeshCore Repeater variant onto the node before sealing it in the enclosure
2. **Wire the power system** - solar panel → charge controller → battery → node, with an inline fuse on the battery positive lead. When wiring an MPPT-style controller, connect the battery to the controller *before* the solar panel so the controller can detect the system voltage.
3. **Weatherproof the enclosure** - cable glands, sealant, desiccant
4. **Mount and aim** - antenna orientation, solar panel angle

See the [Assembly Guide](https://wiki.meshamerica.com/books/diy-build-guides/page/assembly-guide) page for step-by-step wiring and mounting details.

# Assembly Guide

## Assembly Guide

This guide assumes you have all parts from the Parts List &amp; Overview page and have already flashed MeshCore Repeater firmware onto the node.

### Step 1: Test Before Sealing

Before putting anything in the enclosure, bench-test the complete power chain:

1. Connect the charge controller to a bench power supply set to the panel's operating voltage - ~6V simulates a 6V solar panel; use a higher voltage for a 12V system. **No bench supply?** Use the actual solar panel outdoors in direct sun, or a 5V USB source, to simulate the input.
2. Connect a battery to the charge controller output.
3. Power the node from the battery via the appropriate connector (JST or 18650 contacts).
4. Verify the node boots, joins the mesh, and can be configured. Fix any issues now before sealing.

### Step 2: Prepare the Enclosure

1. Drill or punch holes for cable glands. Typical layout: one PG9 gland for the antenna pigtail, one PG7 gland for the solar wires. PG7 fits 3-6.5 mm cable; PG9 fits 4-8 mm cable - confirm your actual cable diameters fall in range before buying, and see the Cable Glands &amp; Penetrations page for the full sizing table. Use the same PG gland convention across all build pages so parts lists stay consistent. Place glands on the bottom or sides of the enclosure - never on top where water can pool.
2. Thread cable glands into holes. Wrap the gland threads with PTFE tape (not thread-sealant compound), then tighten finger-tight plus a quarter turn with a wrench. Do not overtighten or you will crack the enclosure.
3. Route the antenna coax pigtail through a PG9 gland. Leave enough slack inside to connect to the node. Tighten the gland around the cable until it grips firmly.
4. Route solar panel wires through a PG7 gland.

### Step 3: Wire the Power System

Wiring order: Solar panel → Charge controller input → Charge controller battery output → Battery → Charge controller load output → Node.

1. Connect the solar panel positive and negative wires to the IN+ and IN - terminals of the CN3791 or TP4056 charge controller. **Double-check polarity:** reversing the solar or battery leads on these boards destroys them, and a reversed LiPo can overheat and vent. On unlabeled clone boards, identify the IN/BAT/OUT pads from a known-good photo or the seller's pinout before connecting.
2. Connect the battery to the BAT+ and BAT - terminals. **Fuse the battery positive lead** with an inline fuse at the battery terminal (sized to the wire) before energizing the power chain - this protects against a short in the enclosure.
3. The node is powered from the charge controller load output (OUT+ / OUT - ). Note: bare TP4056 modules often have no separate load output - the battery and load share the OUT/BAT pads, so the node connects in parallel with the cell. The CN3791 and TP4056-with-protection boards provide a dedicated OUT. If using the Heltec V4 with its built-in solar input, connect the solar panel directly to the solar input and skip the external charge controller - the V4 handles charging internally.
4. Use appropriately rated wire. 24 AWG is adequate for the current levels involved (under 500mA).
5. **Battery chemistry warning:** the TP4056 and CN3791 are 4.2V Li-ion/LiPo chargers only. Do NOT charge a LiFePO4 cell with them - LiFePO4 is full at ~3.6V, and a 4.2V charger will overcharge it. If you swap to LiFePO4 for cold weather, use a LiFePO4-appropriate charger (3.6V/cell) that also has a low-temp charge cutoff. Never charge any lithium chemistry - including LiFePO4 - below 0°C (32°F); the cells discharge fine in the cold but charging below freezing causes permanent damage.
6. Insulate all connections with heat shrink. Exposed connections inside an enclosure can still short against the metal walls of a die-cast box.

### Step 4: Mount Components Inside the Enclosure

1. Use double-sided foam tape or small cable ties through holes in the enclosure wall to secure the charge controller and node. Hot glue is acceptable but makes future servicing harder.
2. Place the desiccant pack in a corner of the enclosure where it will not interfere with components or lid closure.
3. Ensure the node's USB port is accessible from the enclosure lid or a gland - you may need to access it for firmware updates.

### Step 5: Seal and Close

1. Apply a thin bead of silicone sealant around the inside edge of each cable gland nut where the cable exits. This is belt-and-suspenders weatherproofing on top of the gland's O-ring.
2. Verify the enclosure lid gasket is seated properly. Close and latch the lid.
3. Check that no wires are pinched by the lid.

### Step 6: Mount the Enclosure

**Working-at-height safety:** rooftop, tree, and tower mounting all expose you to fall hazards. OSHA requires fall protection at 6 ft (construction) and 4 ft (general industry). Use proper ladder technique and fall-arrest equipment where applicable, keep the mast and your full fall-radius clear of overhead power lines, and never climb roofs or trees in wet, icy, or windy conditions. Ground the installation and bond the antenna ground rod to the building grounding electrode system (NEC 810.21/250). For anything beyond a low, easily reached mount, consider hiring a professional. See the Mounting Outdoor Nodes page for full mounting, grounding, and clearance guidance.

1. Mount at the highest practical point that you can reach safely, with clear line of sight to the mesh coverage area. For most community nodes: rooftop, eave, fence post, or tree mount - observe the working-at-height and power-line cautions above.
2. Orient the antenna vertically. A vertical omni antenna radiates strongest toward the horizon - its pattern is donut-shaped, with a null straight up and down. For same-elevation peer nodes keep it vertical; tilting shifts the lobe and helps only when reaching a node well above or below your elevation.
3. Mount the solar panel facing south (northern hemisphere). For true year-round yield at northern US/Canada latitudes (~45-49°), set the tilt roughly equal to your latitude (~45-49° from horizontal). Bias steeper, toward 55-60°, only to prioritize winter (worst-case) production for an always-on node, at the cost of some summer output. A shallower angle (30-45°) favours summer production.
4. Route solar panel wires so water cannot follow them into the enclosure. A drip loop - a downward U in the wire before it enters the gland - prevents capillary wicking.

### Step 7: Verify Operation

1. In the MeshCore app, confirm the repeater appears in the node list and is relaying messages.
2. Check battery voltage via the app or CLI. A full 18650 (Li-ion) reads ~4.2V; the CN3791/TP4056 will stop charging at 4.2V. (A LiFePO4 cell on its proper charger reads ~3.6V full - do not expect 4.2V from LiFePO4.)
3. During daylight, verify solar charging is active (charge controller LED or app telemetry).

# Cold Weather & Winter Operation

## Cold Weather &amp; Winter Operation

LoRa mesh nodes can operate year-round in cold climates, but cold weather affects battery chemistry, solar production, and hardware longevity. Plan for these factors before deployment.

### Battery Chemistry in Cold

<table id="bkmrk-chemistrycold-perfor"><thead><tr><th>Chemistry</th><th>Cold Performance</th><th>Recommendation</th></tr></thead><tbody><tr><td>LiPo (Li-ion polymer)</td><td>Significant capacity loss below 0°C; can be damaged by charging below 0°C</td><td>Avoid for unheated outdoor enclosures in cold climates</td></tr><tr><td>Li-ion 18650 (standard)</td><td>30 - 40% capacity loss at - 20°C; charging below 0°C degrades cells</td><td>Acceptable with a charge controller that limits charge at low temps</td></tr><tr><td>LiFePO4</td><td>~50% capacity loss at - 40°F ( - 40°C), and tolerates that temperature without damage *for discharge/storage*. Like all lithium chemistries, it must **NOT** be charged below 0°C (32°F) unless it is a self-heating cell or the BMS/charge controller enforces a low-temperature charge cutoff — charging a standard LiFePO4 cell below freezing causes lithium plating (LiFePO4 is no more cold-charge-tolerant than Li-ion).</td><td>**Strongly preferred for outdoor cold-climate deployments (for its discharge tolerance — still requires a low-temp charge cutoff)**</td></tr></tbody></table>

Plan for LiFePO4 batteries to deliver only 50% of their rated capacity during extreme cold snaps. Size your battery bank accordingly - if you need 3 days of reserve at typical temperatures, plan for 6 days of capacity with LiFePO4 in a cold-climate installation.

### Solar Production in Winter

Winter solar production drops for two reasons: shorter days and lower sun angle. In North Dakota, December peak sun hours drop to approximately 2.5 hours/day (vs. 5 - 6 hours in summer). Counterintuitively, cold temperatures slightly *increase* solar panel efficiency compared to hot summer operation.

**Panel angle for northern US/Canada:** Tilt to 55 - 60° from horizontal for winter-optimised output (steeper than the latitude-equals-tilt rule that gives the year-round optimum). This sacrifices some summer production to improve winter output when it matters most.

**Snow accumulation:** A steep panel angle (55 - 60°) helps snow slide off naturally. If the panel will be frequently snow-covered, size your battery reserve for 5 - 7 days of zero-solar operation rather than 3 days. Remember that a snow-covered panel produces near zero — the daylight harvest margin shown in the sizing example below does not protect you during a multi-day snow event, so the battery reserve must carry the node on its own.

### Condensation and Moisture

Temperature swings cause moisture to condense inside enclosures even when sealed. Desiccant packs absorb this moisture but become saturated over time. Replace desiccant annually, or use indicating silica gel that changes colour when saturated.

Rechargeable plug-in units like the Eva-Dry E-333 have a **built-in electric heater and recharge by plugging into a wall outlet for 10 - 12 hours — never put one in an oven** (the plastic housing and electronics would be damaged). Loose indicating silica-gel packets are different: those can be regenerated in a low oven at about 120°C for 2 - 3 hours (do not exceed ~125°C).

### Enclosure Selection for Cold

- Avoid enclosures with rubber gaskets that harden and crack at - 40°C. EPDM gaskets remain flexible in cold; standard neoprene does not.
- Junction boxes rated IP67 or IP68 generally provide a better sealing margin than IP65 (immersion-rated test vs jet-rated test), which helps under repeated freeze-thaw cycles. Note that gasket material (e.g. EPDM) matters as much as the IP grade, since freeze-thaw stresses gaskets regardless of rating.
- Ammo cans with EPDM gasket replacements are a community favourite for cold climates - cheap, robust, and easy to seal.

### Sizing Example: North Dakota December

<table id="bkmrk-parametervalue-daily"><thead><tr><th>Parameter</th><th>Value</th></tr></thead><tbody><tr><td>Daily energy consumption</td><td>2.22 Wh/day (typical repeater)</td></tr><tr><td>Solar panel</td><td>6W monocrystalline</td></tr><tr><td>Peak sun hours (December, ND)</td><td>2.5 hours/day</td></tr><tr><td>Panel efficiency factor</td><td>0.70</td></tr><tr><td>Daily solar harvest</td><td>6W × 2.5h × 0.70 = 10.5 Wh/day</td></tr><tr><td>Margin over consumption</td><td>4.7× on a clear day — but a snow-covered panel produces near zero, so this margin does not apply during snow cover (the battery reserve must carry the node then)</td></tr><tr><td>Battery for 3-day reserve (LiFePO4, 50% derate)</td><td>2.22 × 3 ÷ 0.5 = 13.3 Wh minimum. Note: a 3500mAh 18650 (12.95 Wh) is a **Li-ion** cell (3.7V nominal, 4.2V charge) — do NOT charge it below 0°C and do not apply the LiFePO4 cold derate to it. A genuine LiFePO4 18650 is only ~1500mAh / 3.2V, so a LiFePO4 build needs more cells to reach the same Wh. Either way, two cells are strongly recommended.</td></tr></tbody></table>

### Operational Tips

- Check battery voltage remotely via the MeshCore or Meshtastic app before and after cold snaps.
- If the node goes offline in winter, low battery from insufficient solar or cold-degraded capacity is the most common cause - not hardware failure.
- A black or dark-coloured enclosure absorbs solar heat and can keep the interior a few degrees warmer than ambient — useful only in extreme cold. In hot or sunny conditions the opposite is true: a dark box can reach 70 - 80°C internally and overheat the electronics, so use a light/white enclosure there. Choose enclosure colour for your dominant climate.
- Do not use standard lithium batteries that are not rated for low-temperature charging in unheated enclosures. Charging a lithium cell below 0°C causes lithium plating, which both permanently reduces capacity AND can create internal dendrite shorts that may lead to thermal runaway and fire. Use a charge controller/BMS with a low-temperature charge cutoff, or LiFePO4 cells rated for low-temperature charging, in any unheated cold-climate enclosure.