Energy Harvesting is one of the most important topic for sustainability. We have lot of connected devices > be it smart home devices, city monitoring devices, industry specific devices,etc. Mostly all of them need a continuous source of power but for some of the major use cases of just monitoring the place and sending the data every 1 hour or 30 min the energy is wasted for the rest of the time. Solar Power is also one of the only "free" source of energy and its widespread adoption is happening. I wanted to use solar panel with low frequency of sending data to never think of the weather station.
For Ex: Even when we are not using our smartphones to browser the internet, the time when its just connected to network wastes power.
So, I wanted to make a weather station for myself which I never need to think of. With the current implementation I don't even need to look after the device.
My goal was simple: Make a weather station that lasts long, really long.
I wanted to use a micro controller that consumes very low power during sleep or when inactive. I also wanted it to have some connectivity to connect is to my network and then to internet to make in an IoT device and accessible from anywhere. I decided to use the ESP8266 - a micro-controller with inbuilt WiFi that uses only 20μA during deep sleep. A prefect choice for the application. I am using the Wemos D1 mini which is small development board and based on some articles I read is closest to raw ESP8266 in terms of power consumption!
Wemos d1 Mini that I used for the project
With the microcontroller decided it was time for me to select a sensor. I chose the BME280 which I had already and in my opinion is the best. Although there may be some better ones that exist. The BME280 sensor can measure temperature, humidity as well as Air Pressure with great accuracy. I am using the Adafruit BME280 sensor. It also only It is also very accurate in its measurements.