Solar-Powered Meshtastic Node Troubleshooting
My Node Dies Overnight
Check battery capacity first. A typical 18650 (2500–3500 mAh) powers a Meshtastic node for 12–24 hours without solar. You need enough battery to last through darkness.
| Battery | Capacity | Node Runtime (no solar) |
|---|---|---|
| 1× 18650 3500mAh | 12.95 Wh | 12–18 hours |
| 2× 18650 (parallel) | 25.9 Wh | 24–36 hours |
| 21700 5000mAh | 18.5 Wh | 16–24 hours |
| LiFePO4 6Ah | 19.2 Wh | 18–26 hours |
Formula: runtime_hours = battery_Wh / node_power_W
Typical Meshtastic node: 0.5–0.8W (ESP32 + GPS + display).
Solar Panel Too Small
| Region | Sun Hours/Day | Panel Size for 24/7 |
|---|---|---|
| Northern EU | 3–4 | 5–10W |
| Central EU | 4–5 | 3–5W |
| Southern US | 5–6 | 2–3W |
| Cloudy/rainy region | 2–3 | 8–15W |
Rule of thumb: Panel wattage should be 3–5× node power consumption for reliable 24/7 operation.
Charge Controller Problems
- TP4056 only charges to 4.2V — fine for Li-Ion, but has no temperature protection. In direct sun, battery can overheat.
- No under-voltage protection — if battery drops below 2.5V, TP4056 will not restart charging. You need a protected cell or a BMS.
- Solution: Use a dedicated solar charge controller like CN3791 or bq24650. These handle MPPT, temperature, and low-voltage recovery.
GPS Draining Battery
GPS consumes 30–50mA continuously. On a solar node:
- Set
position.gps_enabled = falseif you do not need real-time tracking - Set
position.position_broadcast_secs = 900(15 min) instead of default - Use
position.fixed_position = truefor stationary nodes
Wiring Checklist
Solar Panel (+) ─── Schottky diode ─── CN3791 IN+
Solar Panel (-) ───────────────────── CN3791 IN-
CN3791 BAT+ ─── 18650 (+) ─── BMS ─── ESP32 VIN
CN3791 BAT- ─── 18650 (-) ─── BMS ─── ESP32 GND
- Always use a Schottky diode between panel and charger (prevents reverse current at night)
- Always use a BMS-protected cell or external BMS board
- Add a 0.1µF ceramic + 100µF electrolytic capacitor near the ESP32 VIN pin