ESP8266 NodeMCU Based Solar Powered WiFi Weather Station
This project builds a solar powered Weather Station to return wather data via WiFi. The project uses:
- ESP8266 NodeMCU - Arduino controller with WiFi
- BME280 module to measure Temperature, Humidity, and Pressure
- (optional) DS18B20 One-Wire bus temperature sensor for secondary measurement.
- 2N2222 NPN transitor powered water detector circuit to detect Rain.
- 5V Solar cell, 3.7V lithium ion battery and a TP4056 constant-current/constant-voltage linear charger to charge the battery during the day.
Note: Currently the circuit prototype is being tested.
List of Materials
- 1 x ESP8266 NodeMCU - Amazon
- 1 x BME280 module - Amazon
- 1 x DS18B20 (optional) - Amazon
- 1 x 2N2222 NPN (rain detector) - Amazon
- 1 x KY-003 / A3144E Hall Sensor - Amazon
Solar Power Supply
- 1 x 2.5W 5V/500mAh Solar Cell - Amazon
- 1 x 5V Micro USB 1A TP4056 Lithium Battery Charging Board with Protection Charger Module Amazon
- 1 x 3.7V 3000mAh 755068 Battery Rechargeable Lithium Polymer ion Battery Pack - Amazon
- 1 x 3.3V Linear Regulator 250MA MCP1700-3302E/TO - DigiKey
- 1 x GK1007 Solder-able Breadboard Amazon
- 1 x 440 Ohm Resistor
- 1 x 1k Ohm Resistor
- 1 x 5.1k Ohm Resistor (Optional for DS18B20)
- 1 x 51k Ohm Resistor
- 1 x 100k Ohm Resistor
- 1 x Red LED
- 1 x 100uF Electrolytic Capacitor DigiKey
- 1 x 220uF Electrolytic Capacitor
- 1 x 0.1uF Ceramic Capactior - Amazon
I tested the prototpye for over a week. The solar cell is able to charge the battery sufficiently to last through the night with very little drop in voltage. The following demonstrates the voltage plotted over several days. This data came directly from the ESP8266 as polled on the analog (A0) input every 5 minutes.
3D Printed Parts
ANEMOMETER: An anemometer to detect wind speed can be 3D printed from here. I inserted a small 5x1mm cylinder magnet in the cover and added a KY-003 module (a tiny circut board with an A3144E Hall Sensor) in the post to measure the rotation. I removed the built-in LED by cutting the circuit trace from the LED to the signal line in order to save power (and keep the anemometer from flashing all night).
BOX: To house the ESP8266 circuit board, battery and sensors, I create a project box with vents (for the sensor). It can be downloaded here.
SOLAR CELL HOLDER: A designed a simple solar panel bracket with TinkerCad and it can be downloaded here.
- Solar Power + Battery + Monitoring - https://randomnerdtutorials.com/power-esp32-esp8266-solar-panels-battery-level-monitoring/
- BME280 Sensor - https://randomnerdtutorials.com/esp32-web-server-with-bme280-mini-weather-station/