Solar E-Ink Weather Station


A new project is up and running! During the last couple of months, I have been working on a power-efficient and small form factor weather station. I designed it in a way that it can be placed on a window frame to get solar light during the day so its small LiPo can be recharged.




For this first project instance, only commercially available modules have been used to speed up the first proof of concept, the one I am describing in this post.

At the time of writing this post, the station has been sitting on my window for a week and has kept up delivering weather updates, despite the dark winter days that we are having in north Germany.


What´s inside?

Here below you can find some more details about the required components needed for this project.



To have all the modules allocated into a small form factor I designed the chassis to be split into three parts. This allows to connect all modules while in place and makes the build process easier and cleaner.





The concept chart above provides an overview of how the modules are interconnected. The solar cells provide energy to the energy harvesting module which will take care of loading the LiPo battery whenever the solar panels are generating energy. One of the particularities of this energy harvesting configuration is that it works even with very low input from the solar panel side ( as low as 0.5V). This makes it optimal for indoor energy harvesting.


Even though the ESP32 S3 has a good deep sleep characteristic, some uA are still required during this state. Since we are using a paper ink display, once it has been updated we don't need to keep providing energy to it anymore until the next update is required. Keeping in mind that the current consumption needs to be kept at its lowest to prevent the battery from running out of juice, a better solution than just relying on the ESP32´s sleep is required. This is the point where the TPL5110 comes into play.


The TPL5110 module enables a "clean" cut of power, lowering the standby consumption to the order of nano ampers. The TPL5110 can be programmed to wake up at a regular period and once the work is done, the ESP will signal it with the "Done" signal so the TPL5110 goes back to sleep and cuts off the current.


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 that has a "high" quiescent current and changing the integrated voltage regulator to something that fits better the purpose that we are trying to achieve. These steps are described later in this post.


The setup described above has been running for months while mounted on a protoboard.



Further details about how you can build your own weather station can be found under the following web address:





1 SPV1050 Micro Solar Power Manager
1 TPL5110 module
1 ESP32 S3 Mini
1 Tri-Color ePaper 2.13 (SSD1680) Shield
1 3.7V 500mAh LiPo battery 403040
1 TPS73733DCQR Low-Dropout Regulator
1 3D printed chassis
1 1000uF 10V electrolytic capacitor
2 M2*4 Flat head self-tapping screws
4 M2*20 Flat head self-tapping screws



Step 1: Adapting the ESP 32 S3 Mini Module

Let us begin by removing both components marked in the picture below.



By removing the integrated RGB LED we are saving some precious mA and by upgrading the voltage regulator (next step) we are expanding the battery range by using a better regulator with a lower LDO.


Once both components have been removed, our board should look like in the following picture



Step 2: Voltage Regulator

Our next step will be to solder the new voltage regulator. For this step, I am using the TPS73733DCQR Low-Dropout Regulator. To integrate it into our module, a little surgery will be required. Here I am sharing what worked for me, but I am sure there might be a lot of more (and elegant) options.


The following pinout applies to the TPS73733DCQR:




One important point to mention is that at the end, I replaced the VBUS and the +3V3 with a thicker wire.


Step 3: Connecting Modules

We can proceed to interconnect the modules as shown in the following schematic:



For the cabling, it was helpful to have the chassis already printed so the cable lengths could be better estimated with all modules in place.






The ESP is a power-hungry component, mostly when it is trying to establish a WiFi connection. Once I mounted everything together I faced some issues with the TPL5110 not being able to keep the MOSFET switched on. After trying several fixes for this issue I ended up adding a 1000uF capacitor directly to the battery connector (see schematic). I tried with smaller values but 1000uF was the only one that provided a stable and reliable performance.


Step 4: Next Steps!

A dedicated PCB with an even more optimized power consumption and several additional features is almost ready. Here is a preview:



Step 5: Firmware

I don’t take any credit for the software running on this project. The original source was written by David Bird and the code can be found on his GitHub repo.


An adapted version of the code for this project can be found under the following repository: Solar_E-Ink_Weather_Station


Make sure owm_credentials.h is properly configured so the weather information can be retrieved from


GitHub - rsappia/Solar_E-Ink_Weather_Station: Solar E-Ink Weather Station



The article was first published in Instructables on Feb 15th, 2024


author: rsappiawf

All Rights