Like swimming pools, hot tubs need regular monitoring to ensure their water stays clean and clear. An average person might take a water quality reading once or twice a week using test strips, but such a low sampling rate obviously won’t do for a hacker. [Stephen Carey] has therefore built a hot tub monitor that checks the water quality every minute and reports it on a neat mobile dashboard.
[Stephen]’s system uses commercially available sensors that track pH levels and Oxidation-Reduction Potential (ORP), both basic measurements that indicate water quality. A second set of sensors keeps track of the temperature of the water and the outside air, which should help in finding insulation failures and keeping energy use under control.
An ESP32 reads the sensors and sends out the data through WiFi. [Stephen] programmed the ESP32 in MicroPython, using an MQTT driver to connect it to Home Assistant. By looking at the graphs generated, you can tell when someone entered the tub from a step change in pH and ORP. It’s even possible to generate alerts when any of the values drift outside their acceptable range – we can already imagine an alarm going off when someone enters without having showered first.
The system also has a calibration mode to check the sensors against a well-defined buffer solution. As with many chemical sensors, the pH and ORP probes gradually lose their active material and need to be replaced after about a year. Good ones aren’t cheap, but [Stephen] has found pretty decent low-cost alternatives on AliExpress that should be fine for a home setup.
If you also want your tub or pool to be actively managed, you’ll need a more complex system, perhaps even one that can also dispense chemicals. If your hot tub is heated by a wood fire, however, all you need is a way to alert the person tending the fire.
Brushless motors are fascinating devices that come in all sorts of shapes and sizes, but you’ve probably never seen one in the form of a free-spinning shiny metal egg. Created by [David Windestål], [Giacomo Di Muro], and [Chad Kapper], the Motion Zero is part top, part brushless motor, and fully mesmerizing. Tech overview video after the break.
Like the classic Tippe Top toy, an ovoid shape like this shiny metal egg will stand on its end if it’s spun fast enough. To do this, the team embedded magnets in the metal egg, effectively turning it into a rotor. An array of 4 PCB coils under a smooth concave surface to create the stator. Because the egg is not held in position by a shaft, hall effect sensors were incorporated to determine the position of the egg, and properly control the state of the coils to keep it spinning.
Recognizing how easy it was to get lost in thought while staring at a shiny spinning egg, the rest of the device was designed with meditation in mind. The top cover is a block of aluminum machined with ripple patterns, with ball bearings that slide between the ripples as the control interface. Additional hall effect sensors on the PCB determine the position of the balls to adjust the rotation speed and shut-off timer. You can even choose to make the egg move around or remain in one position. The main controller is an ESP32 module, which reads all the hall effect sensors and controls the coils via motor drivers.
The Motion Zero has made its debut on Kickstarter and already exceeded its initial funding goal. We like the creators’ willingness to share the inner workings of a product that manages to transform a simple concept into a mesmerizing piece of engineering artistry.
Continue reading “A Spinning Egg For Your Thoughts?”
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.
Back in the day a miniature television, probably on a wristwatch, was the stuff of science fiction. Now, it’s something which can be done with a commodity microcontroller, as [Atomic14] shows us with the ESP32-TV that plays both video and sound. Even with modern silicon it’s still somewhat pushing the envelope.
As he explains in the video below the break, not all formats are simple enough to be decoded on the fly by a microcontroller. But he finds an AVI file to be within its capabilities which can be created with a bit of ffmpeg wizardry. The board is a fairly standard ESP32 device with an I2C bus, and the video stream isn’t too fast for this meager interface. You’ll maybe recognize the Muppets clip, but it’s possible that the early-80s BBC comedy staple The Young Ones might have passed you by if you’re not British.
We think this code is likely to be of use in quite a few projects, and it would be great to see it further refined. Small video players for not a lot of money can never be a bad thing.
Previous ESP32 video projects which have appeared on these pages have been more likely to involve driving a display directly.
Continue reading “Proper Video, From An ESP32”
Well now why would I want a single-button keyboard, you might be asking yourself. We say it all depends on how you build the thing, and how you program it. Would you believe that the MagiClick by [Modular] is capable of showing live weather information or the date and time, acting as animated dice, or being a stopwatch and Pomodoro timer? Now you’re beginning to understand.
Before we get much further, yes, this bad boy has two additional buttons on the sides. But the spirit of the thing is in the single large switch in the middle. It’s hiding beneath the 0.85″ 128×128 display, which is protected from pressure and fingerprints by that Pop-o-Matic bubble over the top. While the big button is the main operator used to access the function options, the side buttons are used as auxiliaries to exit and return to the home screen.
MagiClick is based on the ESP32-S3 and is designed to run on CircuitPython. In addition to everything else packed into this thing, there are blinkenlights and a small speaker inside, plus a GPIO expansion header around back. Everything is available on GitHub if you want to build your own.
Not enough keys for you? Well, here’s one with two.
Even as music streaming services and podcast apps dominate most of our listening time, it’s still a great idea to keep a radio on hand, if for nothing else than in emergency situations. After all, blizzards, hurricanes, and other natural disasters can quickly take out both home and mobile Internet access. If you’d like to have an FM radio with the absolute smallest footprint, take a look at this one built around an ESP32.
While the radio uses the ESP32 as the main control board hosted by a TTGO T-Display board which adds a 1.14 inch ST7789V IPS panel, it also makes use of the TEA5767 chip for handling the FM radio signals. As [Volos Projects] has it programmed, the ESP32 stores five preset channels which can be toggled using two buttons at the bottom of the device. There’s also some circuitry to handle output to headphones or a stereo.
For making the radio even smaller, some of the audio processing could be done on the ESP32 instead, although its much simpler to take a slightly larger footprint and offload this to an audio processing chip. Since the source code for this project is open, modifications could be done including adding seek/tune functionality instead of relying only on presets. If you’re not building this for emergencies, though, and your entire area is dominated by cookie cutter corporate-owned radio stations, an ESP32 with an internet connection is great for accessing better radio stations around the world.
Continue reading “ESP32 Drives Tiny FM Radio”
At its core, the ESP32 chip is not much more than an integrated circuit, a huge mass of transistors sealed inside an epoxy resin package with some leads. Of course, most of us won’t buy discrete ESP32 chips with no support circuitry since it’s typically easier and often not that much more expensive to get them paired with development boards of some type for easy access to things like USB and GPIO. But these tiny chips need little in the way of support to get up and running as [Paul] demonstrates with this tiny ESP32 board.
The project started as a challenge for [Paul] to build the smallest ESP32 that would still function. That means carving away nearly everything normally found accompanying one of these chips. There is no charging circuitry, only one of the GPIO pins is accessible, and it even foregoes the WiFi antennas which eliminates the major reason most people would reach for this chip in the first place. But at this form factor even without wireless capabilities it still blows other chips of this stature, like the ATtiny series, out of the water.
Even though [Paul] built it as a challenge, it goes a long way to demonstrate what’s really needed to get one of these chips up and running properly. And plenty of projects don’t need a ton of I/O or Wi-Fi either, so presuming these individual chips can be found cheaply and boards produced for various projects its an excellent way to minimize size and perhaps even power requirements. You can make these boards even smaller than a USB-A connector if you want to take this process even further, too.
Continue reading “How Small Can The ESP32 Get?”