Solar-Powered Weather Monitoring Node
This project is a fully autonomous, solar-powered environmental monitoring node built around the ESP32-C3 microcontroller. It is designed for continuous outdoor operation with minimal power consumption, reliable sensor acquisition, and structured data reporting.
The system measures Temperature and Barometric Pressure using a single BMP280 sensor. All data is displayed locally and exposed over Wi-Fi in both human-readable and JSON formats for integration with logging systems and dashboards.
⚙ Hardware Architecture
Microcontroller
- ESP32-C3 (Wi-Fi capable, low power, RISC-V core)
Sensors
- 1× BMP280 — Temperature & Barometric Pressure (I²C)
Display
- Custom 3-digit segmented LCD
- Multiplexed 4-COM scanning architecture
- Hardware timer–driven refresh (1 ms tick ISR)
Power System
- Small solar panel
- Li-ion battery
- Power gating and duty cycling
- Brown-out detection enabled
The system is optimized for solar/battery operation, prioritizing predictable current draw and fast boot-to-data cycles.
🧠 Software Architecture
The firmware is written in MicroPython and follows a structured, RTOS-like architecture focused on reliability, deterministic behavior, and minimal system overhead.
Display Layer
- Timer-interrupt driven LCD scanning
- Precomputed segment buffer
- Non-blocking refresh logic
Sensor Layer
- Periodic I²C reads
- Buffered values
- Power-aware sampling strategy
Network Layer
- Wi-Fi with timeout and retry logic
- Lightweight HTTP server
/— Simple status page/json— Structured JSON output
Watchdog & Resilience
- Internal WDT feed cycle
- Controlled boot window (5–10 seconds)
- Early exit if network repeatedly fails
- Safe GPIO initialization on boot
The system avoids unnecessary background tasks and minimizes active radio time to preserve battery life.
🎯 Design Principles
- No operating system
- No external dependencies
- Deterministic behavior
- Power-first engineering
- Minimal but structured web interface
- JSON output for backend aggregation
The goal is a stable, low-power, self-sustaining environmental node that can operate unattended.