After an electronic IoT device has been deployed into the world, it may be necessary to reprogram or update it. But if physical access to the device (or devices) is troublesome or no longer possible, that’s a problem.
[Refik] begins by setting up a web server using Ubuntu Linux, and sets up HTTPS using a free SSL certificate from Let’s Encrypt, but a self-signed SSL certificate is also an option. Once that is done, the necessary fundamentals are in place to support deploying OTA updates in a secure manner. A bit more configuration, and the rest is up to the IoT devices themselves. [Refik] explains how to set things up using the esp32FOTA library, but we’ve also seen other ways to make OTA simple to use.
You can watch a simple secure OTA firmware update happen in the video, embedded below. There are a lot of different pieces working together, so [Refik] also provides a second video for those viewers who prefer a walkthrough to help make everything clear. Watch them both, after the break.
Most of us who are old enough are likely to have had our first experience of an online service some time in the 1990s, either through the likes of Compuserve or via an ISP. For our French readers the online experience will have come much earlier, as a forward-thinking telecommunications environment led to every household in the country receiving a viewdata terminal. The Minitel system as it was called was a runaway success, and was only finally turned off as late as 2012. Many of the terminals survive to make a great basis for projects, and it’s one of these that [Louis H] has taken and enhanced with an ESP32.
One of the special things about this project is that unlike so many other Minitel conversions it doesn’t involve tearing into the terminal itself. Instead the PCB plugs into the socket on the back of the unit and emulates the line for the terminal to talk to. It can then be used as an SSH terminal over WiFi, or as a serial terminal for the ESP32 itself for example running a MicroPython firmware. If you can handle the French AZERTY keyboard there is no easier way to drag a viewdata terminal into the 2020s, as you can see in the video below the break.
A lot of hackers are rightfully concerned about the privacy issues that surround many of today’s “smart” gadgets, but it’s hard to argue that the ability to remotely control devices around your home isn’t convenient. Enter self-hosted, open source projects like Home Assistant. This provides the framework for building out a home automation system without having your soul information sold, but as you might expect, you’re going to have to put some effort in to get the most of it.
For example, take a look at this Phillips AC4014 air purifier that [Anton] connected to Home Assistant by way of an ESP32. Rather than getting too bogged down in reverse engineering the purifier’s surprisingly complex internal electronics, he took the easy way out and wired a couple of relays across the power and fan speed buttons; this allows the device to be easily controlled by the microcontroller, without impacting the functionality of the original controls.
But since those front panel controls still work, that meant [Anton] needed a way for the ESP32 to detect the device’s status and report that to Home Assistant so everything stayed in sync. So he looked around on the PCB for a trace that got powered up when the air purifier was up and running, which he connected to a pin of the microcontroller through a transistor. This let’s the firmware determine if the machine is running or not just by checking if the appropriate pin has gone high.
Speaking of the firmware, [Anton] decided to use ESPHome rather than trying to write his own code from scratch. This project allows you to rapidly add new devices to Home Assistant by providing the firmware with a relatively simple YAML configuration file, which he’s provided as an example. In fact, he’s provided quite a lot of examples with this project, down to an annotated image of the PCB that shows where to tap your wires into. He’s done quite a service for anyone who’s got this same model of air purifier.
There are so many elements that make a good clock worth looking at for much longer than necessary. Not only is this clock quite cool to behold, it plays Pac-Man around the time! Yes, of course you can interact with the Pac-Man — touching the edges of the screen will make him go left, right, up, or down accordingly. You can also change to Ms. Pac-Man and make all the animations go normal speed, fast, or crazy-fast.
[TechKiwiGadgets] built a Pac-Man clock a few years ago that was well-received, but not cheap or easy to mimic. Since then, they have ported the code to the ESP32 and made a new version that has fewer and friendlier components. Not only that, they have great instructions for building the ESP32 shield on protoboard and also offer the shield as an open-source fab-able PCB. Still too much work? The complete kit version is available over on Tindie. Be sure to check it out in crazy speed mode action after the break.
Of course, the core Internet streaming code would be useful with any ESP32, but the display makes for a good-looking unit. The code is available on GitHub. With judicious use of network and audio libraries, the player only takes a few hundred lines of code. Pretty impressive considering it even shows a visualization on the tiny display screen.
What we’d really like to see is a nice case, power supply, and speaker option to make a tiny and portable unit. With a 3D printer, it is easy to make very professional-looking projects, as we often see. On the other hand, it does look better than the breadboard version you can see towards the end of the video. It is, though, a neatly done breadboard.
It’s fall in the northern hemisphere, so [Mike Rankin]’s kids are back in school and have returned to consulting him every morning about the weather and what they should wear. Since he’s no meteorologist, [Mike] built a beautifully dim and diminutive clock that does all the work for him, plus much more. It glows a lovely dark orange that’s perfect for the nightstand and those early morning interrogations.
In default mode, this clock displays the time, CO2 level, room temperature, and humidity in that eye-friendly orange. But wave your hand in front of the time of flight sensor, and it goes external, displaying the low and high temperatures for the day, plus the weather conditions forecast. After a few seconds of that, it goes back to default mode. The ESP fetches the time from an NTP server, then gets the weather from the OpenWeather API. The indoor weather comes from a combination sensor on the board.
Inside this tiny package is a beautifully-spun board with an ESP32 Pico D4 for a brain. In addition to the climate sensors there is a combination CO2/TVOC sensor (that’s total volatile organic compounds) to sniff out danger. There is also a pair of push buttons on the back and an ambient light sensor, but [Mike] isn’t using those just yet. Add in the Qwiic connector for future doo-dads, and you have quite the little gadget. Although the pictures make it look kind of big, you can see exactly how small it is in the demo video after the break.
Halloween is right around the corner and just about every Halloween project needs some kind of motion sensor. Historically, we’ve used IR and ultrasonic sensors but [Makers Mashup] decided to use an ESP32-Cam as a motion sensor in his latest animatronic creation. You can see a video of the device and how it works below.
The project is a skull that follows you around with a few degrees of motion on a stepper motor. There’s a 3D-printed enclosure to make the hardware assembly easy. The base software was borrowed from [Eloquent Arduino].