To monitor the micro-climate on my apartment balcony, I built a self-contained weather station that runs indefinitely without needing battery replacements.
Hardware Bill of Materials
- Microcontroller: ESP32-S3 (selected for its excellent deep-sleep current consumption of ~10µA).
- Sensor: BME280 (temperature, humidity, pressure) connected via I2C.
- Power: A small 5V 1W monocrystalline solar panel charging a 1000mAh LiPo battery via a TP4056 charge controller.
Software Optimization
The node wakes up once every 15 minutes, connects to my local Wi-Fi, performs a single HTTP POST request with sensor readings, and immediately enters deep-sleep. The entire active cycle takes less than 2.8 seconds, keeping the daily power requirement small enough to be fully replenished even on overcast winter days.