← Back to Course
Complete System Design and Component Selection
☀️ Complete Solar IoT System Design - Off-Grid Sensor Stations for African Farms
☀️ What You'll Learn in This Lesson:
- 🔋 Design complete solar-powered IoT systems for remote fields
- 🛠️ Select the right components: solar panel, battery, charge controller
- 💰 Build a sensor node for under $40 that runs for months
- 📊 Calculate battery life and power requirements
- 🔌 Connect everything correctly with wiring diagrams
Solar power is essential for IoT sensors in rural Africa where grid electricity is unreliable or unavailable. A properly designed solar system can run your soil moisture sensors, weather station, or irrigation controller for months without maintenance.
🛠️ Recommended Components
| Component | Recommendation | Cost (USD) | Notes |
|---|---|---|---|
| ☀️ Solar Panel | 6V 2W Monocrystalline | $10-15 | Works in cloudy conditions, lasts 5+ years |
| 🔋 Battery | 18650 Li-ion (2600mAh) | $4-6 | Protected cell recommended (built-in protection circuit) |
| ⚡ Charge Controller | TP4056 + protection | $2 | Handles 1A charging, includes battery protection |
| 📊 Voltage Regulator | MCP1700-3.3 | $1 | 1.6μA quiescent current (very low power!) |
| 🖥️ Microcontroller | ESP8266 (NodeMCU) or ESP32-S2 | $5-8 | ESP8266 uses less power (deep sleep ~10μA) |
| 📦 Enclosure | IP65 Weatherproof Box | $8-12 | With cable glands for waterproof entry |
| 🔌 Connectors | JST, barrel jack, waterproof connectors | $2-3 | Prevents corrosion and loose connections |
💰 Total Cost: $30-40 per sensor node
Complete solar-powered IoT sensor station for under $40! Bulk purchases reduce cost to $25-30 per node.
🔋 Battery Life Calculation
| Component | Current (Active) | Current (Deep Sleep) | Duration |
|---|---|---|---|
| ESP8266 | 70mA | 10μA | 10 seconds active, 5 minutes sleep |
| Soil Moisture Sensor | 5mA | 0mA | 1 second per reading |
| DHT22/BME280 | 1.5mA | 0.1μA | 1 second per reading |
| Voltage Regulator | 1.6μA | 1.6μA | Always on |
═══════════════════════════════════════════════════════════════════════════════
BATTERY LIFE CALCULATION EXAMPLE
═══════════════════════════════════════════════════════════════════════════════
Battery capacity: 2600mAh (2.6Ah)
Active cycle (10 seconds):
ESP8266: 70mA × 10 seconds = 0.19mAh
Moisture sensor: 5mA × 1 second = 0.001mAh
BME280: 1.5mA × 1 second = 0.0004mAh
Total active: ≈ 0.19mAh per cycle
Sleep (5 minutes = 300 seconds):
ESP8266 sleep: 10μA × 300 seconds = 0.0008mAh
Regulator: 1.6μA × 300 seconds = 0.00013mAh
Total sleep: ≈ 0.001mAh per cycle
TOTAL per 5-minute cycle: 0.191mAh
Battery life = 2600mAh ÷ 0.191mAh = 13,600 cycles
= 13,600 × 5 minutes = 68,000 minutes = 47 DAYS!
With 2W solar panel charging daily: ➡️ INDEFINITE operation!
═══════════════════════════════════════════════════════════════════════════════
🔌 Complete Wiring Diagram
═══════════════════════════════════════════════════════════════════════════════
SOLAR POWER SYSTEM WIRING
═══════════════════════════════════════════════════════════════════════════════
┌─────────────────────────────────────────────────────────────────────────┐
│ SOLAR PANEL (6V/2W) │
│ ┌─────┐ │
│ (+) │ ☀️ │ (-) │
│ └──┬──┘ │
│ │ │
│ ┌────────────┼────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ TP4056 │ │ TP4056 │ │ TP4056 │ │
│ │ Charger │ │ Charger │ │ Charger │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 18650 │ │ 18650 │ │ 18650 │ │
│ │ Battery │ │ Battery │ │ Battery │ │
│ │ #1 │ │ #2 │ │ #3 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ └─────────────┼─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ MCP1700-3.3 │ ← Voltage regulator │
│ │ (3.3V output) │ │
│ └────────┬────────┘ │
│ │ │
│ ┌────────────┼────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ ESP32 │ │ Sensor │ │ Sensor │ │
│ │ 3.3V │ │ #1 │ │ #2 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
═══════════════════════════════════════════════════════════════════════════════
CONNECTION DETAILS
═══════════════════════════════════════════════════════════════════════════════
Solar Panel (+) ──► TP4056 IN+
Solar Panel (-) ──► TP4056 IN-
TP4056 BAT+ ──► 18650 Battery (+)
TP4056 BAT- ──► 18650 Battery (-)
TP4056 OUT+ ──► MCP1700 VIN
TP4056 OUT- ──► MCP1700 GND + ESP32 GND + Sensors GND
MCP1700 VOUT (3.3V) ──► ESP32 3.3V pin + Sensors VCC
⚠️ CRITICAL: Never connect solar panel directly to ESP32!
⚠️ Always use charge controller and voltage regulator!
💡 Power Optimization Tips for Maximum Battery Life:
- Deep sleep is your friend: ESP8266 can sleep for minutes/hours, waking only to read sensors
- Read sensors quickly: Take readings in under 1 second, then go back to sleep
- Use external wake-up: Timer-based wake (every 15-60 minutes) works best
- Disable WiFi when not needed: Only enable for sending data, then disconnect
- Remove indicator LEDs: Cut the power LED on ESP boards (saves 1mA!)
- Use lower sample rates: Soil moisture every 30-60 minutes is sufficient
📊 Power Consumption by Sensor Type
| Sensor/Component | Active Current | Sleep Current | Best For Battery? |
|---|---|---|---|
| ESP8266 (NodeMCU) | 70mA | 10μA | ✅ Excellent |
| ESP32 | 95mA | 10μA | ✅ Good (more features) |
| DHT22 | 1.5mA | 0.1μA | ✅ Yes |
| Capacitive Soil Moisture | 5mA | 0mA | ✅ Yes (read quickly) |
| BME280 (pressure) | 0.1mA | 0.1μA | ✅ Excellent |
| DS18B20 | 1.5mA | 0.75μA | ✅ Yes |
| NPK Sensor (RS485) | 30mA | 0.1mA | ⚠️ High power - reduce readings |
⚠️ Common Solar Power Mistakes:
- ❌ Connecting solar panel directly to ESP32 → Voltage spikes will destroy your board! Always use charge controller.
- ❌ Using unprotected 18650 batteries → Risk of over-discharge (battery damage) or over-charge (fire risk).
- ❌ No voltage regulator → Battery voltage varies (3.7-4.2V), ESP32 needs stable 3.3V.
- ❌ Waking up too often → Reading every minute reduces battery life to days instead of months.
- ❌ Leaving WiFi on continuously → ESP8266 draws 70mA continuously = battery dead in 1.5 days!
📖 Case Study - Solar Soil Sensors in Tanzania:
A farm in Tanzania deployed 10 solar-powered soil moisture sensors across 20 hectares:
- Setup: ESP8266 + capacitive moisture sensor + 6V/2W solar + 18650 battery
- Power optimization: Read sensors and send data every 60 minutes
- Result: Systems ran for 6+ months without any battery replacement
- Cost per node: $35 → total $350 for complete farm monitoring system
- Payback period: 3 months from water savings alone!
"The solar-powered sensors work perfectly in our remote fields. No electricity needed, no battery changes - just install and forget." - Farm Manager, Tanzania
💡 Solar Panel Sizing Guide:
- 1-2W: Single sensor node reading every 30-60 minutes (most common)
- 5W: Node with multiple sensors, reading every 15 minutes
- 10W: Active monitoring + relay control (irrigation valve)
- 20W+: Continuous operation (weather station with 1-minute updates)
🎉 Congratulations!
- ✅ Design complete solar-powered IoT systems for under $40
- ✅ Select the right components: solar panel, battery, charge controller
- ✅ Calculate battery life for any sensor configuration
- ✅ Wire everything correctly with protection components
- ✅ Optimize power consumption for months of operation
Next step: Build your first solar sensor node and deploy it in the field!
| Component | Minimum Spec | Recommended | Cost Impact |
|---|---|---|---|
| Solar Panel | 6V/1W | 6V/2W | +$5 |
| Battery | 18650 2000mAh | 18650 3000mAh | +$2 |
| Controller | TP4056 | TP4056 + protection | +$1 |
| Regulator | AMS1117 | MCP1700 | +$0.50 (lower sleep current) |
| Microcontroller | ESP8266 | ESP32-S2 | +$3 (more features) |
💡 Key Takeaways:
- Apply these concepts directly to your farm or project.
- Take notes on important details for the quiz.
- Use the button below to track your progress.
×