100% found this document useful (1 vote)
187 views7 pages

ESP32 Solar Weather Station

This document describes a solar-powered weather station project using an ESP32 microcontroller. The weather station measures temperature, humidity, and air pressure using a BME280 sensor. It is powered by two 6V solar panels connected to a lithium-ion battery managed by a solar charger module. The ESP32 sends the sensor data to the online platform Thingspeak.com. The document provides instructions on assembling the hardware components and programming the ESP32 code to upload the weather data.

Uploaded by

edu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
187 views7 pages

ESP32 Solar Weather Station

This document describes a solar-powered weather station project using an ESP32 microcontroller. The weather station measures temperature, humidity, and air pressure using a BME280 sensor. It is powered by two 6V solar panels connected to a lithium-ion battery managed by a solar charger module. The ESP32 sends the sensor data to the online platform Thingspeak.com. The document provides instructions on assembling the hardware components and programming the ESP32 code to upload the weather data.

Uploaded by

edu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

instructables

ESP32 Solar Weather Station

by Tiobel

For my first IoT project I wanted to build a Weather regarding this microcontroller and how to upload the
Station and send the data to data.sparkfun.com. code using Arduino IDE.

Small correction, when I decided to open my account All the physic parameters are given by the BME280 s
in Sparkfun, they were not accepting more ensor. Also check the wiki page for some more info.
connections, so I choose another IoT data collector th
ingspeak.com. To turn the system completely "wireless" the power
necessary is provided by two 6V solar panels that
Continuing... can deliver 2W of power. The cells will be connected
in parallel. The energy produce is then be stored in a
The system will be placed on my balcony and will 3.7V Polymer Lithium Ion Battery with +/- 1000mAh
retrieve temperature, humidity and air pressure. The capacity.
microcontroller selected for this project is the FireBeet
le ESP32 IOT Microcontroller supplied by DFRobot. The Solar Lipo Charger module from DFRobot will be
responsible for the energy management.
Please check DFRobot wiki page for more info

ESP32 Solar Weather Station: Page 1


Step 1: Components

For this project you will need:

1x - DFRobot FireBeetle ESP32 IOT


1x - DFRobot Gravity - I2C BME280
1x - DFRobot 3.7V Polymer Lithium Ion
1x - DFRobot Solar Lipo Charger
2x - 6V 1W Solar Panel
1x - Perfboard
1x - Female Header
1x - Enclosure/box
Wires
Screws

Also you will need the following tools:

Hot glue gun


Soldering iron
Drilling machine

ESP32 Solar Weather Station: Page 2


Step 2: Assembly

The FireBeetle ESP32 IOT Microcontroller is some headers and wires.


powered by the 3.7V battery that is connected to the
Solar Lipo Charger in the battery input port. The solar For the solar cells, I just used hot glue to fix them in
cells are connected in the PWR In ports. The Vcc and the top cover of box. Since the box already had holes,
GND ports of the FireBeetle ESP32 IOT no need to do more :)
Microcontroller are connected to Vout ports of the
Solar Lipo Charger. Note: Diodes should be placed in the solar panels to
avoid damaging them and discharging the battery.
The BME280 power is supplied by the 3.3V port in
the FireBeetle ESP32 IOT Microcontroller. The You can read more about it in:
communication is done trough the I2C lines (SDA /
SCL). https://www.instructables.com/community/Use-of-
diodes-when-connecting-solar-panels-in-para/
To fix all components in the box I used a perfboard,

ESP32 Solar Weather Station: Page 3


Step 3: Code

For you to use my code, some changes are After your email is verified, you can go to Channels
necessary. and create a new channel. Add the variables that you
want to upload. For this project, Temperature,
The first one is defining your wifi network name and Humidity, and Pressure.
password. The second is getting an API Key from
Thingspeak.com. I will explain it below. Also you can Scroll down and press "Save Channel". After this you
define a new sleeping interval, if you wish so. can click in API Keys. And retrieve the the API write
key. Then add it in your code file.
Thingspeak.com
If you do not have a Thingspeak account, you will If everything is correct, your Weather Station can start
need to go to www.thingspeak.com and register sending data to your channel.
yourself.

ESP32 Solar Weather Station: Page 4


Download
https://www.instructables.com/ORIG/FAM/7QPZ/J5CQJT04/FAM7QPZJ5CQJT04.ino

ESP32 Solar Weather Station: Page 5


Step 4: Conclusion

As always in my projects I will to give room for future battery voltage. After some investigation and testing
improvements, this is not different. of some internal functions of the ESP32 nothing
worked. So probably I will add a voltage divider and
During the development, I start getting concern with connect it to an Analog Input and read directly the
the energy consumption of the system. I already voltage. Please let me know if you come up with a
place the ESP32 and BME280 to sleep and even so I better solution.
have a consumption of around 2mA!!! Being the
BME280 the big responsible for this, I will probably Please write me if you found any mistake or if you
need a switch to turn off completely the module have any suggestion/improvement or questions.
during sleeping mode. "Do not get bored, do something"

Another interesting feature would be to retrieve the

Haven't I seen exactly the same project somewhere else? Ok...nevertheless my comment on this
here too: Nice idea but in my optionion the DFRobot charger is problematic. It does not provide a
fixed, stabilised power but juts outputs the battery voltage which is in range 3.7 to 4.2 V. and even
more problematic: it does not provide a deep discharge protection, so the battery may be damaged
irreversibly when it is discharged too much. Only ready-to-use solution I know about is the one
from https://iot.halaser.de which includes both components, battery charging and deep discharge
protection.
Hello Mike,

Thanks for your comment.

If you saw it Hackster.io that its also mine, if you saw it elsewhere, then it was copied from one of
this two sites.

Regarding your comment you are right about the charger, but I used what I had, and since in my
projects there are always room for improvement, a voltage monitoring could be added and a
shutdown featuring also.

Best Regards,
Hugo Gomes
ESP32 Solar Weather Station: Page 6
Yes, it was hackster.io - I left a comment there too :-)

HI, it looks like you used fritzing, where did you find the dfrobot parts for fritzing? I would be very
much interested in using them. Thanks for the pointer.
Hello GeertV8,

Thank for the comment.


I did not find them to fritzing, I edit them and "photoshop" them :)

Best Regards,
Hugo Gomes
Your project is neat. Some value able info for the people looking for the data collecting sites. For
the Voltage reading with the help of voltage divider is the way to go. Try to use 1% of resistance for
voltage divider. For power switch for BMP280, I would suggest to use a tiny MOSFET or bipolar
transistor. The base or gate of the transistor could be controlled by the ESP32 io pin.
Good Job

Hey! Good job on the weather station. I was thinking you could reduce the power consumption on
the DFRobot Gravity - I2C BME280 by removing the red led indicator. On the NodeMcu there is a
hack that can make it run on µA instead of ma. Maybe this would be of interest to you.
https://tinker.yeoman.com.au/2016/05/29/running-nodemcu-on-a-battery-esp8266-low-power-
consumption-revisited/.
That's a neat setup :) This would be really useful to have in the back yard.

Thanks Swansong, please tell me if you encounter any problems. Or if you have any
improvements

ESP32 Solar Weather Station: Page 7

You might also like