Smart Blinds

A smart solution to a daily problem.

The Problem

I love the glow of natural light, but I hate having to get up and fumble with my blinds on both windows multiple times a day.

The Solution

Automatically control my blinds via location and timing automations, voice commands, and phone control, without it being an eyesore.

Outside Research

As with most brilliant ideas, somebody had thought of this before. As this was my first electronics project, I took all the help I could get. A similar project utilized a stepper motor, motor driver, ESP32, buck converter, and 12V power supply, so I followed along with those component recommendations.

All of the componets used in the projects

Internal Research

I first had to understand how my blinds worked. They were controlled by the rotation of a wand, which was connected to a tilt mechanism, which was connected to the axle. This axle would then rotate the drum and cradle, which adjusts the openness of the blinds. Rotating this axle was what really mattered, as that rotation would in turn adjust the openness of the blinds as a whole.

labeled blind diagram

Retrofitting

To electronically control these blinds, I would need to replace the wand and gearbox with a motor. I began by taking measurements of the existing gearbox to recreate it in SolidWorks. With the outer geometry kept identical, I could then subtract out the center of it to account for the motor. This would allow me to friction fit the motor enclosure into the existing blinds rail. To connect the stepper motor shaft to the blind axle, I designed an adaptor to connect the two.

Motor enclosure rendering

Soldering and Crimping

Prior to this project, I had no experience with crimping or soldering. Seeing as how I didn’t want a breadboard taped to my wall, I figured it was time to learn how to do both. This resulted in a few mangled terminals, and a few more headaches, but a much cleaner, organized project. For the whole project, I soldered at 10 joints, and crimped around 70 terminals.

Power Management

With sleekness in mind, I didn’t want to run more than one power connection to each window. To achieve this, I used a 12V power supply, with each terminal connected to a Y jumper. I had one end connect to the buck converter dialed to 5V, dropping the voltage for the ESP32. The other end provided the full voltage to the motor driver.

Wiring

With all of the wires prepped, connecting the wires was trivial. However, to achieve a hidden installation, I wanted the bulk of the electronics out of sight, with just a single cable running to the motor. I used Cat5e cable to do this, and crimped my own 4 terminal connectors to connect between the motor and motor driver.

labeled circuit diagram

Programming

By using an ESP 32, I was able to use the breadth of Arduino libraries that already exist. HomeSpan, a library for creating ESP32 based HomeKit devices streamlined a lot of the work that needed to be done. Leveraging the EasyDriver stepper motor library, I developed the necessary code to control the stepper motor. Although it took some troubleshooting, the motors were now being controlled through the iOS Home app!

Housing

To house all of the electronics, I designed as small of a case as possible, while still being robustly organized. The base was designed with an enclosure for both the motor driver and buck converter, mounting standoffs for the ESP32, and ventilation. The surrounding case had openings for power, ventilation, and the motor cable.

enclosure render

Installation

Installation was as simple as slipping the motor enclosure into the blind rail and connecting the blind axle to the motor. I then ran the motor cable to the node. All I had to do now was fine tune the rotational values to correspond to the rotation of my window axle. Once calibrated, the project was complete!

finished labeled diagram

Controlling

There are 3 main ways I control the blinds:

  • Automations: Open the blinds with my alarm, close the blinds at sunset, open the blinds when I arrive home during the day, etc.
  • Voice Control: “Hey Siri, open the blinds…”
  • App Control: Basic slider / button control within the Home app
iOS and homepod control of the blinds

Reflection

When I started this project, I had very little practical electronics experience outside of circuitry fundamentals and some freshman year Arduino projects. By the time I finished, I was amazed at how much I learned and achieved. Over half a year later, I am still super proud of how this turned out. While closing and opening the blinds is a very simple task, it’s a tedious one, and these smart blinds have truly saved me hours.