Main Content

These past few months I spent mostly at home, as everyone else, and decided to take on a project to improve my time there. I was spending a lot of time in our balcony and got really annoyed by lowering and raising the shade every day. I had to do something!
Automating shades/blinds is a common project, but pretty much all the examples I found so far operated a bedroom window shade by pulling a chain or rotating a small twist shaft. My balcony shade is big and heavy, 8 feet wide and weighs 8 pounds, and it uses a crank and a wand to operate, not the typical mechanism other projects automated. I decided to challenge myself to the task!
I found a strong motor, designed a circuit and programmed a microcontroller to run the show. I mounted a switch box with up/down buttons and used NFC to support shade presets. Finally, I got everything connected to the internet and respond to voice commands from Google Assistant.
It was quite a journey. At the end, I had a polished Shade Controller that works reliably and safe for everyone to use, including my kids.
Here’s a quick overview of what the next steps will be about:
Finding a suitable motor and figuring out how to attach it to the shade. Building the circuit and testing the prototype in my balcony. Taking automation to the next level, by using NFC (Near-Field Communication).Designing a PCB and improving the appearance of the shade controller. Supporting voice commands using Google Assistant. Tips and lessons learnedSupplies:The source files are available on Github, including the Fritzing diagrams, PCB schematic and Gerber files.

The full parts list:
ESP32 Dev-board
PN532 NFC module
Servo motor
Waterproof plastic box
Bracket for connecting the motor to the crank
Structural components for mounting
Servo extension cords
Barrel jack connector
2x 330, 220 and1k resistors
Buck Convertor
Headers
Terminal block
Waterproof buttons
Switch box
Acrylic sheet
Power adapter
Perfboard”

Link to article