Solar E-Ink Weather Station

14K24712

Intro: Solar E-Ink Weather Station



Description

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.


Concept

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:

http://rsflightronics.com/solar-e-ink-weather-station

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 www.openweathermap.org

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

9 Comments

This is one of the most amazing small form-factor projects I've seen in a while. Something about e-ink combined with something as simple as weather forecast tickles my brain:>. I will definitely do it one day. Biiiig upp!!

Hola Ricardo.


I loved this instructable, it looks great and the functionality is awesome. Could it be adapted to use super capacitors instead of a battery?

Nice project! Very well finished.

Regarding the problem with the wake-up, I think that it is because the SPV1050 can only provide 70mA maximum, regarding the datasheet. When the ESP32 wakes up and connects to the WiFi it needs about 200/300 mA for a couple of seconds, and the power manager can't provide it. The capacitor stores some buffer energy, enough to survive the demand peaks.

For this, one think that would be more efficient is to take the power directly from the battery with a LDO to 3.3V and feed the TPL5110 and then the ESP32 directly to the 3.3V pin. Watching out the posible overdischarge, but most of the batteries have already protection.

If understand it correctly you are boosting the voltage of the battery to 5V and then down to 3.3V, but this would be not necessary, I think. And you would have more current available and would be simpler.

Anyway the energy provided by the solar panel is probably more than enough. I have a similar project with an ESP-C3 and 2 small supercapacitors instead of battery and it works fine. The panel fills the supercaps in a few minutes and then it can survive more than 48h (without the solar panel). And even when it's cloudly it slowly fills the supercaps.

I'm considering to add an e-ink display like you :-) Maybe I'll copy some ideas!

Cheers!


Ok, I was confused because I saw in the schematic that you are feeding the VBUS pin that usually is the 5V pin, but I understand that you actually redirect it to the LDO.

As said, very nice project.


Thanks for commenting! If you have a closer look to the schematic you will see that:

  • I am not using the SPV1050 70mA to feed the ESP32. I use the TPS73733DCQR that is connected to the battery through the TPL5110.
  • The capacitor is still required since the lipo battery that is used for this project has a very low discharge rate. The capacitor compensates this.
  • No boosting circuit is used for this project. The TPS73733DCQR regulates directly from the battery.

Looking forward to see the next iteration of your similar project!

I like how you overlaid a sketch on Leonardo's notes. You just needed to mirror the writing ;)

I have a budding interest in circuits, and while I know how to solder, how do you disconnect the components you marked up above?

I also appreciate the schematics and well labeled images, tho I did have to do some looking up for the acronyms you're using (since again, beginner). Once I feel a bit more confident I may try this project!

Thank you for sharing this!

Thanks! About the writing... I didn't notice that, thanks :)

The connection between the modules was done with wires, both ends soldered to make sure everything stays where it has to be. There are other options if you want to build a quick prototype without soldering. You can mount everything on a protoboard and once you have it working there, you can start putting together a soldered version.

Great documentation and lots of links, thanks!

I never thought about the AMS1117 and how bad it is for projects where you want really low standby current.

But since you also added the TLP5110 to cut power, would you really have to mess around with replacing the regulator? I don't know how long each update sketch is running, but I guess the processor would be cut off from power for 95%-99% of the time anyhow.

That's a very good observation! There are two important aspects that made me decide to "upgrade" that voltage regulator:


- Every inprovement in efficiency helps to extend the working time and avoiding to have to reload the battery over the usb port. Here in north Germany we have to wait a week or longer to see a sunny blue sky in winter. Every nA and mV counts!


- The most important point: We want to make sure the usable battery range is as wide as possible. The AMS1117 has a voltage dropout of 1.05v. This means, it regulates properly with a voltage input of 4.35v. If the battery voltages goes below that value, the AMS1117 becomes unstable. With the TPS73733DCQR the voltage dropout is just 130mV... this means that this regulator only needs 3.43V comming from the battery in order to be able to provide a stable 3.3v output. This allows a wider operative range for the battery and therefore a longer operative time :)