Curtains are about as simple as household devices get, but they can be remarkably troublesome to automate. Everyone’s window treatments slightly different, which frustrates a standardized solution. [dfrenkel] has a passion for DIY and wanted his mornings flooded with sunlight for more peaceful awakenings, so the MorningRod Smart Curtain Rod was born.
MorningRod’s design takes advantage of affordable hardware like aluminum extrusions and 3D printed parts to create a system that attempts to allow users to keep their existing curtains as much as possible.
The curtain rod is replaced with aluminum extrusion. MorningRod borrows ideas from CNC projects to turn the curtain rod into a kind of double-ended linear actuator, upon which the curtains are just along for the ride. An ESP32 serves as the brains while a NEMA17 stepper motor provides the brawn. The result is a motorized curtain opening and closing with a wireless interface that can be easily integrated into home automation projects.
Do you have a Raspberry Pi? What is it being used for right now? If you’re like the majority of people who replied to [Michael Hall’s] poll on Twitter, it’s likely yours is sitting on a shelf doing nothing too. So why not just turn it into an IoT device for your home?
[Michael] wrote an easy-to-follow guide focusing on getting the EdgeX Foundry IoT platform running on the Raspberry Pi. It is designed to be a unified multi-platform base for IoT devices hosted by the Linux Foundation, making it easy to control and integrate them into other systems. The framework for this consists of two parts, a Device Service running on your Pi, and the rest of the services running on a desktop or laptop where you’ll be monitoring it.
His guide goes into detail on how to get both parts working on your computer and your Pi using Docker for ease of installation. As for the IoT device, he uses the built-in PIR sensor example to show how to configure it without having to write any programming. You can then monitor the device’s sensors, which you can just connect straight to the Pi’s GPIO pins, from your desktop. Since the EdgeX software is designed to run on any flavor of Linux, this should make it easy to repurpose any forgotten single-board computer into the beginnings of a home automation system.
However, if you are confident in your programming skills, you’re probably looking for something slimmer such as the ESP8266 family of microcontrollers to do your bidding. Why not try an energy monitor or a smoke detector project with them?
The ESP8266 and ESP32 are fast becoming the microcontroller of choice for, well, everything. But one particular area we’ve seen a lot of activity in recently is home automation; these boards make it so incredibly easy and cheap to get your projects online that putting together your own automation system is far more appealing now than it’s ever been. Capitalizing on that trend, [hwhardsoft] has been working on a ESP enclosure that’s perfect for mounting on the living room wall.
Of course, there’s more to this project than an admittedly very nice plastic box. The system also includes a ILI9341 2.4 inch touch screen LCD, an integrated voltage regulator, and even a section of “perfboard” that gives you a spot to easily wire up ad-hoc circuits and sensors. You don’t even need to switch over to the bare modules either, as the PCB is designed to accommodate common development boards such as the Wemos D1 Mini and NodeMCU.
Despite its outward appearance, this project is very much beginner friendly. Utilizing through hole components, screw down terminals, and a impeccably well-labeled silkscreen, you won’t need to be a hardware expert to produce a very slick gadget the whole family can appreciate.
There was a time when you had to get up from the couch to change the channel on your TV. But then came the remote control, which saved us from having to move our legs. Later still we got electronic assistants from the likes of Amazon and Google which allowed us to command our home electronics with nothing more than our voice, so now we don’t even have to pick up the remote. Ushering in the next era of consumer gelification, [Nick Bild] has created ShAIdes: a pair of AI-enabled glasses that allow you to control devices by looking at them.
Of course on a more serious note, vision-based home automation could be a hugely beneficial assistive technology for those with limited mobility. By simply looking at the device you want to control and waving in its direction, the system knows which appliance to activate. In the video after the break, you can see [Nick] control lamps and his speakers with such ease that it almost looks like magic; a defining trait of any sufficiently advanced technology.
So how does it work? A Raspberry Pi camera module mounted to a pair of sunglasses captures video which is sent down to a NVIDIA Jetson Nano. Here, two separate image classification Convolutional Neural Network (CNN) models are being used to identify objects which can be controlled in the background, and hand gestures in the foreground. When there’s a match for both, the system can fire off the appropriate signal to turn the device on or off. Between the Nano, the camera, and the battery pack to make it all mobile, [Nick] says the hardware cost about $150 to put together.
But really, the hardware is only one small piece of the puzzle in a project like this. Which is why we’re happy to see [Nick] go into such detail about how the software functions, and crucially, how he trained the system. Just the gesture recognition subroutine alone went through nearly 20K images so it could reliably detect an arm extended into the frame.
There’s certainly no shortage of “smart” gadgets out there that will provide you with a notification, or even a live audiovisual stream, whenever somebody is at your door. But as we’ve seen countless times before, not everyone is thrilled with the terms that most of these products operate under. Getting a notification on your phone when the pizza guy shows up shouldn’t require an email address, credit card number, or DNA sample.
For [Nick Touran], half the work was already done. There was already a traditional wired doorbell in his home, he just had to come up with a minimally invasive way to link it with Home Assistant. He reasoned that he could tap into the low-voltage side of the doorbell transformer and watch for the telltale fluctuations that would indicate the bell was doing its thing. The ESP8266 has an ADC to measure voltage and WiFi to connect to Home Assistant, so it seemed like the perfect bridge between old and new.
Of course, as with any worthwhile project, it ended up being a bit more complicated. Wired doorbells generally operate on 16-24 VAC, and [Nick] knew if he tried to put his Wemos D1 across the line he’d release the critical Magic Smoke. What he needed was a voltage divider circuit that would take low-voltage AC and drop it to an even lower DC voltage that the microcontroller could cope with.
The simple circuit [Nick] comes up with cuts the voltage way down and removes the negative component completely. So what was originally 18.75 VAC turned into a series of 60 Hz blips at 2.4 VDC; perfect for feeding into a microcontroller ADC. With a baseline to work from, he could then write some code that would watch for variations in this signal to determine when the bell was ringing.
Or at least, that was the idea. While the setup worked well enough on the bench, its performance in the real-world left something to be desired. If his house guest had a heavy hand, it worked great. But a quick tap of the doorbell button would tend to go undetected. After investigating the issue, [Nick] found that he needed to use some software trickery to ensure the ESP8266 was able to keep up with the speedy signal. Once he was able to reliably detect short and long button presses, the rest was just a simple matter of sending an MQTT message to his automation system.
The first step to reducing the energy consumption of your home is figuring out how much you actually use in the first place. After all, you need a baseline to compare against when you start making changes. But fiddling around with high voltage is something a lot of hackers will go out of their way to avoid. Luckily, as [Xavier Decuyper] explains, you can build a very robust DIY energy monitoring system without having to modify your AC wiring.
In the video after the break, [Xavier] goes over the theory of how it all works, but the short version is that you just need to use a Current Transformer (CT) sensor. These little devices clamp over an AC wire and detect how much current is passing through it via induction. In his case, he used a YHDC SCT-013-030 sensor that can measure up to 30 amps and costs about $12 USD. It outputs a voltage between 0 and 1 volts, which makes it extremely easy to read using the ADC of your favorite microcontroller.
Once you’ve got the CT sensor connected to your microcontroller, the rest really just depends on how far you want to take the software side of things. You could just log the current consumption to a plain text file if that’s your style, but [Xavier] wanted to challenge himself to develop a energy monitoring system that rivaled commercial offerings so he took the data and ran with it.
A good chunk of his write-up explains how the used Amazon Web Services (AWS) to process and ultimately display all the data he collects with his ESP32 energy monitor. Every 30 seconds, the hardware reports the current consumption to AWS through MQTT. The readings are stored in a database, and [Xavier] uses GraphQL and Dygraphs to generate visualizations. He even used Ionic to develop a cross-platform mobile application so he can fawn over his professional looking charts and graphs on the go.
The modern hacker wields a number of tools that operate on the principle of heating things up to extremely high temperatures, so a smoke alarm is really a must-have piece of equipment. But in an era where it seems everything is getting smarter, some might wonder if even our safety gear could benefit from joining the Internet of Things. Interested in taking a crack at improving the classic smoke alarm, [Vivek Gupta] grabbed a NodeMCU and started writing some code.
Now before you jump down to the comments and start smashing that keyboard, let’s make our position on this abundantly clear. Do not try to build your own smoke alarm. Seriously. It takes a special kind of fool to trust their home and potentially their life to a $5 development board and some Arduino source code they copied and pasted from the Internet. That said, as a purely academic exercise it’s certainly worth examining how modern Internet-enabled microcontrollers can be used to add useful features to even the most mundane of household devices.
In this case, [Vivek] is experimenting with the idea of a smoke alarm that can be silenced through your home automation system in the event of a false alarm. He’s using Google Assistant and IFTTT, but the code could be adapted to whatever method you’re using internally to get all your gadgets on the same virtual page. On the hardware side of things, the test system is simply a NodeMCU connected to a buzzer and a MQ2 gas sensor.
So how does it work? If the detector goes off while [Vivek] is cooking, he can tell Google Assistant that he’s cooking and it’s a false alarm. That silences the buzzer, but not before the system responds with a message questioning his skills in the kitchen. It’s a simple quality of life improvement and it’s certainly not hard to imagine how the idea could be expanded upon to notify you of a possible situation even when you’re out of the home.