Solar + 18650 Battery Power System
System Overview
Complete solar-powered weather station with 18650 battery backup for continuous operation.
Power System Components
Battery System
- 18650 Battery: 2500-3500mAh, 3.7V
- Battery Holder: 1x18650 with protection circuit
- TP4056 Charging Module: USB charging with protection
- Battery Management System (BMS): Overcharge/discharge protection
Solar System
- Solar Panel: 5V-6V, 1-2W (recommended 6V 2W)
- Solar Charge Controller: TP4056 or dedicated solar controller
- Diode: Schottky diode for reverse polarity protection
- Mounting: Adjustable angle for optimal sun exposure
Power Regulation
- 3.3V Buck Converter: High efficiency (>90%)
- Voltage Divider: For battery monitoring
- Power Switch: Manual power control
- LED Indicators: Charging status, battery level
Circuit Design
Solar Charging Circuit
Solar Panel (6V 2W)
│
├───[Schottky Diode]───┐
│ │
▼ ▼
TP4056 Charging Module 18650 Battery
│ │
├───[Protection]───────┘
│
▼
3.3V Buck Converter
│
▼
Wemos D1 Mini + Sensors
Battery Monitoring Circuit
Battery (3.0V-4.2V)
│
├───[100kΩ]───┐
│ │
▼ ▼
GND A0 (Wemos)
│ │
└───[100kΩ]───┘
Power Consumption Analysis
Wemos D1 Mini Power Requirements
- Active Mode: 150mA @ 3.3V
- WiFi Transmission: 200mA peaks
- Deep Sleep: 0.02mA
- Sensors: 10mA total
- Total Active: ~160mA
Solar Panel Requirements
- Daily Energy Need: 160mA × 24h = 3840mAh
- Solar Efficiency: ~70% (cloudy days, angle)
- Required Solar: 3840mAh ÷ 0.7 ÷ 6h = 914mAh
- Recommended Panel: 6V 2W (333mA @ 6V)
Battery Runtime
- Battery Capacity: 2500mAh
- Continuous Runtime: 2500mAh ÷ 160mA = 15.6 hours
- With Solar: Continuous operation
- Deep Sleep Runtime: 2500mAh ÷ 0.02mA = 125,000 hours (~14 years)
Hardware Components
Required Parts
- 18650 Battery (2500mAh+) - 1x
- TP4056 Charging Module - 1x
- Solar Panel (6V 2W) - 1x
- 3.3V Buck Converter - 1x
- Schottky Diode (1N5817) - 1x
- Resistors (100kΩ × 2) - 2x
- Battery Holder (1x18650) - 1x
- Power Switch - 1x
- LEDs (red/green) - 2x
- 330Ω Resistors (for LEDs) - 2x
Optional Parts
- Solar Charge Controller (MPPT for better efficiency)
- Battery Level Indicator (LED bar graph)
- Weatherproof Enclosure
- Solar Panel Mount
Assembly Instructions
Step 1: Battery System
- Connect 18650 to TP4056 module
- Verify protection circuit is working
- Test charging with USB power
- Check battery voltage (3.0V-4.2V range)
Step 2: Solar Integration
- Connect solar panel to TP4056 input
- Add Schottky diode for reverse protection
- Test solar charging in sunlight
- Verify charging LED operation
Step 3: Power Regulation
- Connect battery output to 3.3V buck converter
- Set output voltage to 3.3V
- Test with load (Wemos D1 Mini)
- Verify efficiency (>90%)
Step 4: Battery Monitoring
- Build voltage divider (100kΩ + 100kΩ)
- Connect to A0 pin
- Calibrate reading with known voltage
- Implement battery percentage calculation
Step 5: System Integration
- Connect all components
- Add power switch
- Add status LEDs
- Test complete system
Code Implementation
Battery Monitoring
#define BATTERY_PIN A0
#define BATTERY_VOLTAGE_DIVIDER 2.0
float getBatteryVoltage() {
int adcValue = analogRead(BATTERY_PIN);
float voltage = adcValue * (3.3 / 1023.0) * BATTERY_VOLTAGE_DIVIDER;
return voltage;
}
int getBatteryPercentage() {
float voltage = getBatteryVoltage();
// Map 3.0V (0%) to 4.2V (100%)
int percentage = map(voltage * 100, 300, 420, 0, 100);
return constrain(percentage, 0, 100);
}
Power Management
void managePower() {
int batteryLevel = getBatteryPercentage();
// Low battery warning
if (batteryLevel < 20) {
// Enter deep sleep to conserve power
Serial.println("Low battery - entering deep sleep");
esp_sleep_enable_timer_wakeup(300000000); // 5 minutes
esp_deep_sleep_start();
}
// Send battery status via MQTT
String batteryPayload = "{\"battery\":" + String(batteryLevel) + "}";
client.publish("weather/battery", batteryPayload.c_str());
}
Solar Panel Sizing
Location-Based Sizing
| Location |
Peak Sun Hours |
Recommended Panel |
| Sunny |
6+ hours |
6V 1W |
| Moderate |
4-6 hours |
6V 2W |
| Cloudy |
2-4 hours |
6V 3W |
Panel Specifications
- Voltage: 6V nominal (5V-7V operating)
- Current: 167mA-500mA (1W-3W)
- Efficiency: >17% (monocrystalline)
- Size: 100mm x 70mm (1W) to 200mm x 140mm (3W)
Battery Management
Charging Stages
- Bulk Charge: Constant current until 4.2V
- Absorption Charge: Constant voltage at 4.2V
- Float Charge: Maintenance at 4.0V
Protection Features
- Overcharge Protection: Cuts off at 4.2V
- Over-discharge Protection: Cuts off at 2.5V
- Short Circuit Protection: Current limiting
- Temperature Protection: Thermal cutoff
Battery Life Optimization
- Depth of Discharge: Keep above 20%
- Temperature: Operate 0°C-45°C
- Charging: Avoid overcharging
- Storage: Charge to 40% for long-term storage
Expected Performance
Daily Operation
- Sunny Day: Solar provides 100% of power needs
- Cloudy Day: Battery supplements solar power
- Night Operation: Battery provides 100% of power needs
- Continuous Operation: 24/7 operation possible
Battery Life
- Cycle Life: 500-1000 cycles (2-3 years)
- Calendar Life: 3-5 years
- Self-Discharge: <2% per month
- Temperature Impact: High temperature reduces life
Troubleshooting
Common Issues
- No Charging: Check solar panel connection and sunlight
- Low Battery: Verify panel size and sun exposure
- System Resets: Check power supply stability
- Inaccurate Reading: Calibrate voltage divider
Testing Procedures
- Solar Output: Measure panel voltage in sunlight
- Charging Current: Measure current to battery
- System Load: Measure current draw
- Battery Voltage: Verify monitoring accuracy
Maintenance
Regular Checks
- Clean solar panel surface
- Check battery connections
- Verify charging status
- Monitor battery health
Seasonal Adjustments
- Adjust panel angle for sun position
- Increase panel size for winter months
- Check for weather damage
- Verify waterproofing
This solar + battery system enables truly autonomous weather station operation with minimal maintenance requirements.