There are few things that we all can agree we hate, and the shrill of your alarm clock waking you from a wonderful slumber is definitely high on that list. To wake up more naturally, [nutstobutts] created an automated curtain opener.
The curtain opener is very simple; a stepper motor in the control box pulls a string, which is run to an idler on the far side of the curtain rod and through two clips, attached to the back of each curtain. This design makes it so that both curtains will open smoothly at the same time, and will always come closed again directly in the center. This design is especially favorable for students in dorms or those that live in an apartment, as the installation requires no screws in the wall or permanent modification to the curtains.
The curtains can be opened and closed either by pressing a button on the control box or by sending HTTP requests to the ESP32 that controls everything. This allows for integration with many different IoT systems, for instance [nutstobutts] has been having Home Assistant open the curtains every morning at 6:30 a.m. in lieu of an alarm clock, and then closing them automatically at 9:00 a.m. to help save on cooling costs.
Automated curtains are a great first IoT project if you are looking to just get your feet wet, check out a different style we covered a few months back for more inspiration!
[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.