Building A Weather Display In Rust

We’ve seen a lot of weather displays over the years, and plenty of the more modern ones have been using some form of electronic paper. So what makes this particular build from [Harry Stern] different? The fact that the firmware running on the ESP32 microcontroller at its heart was developed in Rust.

The weather station itself is capable of operating for several months on its rechargeable NiMH battery bank. The Rust section of the project is in two parts, the first of which runs on a server which downloads the weather data and aggregates it into an image. The second part runs on the ESP32 using esp-idf which configures peripherals, turns on and connects to Wi-Fi, retrieves the image from the server, displays the image and then puts the display to sleep. By doing the heavy lifting on the server, the display should be able to run for longer than it would if everything was happening on the ESP32.

The project code is available from this GitHub page which should allow even Rust beginners to follow along, and the case file is also available for those with a 3D printer. [Harry] has a few upgrades planned for future releases as well, including a snap-fit case, a custom PCB, and improved voltage regulator for better battery life, and enhanced error handling for the weather API. And Rust isn’t the only interesting part of this project, either. As prices for e-paper displays continue to fall, more and more of them are found in projects like weather stations and even complete laptops which use these displays exclusively.

Weather Station With Distributed Sensors

Building a weather station is a fairly common project that plenty of us have taken on, and for good reason. They can be built around virtually any microcontroller or full-scale computer, can have as many or few sensors as needed, and range from simple, straightforward projects to more complex systems capable of doing things like sending data off to weather services like Weather Underground. This weather station features a few innovations we don’t often see, though, with a modular and wireless design that makes it versatile and easy to scale up or down as needed.

Each of the modules in this build use the ESP32 platform, which simplifies design and also takes care of the wireless capability needed. The base station gets a few extra sensors including those for carbon dioxide, volatile organic compounds, and nitrogen oxides. It also includes a screen which can be used to display a wide variety of data gathered locally but also includes forecast information fetched from the free OpenWeatherMap API. For the sensor modules, BME280 sensors are used for temperature, pressure, and humidity and each module includes its own solar panel and battery with the ESP32 chips set to operate using as little energy as possible.

One of the things that helps easily integrate all of the sensor modules is the use of ESP-NOW, which we have seen a few times before. It essentially eliminates the need for a router and allows ESP modules to connect directly with one another. The build also goes into detail about most of the aspects of this project including the programming of the GUI that the ESP32 base station displays on its screen, so for anyone looking to start their own weather station project this should be an excellent guide. Make sure to check out this one as well if you want to send all of your weather data to Weather Underground.

DIY 3D Printed Rain Gauge Connects To Home Assistant

Measuring local rainfall has real practical uses, especially in agriculture, but most of us will have to admit that it’s at least partly about drawing cool graphs on a screen. Whatever your motivation, you can build this open source electronic rain gauge designed by [Sebastian] of Smart Solutions for Home, and integrate it with Home Assistant.

This 3D printed rain gauge is of the ubiquitous tipping bucket type and uses a magnet and hall effect sensor to detect every time the bucket tips out. The sensor is soldered to a custom PCB with ESP32 configured using ESP Home. By keeping it in deep sleep most of the time and only waking up when the tip of the bucket, [Sebastian] estimates it can run about a year on four AA batteries, depending on rainfall. The hinge mechanism is adjustable to ensure that both buckets will tip with the same volume of water.

FDM 3D printed enclosures are not known for being waterproof, so [Sebastian] coated the PCB with varnish to protect it from moisture. This worked well enough that he could leave it running in a bowl of water for a few hours without any ill effects. The end result looks good and should be able to handle the outdoors for a long time.

Building a weather station is a popular DIY project. Some of the interesting varieties we’ve seen are powered by supercapacitors, show readings on antique analog dials and convert parking distance sensor kit into a wind gauge.

Continue reading “DIY 3D Printed Rain Gauge Connects To Home Assistant”

A weather station with an E-ink display

Low Power Challenge: Weather Station Runs For Months Thanks To E-Ink Display

Having a device in your living room that shows weather information is convenient, and building one of those is a great project if you enjoy tinkering with microcontrollers and environmental sensors. It’s also a great way to learn about low-power design, as [x-labz] demonstrated with their e-ink weather station which works for no less than 60 days on a single battery charge. It has a clear display that shows the local temperature and humidity, as well as the weather forecast for the day.

The display is a 4.2″ e-paper module with a resolution of 400 x 300 pixels. It uses just 26 mW of power for a few seconds while it updates its image, and basically zero watts when showing a static picture. It’s driven by a tiny ESP32C3 processor board, which downloads the weather forecast from every two hours. The indoor climate is measured by an SHT-21 temperature and humidity sensor mounted behind the display, while the outdoor data is gathered by a WiFi-connected sensor installed on [x-labz]’s balcony.

The inside of an e-ink powered weather stationThe key to achieving low power usage here is to keep the ESP32 in sleep mode as much as possible. The CPU briefly wakes up once every five minutes to read out the indoor sensor and once every fifteen minutes to gather data from outside, using the relatively power-hungry WiFi module.

To further reduce power consumption, the CPU core is driven at the lowest possible clock speed at all times: 10 MHz when reading the indoor sensor, and 80 MHz when using the WiFi connection. All of this helps ensure that just one 600 mAh lithium battery can keep everything running for those 60 days.

E-ink displays are perfect for text and simple graphics that don’t change too often, which is why they’re very popular in weather stations. With a bit of tweaking though, LCDs can also be optimized for low power.

Comparing Solar Energy Harvesters

There doesn’t have to be much more to setting up a simple solar panel installation than connecting the panel to a battery. Of course we would at least recommend the use of a battery management system or charge controller to avoid damaging the battery, although in a pinch it’s not always strictly necessary. But these simple systems leave a lot on the table, and most people with any sizable amount of solar panels tend to use a maximum power point tracking (MPPT) system to increase the yield of the panels. For a really tiny installation like [Salvatore] has, you’ll want to take a look at a similar system known as a solar energy harvester.

[Salvatore] is planning to use an energy harvester at his small weather station, which is currently powered by an LDO regulator and a small solar cell. While this is fairly energy efficient, the energy harvesters that he is testing with this build will go far beyond what an LDO is capable of. The circuit actually has two energy harvesters built onto it which allows him to test the capabilities of both before he makes a decision for his weather station. Every amount of energy is critical when using the cell he has on hand, which easily fits in the palm of one’s hand.

The testing of this module isn’t complete yet, but he does have two working prototypes to test in future videos to see which one truly performs the best. For a project of this size, this is a great way to get around the problem of supplying a small amount of power to something remote. For a larger solar panel installation, you’ll definitely want to build an MPPT system though.

Continue reading “Comparing Solar Energy Harvesters”

A weatherproof enclosure, opened to show a supercapacitor-based system inside

Wireless Weather Station Gets Solar-Powered Supercap Upgrade

When [knight-of-ni] bought an Acurite Atlas weather station to replace his earlier 5-in-1 model, he was initally happy with its performance. However, after just ten months the batteries in the outdoor unit died; since the previous model would happily run for several years on one charge, this was a bit of a bummer. Climbing up on the roof more than once a year just to replace batteries was becoming inconvenient as well, so [knight-of-ni] designed a solar power system with supercap backup and remote monitoring that should keep the sensors running 24/7, come rain or shine.

A weather station mounted on a pole outsideThe heart of the new power system is a pair of supercapacitors totalling 250 Farads, with an integrated protection circuit that limits the voltage to 5.4 Volts. The caps are charged by a 12 V solar panel; this means that quite a bit of power is dissipated in the protection circuit when the supercaps are fully charged, but since this is completely free solar power that is not much of an issue. A 6 V panel would have worked as well in full sunlight, but might have struggled on a cloudy or snowy day.

[knight-of-ni] wasn’t content with just letting the new power system run unattended however, and decided to integrate a remote monitoring tool as well. For this he used a Moteino, which is an Arduino-type board with an integrated 915 MHz transceiver. The data coming from this board is received by a Raspberry Pi running Linux and presented through a nice web interface. Thanks to this data [knight-of-ni] was able to confirm that the supercaps were fully charged in just an hour and a half on a sunny morning, and maybe three or four times that on a dark and rainy day.

If you’re interested in solar-powered weather stations, we’ve featured a few: some very simple, some more comprehensive, and one built into an IKEA lantern. If you’d like a recap on the working principle of supercapacitors and how they compare to batteries, look no further than our in-depth article on supercaps.

Thanks for the tip, [felix]!

Build Yourself A Weather-Reporting Diorama

These days, if you don’t fancy watching morning TV, you can always get an update on the day’s weather from your smartphone, computer, or any one of a series of other connected devices. However, if you’re looking for a more fun way to see what’s in store, this weather diorama from [Lewis] of DIY Machines might be just what you’re looking for.

The build uses an ESP32 as the brains of the project, responsible for querying the Internet for up-to-date weather information. This info is then displayed on a 2.9″ e-ink display, showing the temperature, chance of rain, and wind speed predicted for the local area. So far, so straightforward.

However, where it gets really creative is the use of laser-cut “scene discs” with different graphics on them to represent different weather conditions. They can alternatively be 3D printed,too. These are rotated via servos controlled by the ESP32, allowing the diorama to display a representative scene informed by the current forecast. If there’s snow coming, you’ll see a snow man, but if things are looking fine, you’re more likely to see a woman strolling with a dog.

It’s a fun way to learn about what Mother Nature has in store, and would look great on any breakfast bar to boot. We’ve seen some great builds from [Lewis] before, too, like this amazing seven-segment clock shelf.

Continue reading “Build Yourself A Weather-Reporting Diorama”