An esp32 weather station with 3d printed anemometer, rain gauge and wind vane mounted on an aluminum frame sitting in an overgrown lawn

A Weather Station For Whether It Rains Or Shines

[Giovanni Aggiustatutto] creates a DIY weather station to measure rain fall, wind direction, humidity and temperature. [Giovanni] has been working on various parts of the weather station, including the rain gauge and anemometer, with the weather station build incorporating all these past projects and adding a few extra features for measurement and access.

An esp32 module connected to three level shifters inside of a grey utility junction box with a USB power connector coming in powering the ESP32 device and an external wifi antenna mounted on the outside of the junction box, all siting on a wooden table

For temperature and humidity, a DHT22 sensor is located in a 3D printed Stevensen screen, giving the sensor steady airflow while protecting the module from direct sunlight and rain. A mostly 3D printed wind vane is printed with the base attached to a ball bearing and magnet so that the four hall sensors positioned in a “plus” configuration at the base can detect direction. The 3D printed anemometer uses a hall sensor to detect the revolution speed of the device. The rain gauge uses a “tipping bucket” mechanism, with a magnet attached to it that triggers the hall sensor affixed to the frame. The rain gauge (or pluviometer if you’re fancy) needs extra calibration to adjust for how much water the buckets take on before tipping.

An ESP32, with additional level shifters and BMP180 atmospheric pressure sensor module, are placed in a junction box. The ESP32 is used to communicate with each of the sensors and allows for an external internet connection to a Home Assistant server to push collected data out.

[Giovanni] has done an excellent job of documenting each piece, including making the 3D STL files available. Weather stations are a favorite of ours with a lot of variety in what gets collected and how, from ultrasonic anemometers to solar powered weather stations, and it’s great to see [Giovanni]’s take.

Video after the break!

Continue reading “A Weather Station For Whether It Rains Or Shines”

Tidy POV Display Using The ESP32

Chinese Youtuber [corebb] presents the second version of his POV display. The earlier version used 5050-sized SMT addressable LEDs, which didn’t give great resolution, so he rev’d the design to use a much higher number (160 to be exact) of APA102 LEDs. These are 2mm on the side, making them a little more difficult to handle, so after some initial solder paste wobbles, he decided to use a contract assembly house to do the tricky bit for him. This failed as they didn’t ‘understand’ the part and placed them the wrong way around! Not to be deterred, he had another go with a modified solder stencil, and eventually got the full strip to light up correctly.

Based on an ESP32 (using the Arduino stack) and SDCard for control, and a LiPo cell charged wirelessly, the build is rather tidy. A couple of hall effect switches are mounted at the start of each of the two arms, presumably lining

Real-time video streaming? Check!

up with a magnet on the case somewhere, although this isn’t clear. The schematic and PCB appear to have been designed with JLCEDA, which is a repackaging of EasyEDA. We can see the attraction with the heavy integration of this with the JLC and LCSC services. It appears that he even managed to get streamed video working — showing a live video from a webcam — which is quite an undertaking to pull off when you think how much processing needs to happen in real-time. As he alludes to in the video, trying to increase the resolution beyond this point is not viable with the processing capability of the ESP32.

A resin-printed case finishes off the build, with a screw-thread mount added to the rear, to allow typical camera mounts to be used to hold the thing down. A smart move we think.

We love POV displays around here, this spherical POV display is especially fabulous, but you don’t need fancy hardware if you have a handy ceiling fan and a bit of protoboard spare.

Continue reading “Tidy POV Display Using The ESP32”

Portable ESP32 RGB Lasershow Has All The Trimmings

Perhaps there was a time when fancy laser effects were beyond those without the largest of bank accounts, but today they can be created surprisingly easily. [Corebb] shows us how with a neat unit using an off the shelf RGB laser module and mirror module, driven by a ESP32 with software designed to make it as easy as possible to use.

The video below the break is in Chinese so you’ll have to turn on the subtitles if you’re an Anglophone, and it takes us through the whole process. It’s mounted in an SLA 3D printed enclosure which neatly holds all the parts. The ESP32 module drives a couple of DACs which in turn drive the galvanometer motors through a pair of amplifiers.

Then the software allows all sorts of custom displays for your creative expression, including uploading quick sketches over WiFi. Beyond pretty patterns we see it mounted on a bicycle for a head-up display of speed and navigation info. Even if it does fall off and break at one point we can see that could be an extremely useful accessory.

All the code can be found in a GitHub repository should you wish to try for yourself. Meanwhile we’ve covered a lot of laser projector projects here in the past, including most recently this one using stepper motors in place of galvanometers.

Continue reading “Portable ESP32 RGB Lasershow Has All The Trimmings”

A two picture montage with the left montage showing a pair of hands holding an assembled and closed turbidity sensor and the right picture showing A pair of hands holding the screw on cap for the turbidity sensor and a prototype board against a backdrop of green leave

Rapid Prototyping To Measure Turbidity In Rapids

[RiverTechJess] is in the process of getting a PhD in environmental engineering and has devoted a chapter to creating a turbidity sensor for river network monitoring. Environmental sensing benefits from being able to measure accurately and frequently, so providing low cost devices helps get more data and excuse the occasional device loss that’s bound to happen when deploying electronics out in the wild. Towards this end, [RiverTechJess] has created a low cost turbidity sensor that rivals the more expensive alternatives in cost and accuracy.

The turbidity sensor is designed to be at least partially submerged allowing for the LED and light sensors to be be able to take measurements. [RiverTechJess] has made a 3D printed prototype to test the design, allowing for rapid experimentation and deployment of the sensors to work out issues. The 3D printed enclosure prototype uses rubber o-rings and “vacuum grease” to provide a watertight seal. An ESP32 microcontroller is used to store logged data on an SD card and drive the TSHG6200 850nm infrared LED and the two TSL237S-LF sensors.

The resulting paper on the turbidity sensor, in addition to the blogs of the process, provide a wealth of data that show what goes into developing and calibrating a device that is meant to be used for environmental monitoring. All source code is available on GitHub and development continues on a newer revision of the turbidity sensor with updated electronics and hardware.

We’re no strangers to water sensors and we’ve seen devices from internet connected water pollution monitors to small handheld potable water detectors.

Video after the break!

Continue reading “Rapid Prototyping To Measure Turbidity In Rapids”

an RGB LED display showing expected arrival times of trams and buses sitting on a table

A Private View Of A Public Transport Sign

[Stefan Schüller] was a fan of the LED signs that display arrival information for the trams and buses in their city of Zürich. [Stefan] was having trouble finding a source to purchase the signs so, instead, decided to build one himself.

[Stefan] decided to recreate the 56×208 single color 2mm dot pitch display with an 128 x 64 P2 RGB LED screen respecting the same 2 mm pitch. The display is driven by an ESP32 DMA RGB LED matrix shield utilizing a HUB75 RGB LED matrix library, all being powered from a 5 V 4 A power supply.

In addition to driving the LED matrix display, the ESP32 polls Zürich’s public transportation API and then parses the XML for the relevant information. Since [Stefan] wanted to match the fonts as closely as possible,
he created a new font from scratch, including the bus and accessibility icons. The new font was encoded into a glyph bitmap distribution format (BDF) that was then converted to work with Adafruit’s GFX library, with [Stefan] creating a custom conversion tool, called bdf2adafruit, to do the last leg of the conversion.

Since the LED matrix had full color capability, [Stefan] decided to add a little extra flourish and color code the transportation lines with the official tram colors. All source code is available on his GitHub repository for the project, for those looking for more detail.

We’ve featured DIY builds of public transportation feeds before. With the ubiquity of low cost RGB LED displays and public APIs, hopefully we’ll see many more!

Trigger Your Home Automation Routines With Home Buttons

Home automation systems are all well and good, so long as the person who built it all is around to drive it. Let’s face it, they’re quite often a complex web of interconnected systems, all tied to the specifics of one’s home — and someone less familiar with it all could get a little irritated if, on a chilly day, the interface to the boiler is via a Python script, and something won’t work. Just saying. Home Buttons by [Matej Planinšek] over on Hackaday.IO is a nicely polished project, which aims to take some of the hackiness out of such automation by providing a sleek front end to those automation routines, enabling anyone to rock on over and set one in action without hassle.

Internal PCB shown in the foreground, with the complete unit behind.The PCB is based around the ESP32-S2-mini which deals with WiFi connectivity and integration with Home Assistant using the usual MQTT protocol. We expect integration with other flavors of home automation would not be difficult to achieve. The center of the unit holds a simple E-Ink display, for that low-standby power. Specifically, the unit chosen is a Good Display GDEY029T94 2.9″ which this scribe can confirm is easy to interface and pretty cheap to purchase from the usual Chinese online vendors. This was matched up with six clicky Alps SKRB-series low-profile tact switches, which sit on either side of the display, and corresponds to a flexure-type affair on the 3D printed front casing. Neat and simple.

The PCB design was provided in Altium format, which you can find on the project GitHub page. This shows a straightforward design, with a few nice little details here and there. The internally mounted 18650 cell is reportedly good for at least a year of operation, but when time, it can be charged via USB. A Xysemi XB8608AF (PDF) protection chip provides appropriate limiting for the 18650 cell, shielding it from the perils of overcharging, discharging, and whatnot. Not that that is likely in this current setup. A Sensiron SHTC3 humidity and temperature sensor is also in there, hanging off the I2C bus, which makes sense for this application.

Home Automation hacks are plenty on these pages, like this scroll-wheel interface, for instance. If all this stuff is looking quite overbearingly complicated to get into, how about starting with a Pico W?

The demo toot screenshot, showing a text-only message sent from the ESP32 using the library.

Moved Off Twitter? Make Your ESP32 Toot

Since Twitter was officially taken over by Elon Musk a few days ago, there’s been significant staff cuts, a stream of questionable decisions, and uncertainty about the social media platform’s future. So it’s little surprise that a notable number of people, those in the tech and hacker scenes in particular, have decided to move over to (or at least bridge their accounts with) the distributed and open source Mastodon service.

Of course, the hacks would follow closely, and [Toby] shares a simple ESP32-based Mastodon client library for us to start with. Instead of “tweets”, messages on Mastodon instances are called “toots”, in line with the platform’s mammoth-like mascot. The library, called Luyba, is able to send toots and includes a demo firmware. Built using C++ and with support for Platform.IO, it should fit into quite a few projects out there, letting you easily send toots to whichever instance you find your home, as the library-aided demo toot shows.

What could you do with such a library on your MCU? Turns out, quite a few fun things – a home automation interface, a critter trap, an online BBC Basic interpreter, or, given image support, a camera that tweets whatever it’s pointed at. There’s quite a bit of fun hackers can have given a micro-blogging service API access and a bit of code that works with it. That said, for all the good that Twitter brought us over the years, there’s a lot that Mastodon can easily do better, between easily game-able “Trending” sidebar, bias found in auto-cropping algorithms and disarrayed internal security policies.