ESP32 Brings Air Purifier Online With Home Assistant

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.

This unit doesn’t appear to have any capability of actually checking the quality of the air in the room, but we’ve recently seen a low-cost IKEA product that can do exactly that. Even better, it can be easily modified to report its findings over the network using the ESP8266.

Fertilizing Plants With A Custom 3D-Printed Pump

For all but the most experienced gardeners and botanists, taking care of the soil around one’s plants can seem like an unsolvable mystery. Not only does soil need the correct amount of nutrients for plants to thrive, but it also needs a certain amount of moisture, correct pH, proper temperature, and a whole host of other qualities. And, since you can’t manage what you can’t measure, [Jan] created a unique setup for maintaining his plants, complete with custom nutrient pumps.

While it might seem like standard plant care on the surface, [Jan]’s project uses a peristaltic pump for the nutrient solution that is completely 3D printed with the exception of the rollers and the screws that hold the assembly together. With that out of the way, it was possible to begin adding this nutrient solution to the plants. The entire setup from the pump itself to the monitoring of the plants’ soil through an array of sensors is handled by an ESP32 running with help from ESPHome.

For anyone struggling with growing plants indoors, this project could be a great first step to improving vegetable yields or even just helping along a decorative houseplant. The real gem is the 3D printed pump, though, which may have wider applications for anyone with a 3D printer and who also needs something like an automatic coffee refilling machine.

Keeping An Eye On The Water Heater Pilot Light

[WJCarpenter]’s gas water heater uses a small pilot light that needs to stay burning permanently to ignite the main burners as required. Four or five times a year, the pilot light goes out and needs to be manually lit. This involves an expedition from the upstairs bathroom to the basement, always in the early morning, after having spent a few fruitless minutes waiting for hot water. Having grown tired of this exercise, [WJCarpenter] built Water Watcher, a pilot light monitoring system with some ESPs and a light sensor.

Water Watcher consists of an ESP8266 connected to a light sensor taped to the inspection window of the water heater. It reports the status of the pilot light over MQTT to an ESP32-based M5 Atom Matrix in the main bedroom, which displays it using a 5×5 RGB matrix, as demonstrated after the break. Both ESPs run ESPHome, so programming is as easy as giving it a YAML config file. [WJCarpenter] tested a few different light sensors, until he found the TSL2591, which is sensitive to the right wavelengths and has enough dynamic range for watching a pilot light.

This might not be a complicated hack, but we do not doubt that it reduces frustration a bit on those fateful mornings. Be sure to check out the Water Watcher project page, it’s an entertaining read! Continue reading “Keeping An Eye On The Water Heater Pilot Light”

DIY ESP32 Video Doorbell Locks Out Big Brother

There’s no question that being able to see who’s at your front door from your computer or mobile device is convenient, which is why the market is currently flooded with video doorbells. Unfortunately, it’s not always clear who else has access to the images these devices capture. Organizations such as the Electronic Frontier Foundation have argued that by installing one of these Internet-connected cameras on their front door, consumers are unwittingly contributing to a mass surveillance system that could easily be turned against them.

Luckily, there’s a solution. As [Sebastian] shows in his latest project, you can build your own video doorbell that replicates the features of the commercial offerings while ensuring you’re the only one who has access to the data by leveraging open source, community developed projects such as ESPHome and Home Assistant. At the same time, modern manufacturing techniques like desktop 3D printing and low-cost PCB fabrication mean your DIY doorbell doesn’t have to look like you made it yourself.

The project starts with a custom PCB that combines the ESP32, a camera module, a capacitive touch sensor, a relay to optionally trigger an electronic door lock, and a DC-DC converter that will let you power the device from a wide range of input voltages. The board even has a spot where you can solder on an additional 8 MB of external PSRAM for the ESP32, which will enable the chip to capture higher resolution video.

The electronics are housed in a minimalistic 3D printed enclosure that would fit right in alongside similar gadgets from the likes of Ring and Arlo; especially if you have access to a CNC and can cut the front panel out of acrylic. The lighted touch sensor looks phenomenal, and really gives the device a professional feel. That said, it doesn’t look like the case would last very long if exposed to harsh weather and there are some obvious physical security issues with this approach. But to be fair, we’ve seen the same problem with commercial hardware.

Naturally with a project like this, the hardware is only half of the story. It takes a considerable amount of software poking and prodding to get things like mobile device notifications working, and as a special added annoyance, the process is different depending on which MegaCorp produced the OS your gadget is running. [Sebastian] has documented the bulk of the process in the video after the break, but the finer points will likely need some adjustment depending on how you want to set things up.

This is an exceptionally impressive project for sure, but if the whole slick futuristic look isn’t your style, you could always opt to go with the DIY video door bell that looks like it came from an alternate reality version of 1986.

Continue reading “DIY ESP32 Video Doorbell Locks Out Big Brother”

DIY Automated Roller Blinds

Controlling blinds using off the shelf solutions can be expensive – more so if you have multiple blinds you want to control. [HumanSkunk87] felt the cost was too high, so they designed a controller to automatically open and close the blinds.

The main part of this build is a motor and a ball chain gear – a wheel that captures the balls of a ball chain so that the chain can be pulled. The wheel was designed using Fusion3D and then printed out. The motor requires enough power to pull the chain — [HumanSkunk87] figures it needs to be able to pull about 2.5kg in order to raise the blind. After giving up on stepper motors, a DC motor with a worm gear was found to have enough torque to work. A WEMOS D1 Mini controls the motor controller that drives the ball chain wheel. Two micro switches tell the WEMOS when to stop at the bottom and top of the window.

The WEMOS is programmed using ESPHome and it connects to [HumanSkunk87]’s HomeAssistant to complete the automation. Check out the descriptions in the link for the parts and the code used to run everything. There are many other creative ways to open your blinds, It’s even possible to automate curtains instead of blinds.

Continue reading “DIY Automated Roller Blinds”

Automating Mini Blinds The Rental-Friendly Way

[Chris Mullins] wanted to automate opening and closing the slats of mini blinds in his apartment, and came up with a system to do it as a fun project. Manually opening and closing the slats means twisting a rod. Seems straightforward to automate that, but as usual when having to work around something that already exists, making no permanent alterations, complications arose.

The blinds are only 1 inch wide, leaving little room for mounting any sort of hardware. While there is a lot of prior art when it comes to automating blinds, nothing he found actually fit the situation [Chris] had, so he rolled his own.

The rod that is normally twisted to control the blinds is removed, and the shaft of a stepper motor takes its place. [Chris]’ mounting solution is made to fit blinds with narrow 1 inch tracks (existing projects he found relied on 2 inch tracks) and the 3D printed mount is fully adjustable, so the 28BYJ stepper motor can be moved into exactly the right position. Speaking of the stepper motor, the 28BYJ motor is unipolar but the A4988 driver he wanted to use is for bipolar steppers only. Luckily, cutting a trace on the motor’s PCB is all it takes to turn a unipolar motor into bipolar.

To drive the motor and provide wireless functionality, the whole thing works with a Wemos D1 ESP8266, an A4988 stepper driver, and a buck converter. While it worked fine as a one-off on a perfboard, [Chris] used the project as an opportunity to learn how to make a PCB using KiCad; the PCB project is here on GitHub and the ESP8266 runs the ESPHome firmware. Be sure to check out the project page on his blog for all the details; [Chris] links to all the resources there, and covers everything from a bill of materials to walking through configuration of ESPHome with integration into the open-source Home Assistant project.

Looking to control natural light but blinds aren’t your thing? Maybe consider automated curtains.

An ESP32 Home Automation Swiss Army Knife

Thanks to the ESP8266 and the ESP32, we’ve seen an explosion in DIY home automation projects recently. When it only takes $3 and a few lines of code to bring your gadgets onto the network, that’s hardly a surprise. But hacking bare ESP modules onto devices will only get you so far. Eventually you’ll probably want to put together a slightly more mature home automation system, and that’s where things can get a little tricky.

Which is why [Alfredo] created the Maisken Homelay. This device is a one-stop-shop for your home automation needs that leverages the power of the ESP32. With the microcontroller slotted into this compact PCB, you’ll be able to trigger four relays for your high current or AC loads, and still have 8 GPIOs and the I2C bus for expansion. All while retaining compatibility with existing open source projects like Home Assistant and ESPHome.

What really sets this project apart is the attention to detail. [Alfredo] has included a HLK-PM01 power supply on the board which takes mains voltage and brings it down to 5 VDC for the ESP32, so won’t need a separate power cable. He’s also taken the time to add isolation slots to separate the potential high-voltage connected to the relays from the rest of the board, added current and thermal fuses for protection, and peppered the board with screw terminals so you can easily connect everything up.

Sure you could get a simple relay board shipped to your door for a few bucks from the usual suspects. But it’s not going to offer the kind of quality of life and safety features that the Maisken Homelay has. There’s even a 3D printed enclosure available to help tidy things up.

With some of the blatantly anti-consumer decisions big-name home automation companies have been making recently, there’s more reason than ever to roll your own smart home using open source hardware and software. It still takes more effort than buying a bunch of modules from the Big Box retailer, but projects like this one are certainly starting to blur the line between consumer and DIY.