Make your solar powered electronic weather station
Over the past few months I have been researching how to make a weather station that is energy efficient and small in size. I want it to sit on a window frame and be charged by sunlight during the day.
Here are the details about the components needed for this project:
The conceptual diagram above provides an overview of the module interconnections.
The solar cell provides energy to the energy harvesting module which will be responsible for charging the LiPo battery when the solar panel generates energy. One of the features of this energy harvesting configuration is that it works even with very low input (as low as 0.5V) on the solar panel side, which makes it ideal for indoor energy harvesting.
Even though the ESP32 S3 has nice deep sleep features, it still draws micro amps of current in this state. Since we are using an E-Ink display, once an update is complete we don’t need to supply it with power again until the next update is needed. Given the need to keep current consumption to a minimum to prevent battery drain, simply relying on the ESP32 to sleep is not enough, and this is where the TPL5110 comes into play.
The TPL5110 module can achieve a “clean” power cut, reducing standby consumption to the order of nanoamps. The TPL5110 can be programmed to wake up periodically, and once the work is completed, the ESP will send it a “done” signal, and the TPL5110 will return to sleep and cut off the current.
In order to keep the current as low as possible when the ESP32 is enabled, some changes need to be made to the ESP32 S3 Mini module. The changes consist of removing the RGB LED, which has a “high” quiescent current, and changing the integrated voltage regulator to one that is more suitable for what we want to achieve. These steps are described later.
For more details on how to build your own weather station, see:
<span>http://rsflightronics.com/solar-e-ink-weather-station</span>
Material
- 1x ESP32 S3 Mini
- 1x Three-color e-paper 2.13 (SSD1680) expansion board
- 3x Monocrystalline Solar Cells 147MW 4.15V – SM111K06L
- 1x SPV1050 Micro Solar Power Manager
- 1 x TPL5110 module
- 1 x 3.7V 500mAh LiPo Battery 403040
- 1 x TPS73733DCQR low dropout regulator
- 1 x 1000uF 10V electrolytic capacitor
- 3D Printing Materials
- 2 x M2*4 flat head self-tapping screws
- 4 x M2*20 flat head self-tapping screws
Step 1: Adapt the ESP32 S3 Mini module
Let’s first remove the two components marked in the image below:
By removing the integrated RGB LED we save current and extend the battery range by upgrading the voltage regulator (next step) to a better regulator with a lower LDO.
After removing both components, our board should look like this:
Step 2: Voltage Regulator
Our next step is to solder in the new voltage regulator.
The TPS73733DCQR low dropout regulator is used here. Some minor modifications are required in order to integrate it into our module. Here I share what worked for me, but I believe there may be more (more elegant) options ?.
The following pinouts apply to the TPS73733DCQR:
An important point to mention is that, in the end, I replaced the VBUS and +3V3 with thicker wires.
Step 3: Connect the Module
We can go ahead and connect the modules as per the schematic below:
For wiring, having the chassis already printed out is very helpful as it allows for better estimation of wire lengths once all modules are in place.
The ESP32 is a power hungry component here, especially when trying to establish a WiFi connection. After I got everything mounted, I ran into issues with the TPL5110 not being able to keep the MOSFET on. After trying several fixes, I ended up adding a 1000uF capacitor directly across the battery connector (see schematic). I tried smaller values, but the 1000uF was the only one that provided consistent, reliable performance.
Step 4: Next Steps
A dedicated PCB, with more optimized power consumption and several additional features, is almost ready.
The 3D printing files can be downloaded on Thingiverse:https://www.thingiverse.com/thing:6396535
Step 5: Firmware
I am not responsible for the software running on this project. The original source code was written by David Bird and the code can be found in his GitHub repository.
GitHub: https://github.com/G6EJD/ESP32-e-Paper-Weather-Display/tree/master
An adapted version of the code for this project can be found in the following repository: Solar_E_Ink_Weather_Station: https://github.com/rsappia/Solar_E-Ink_Weather_Station
Make sure owm_credentials.h
it is configured correctly so that you can www.openweathermap.org
get weather information from it.
GitHub link for this project: https://github.com/rsappia/Solar_E-Ink_Weather_Station#readme
Original URL: https://www.instructables.com/Solar-E-Ink-Weather-Station/
Project author: rsappiawf