The first real post of a project on my blog has to be something special.
So I decided to write a short post on my very fist project I finished about 3 Years ago.
The Project

I made a simple ESP 8266 IoT Weather Statition. I used the BME 280 sensor which is capable of measuring Humidity, Temperature and Pressure. It connected to a Wemos-D1 mini that uses the ESP8266 chip.
The whole weather station is powered using a 18650 LiIon Battery which can be charged over USB or from the sunlight using a solar panel. To have a bigger Power output i connected three 5V Solarpanles in Series. It now takes aprrox. 1 sunny summer day to charge the battery completely. All the charging is controlled using one of the TP4056 LiIon charging modules.
See all parts i used in the Parts List below.
Wiring Diagram
Download Schematic here
Arduino Code
The µController was programmed using the Arduino IDE, unfortunately I can´t find the code anymore.
But it´s basically reading the BME280 sensor using the I²C protocol. One importan point is that I had to change the sensor adress to 0x77 which can be done with the bme.begin(0x77) statement.
After reading the sesors value it also reads the battery voltage using a simple voltage devider and the one analog pin of the ESP8266.
Thingsspeak IoT
All these values are than stored in the Thingspeak IoT network using the Tingspeak Library and the POST-API.
At this link you can find the data from my weather station.
Deep Sleep
After everthing is done the µController goes into “Deep Sleep Mode” for 5 minutes and repeats it´s procedure. Therefore I use the esp.deepsleep(miliseconds) code line. Make sure to connetc Pin ‘D0’ to the ‘RST’ pin (as shown in the wiring diagram) so the ESP get´s the impulse to wake up again.
Parts List
- Wemos-D1 mini
- BME280
- TP4056 LiIon Charger
- 18650 LiIon Battery
- 3x 5V Solar Panel
- Connecting Terminal
- 18650 Holder
- Jumper