How to Sync DIY Smart Blinds with Home Assistant and Alexa – A Complete Tutorial for Beginners
Ever walked into a room and wished the blinds would just know when to open for sunrise or close for movie night? That moment of frustration is what got me tinkering in my garage last winter, and it’s why I’m writing this guide. By the end of it, your windows will answer your voice and your phone, just like the future you’ve been dreaming about.
What You’ll Need
Before we dive in, let’s make sure you have all the pieces on the table. I like to keep a checklist on my workbench so I don’t lose track of anything.
1. Smart Blind Motor Kit
A motor that can raise and lower your blinds. Most hobbyists use a 12 V DC gear motor with a built‑in limit switch. If you bought a kit that already includes a motor, controller board, and mounting brackets, you’re set.
2. ESP‑32 or ESP‑8266 Board
These tiny Wi‑Fi modules are the brains of the operation. I prefer the ESP‑32 because it has more pins and a bit more power, but the ESP‑8266 works fine for simple up/down commands.
3. Power Supply
A 12 V wall wart for the motor and a 5 V USB charger for the ESP. Make sure the supplies can handle the current draw—motors can be greedy.
4. Home Assistant Instance
Running on a Raspberry Pi, a spare PC, or a Docker container. If you haven’t installed it yet, the Smart Blinds DIY blog has a quick start guide you can follow.
5. Amazon Alexa Device
Any Echo, Echo Dot, or Echo Show will do. You’ll need the Alexa app on your phone to enable the skill later.
6. Basic Tools
Screwdriver, wire strippers, heat‑shrink tubing, and a soldering iron (or a good quality breadboard if you prefer a no‑solder prototype).
Wiring the Motor to the ESP
I always start with a simple schematic on a piece of scrap paper. Here’s the quick version:
- Connect the motor’s positive lead to the 12 V supply.
- Connect the motor’s negative lead to the ESP’s MOSFET driver (you’ll use a logic‑level N‑channel MOSFET like the IRLZ44N).
- Tie the MOSFET’s gate to a PWM‑capable pin on the ESP (GPIO 14 works well).
- Add a pull‑down resistor (10 kΩ) from the gate to ground to keep the motor off when the ESP boots.
- Wire the ESP’s 5 V and GND pins to the USB charger.
If you’re using a ready‑made motor controller board, just follow its wiring diagram. The key is to keep the motor’s high current separate from the ESP’s low‑power side.
Flashing the Firmware
I like to keep my code tidy in a single file called smart_blinds.yaml. Home Assistant uses ESPHome for easy integration, and the YAML file tells the ESP how to behave.
esphome:
name: smart_blinds
platform: ESP32
board: esp32dev
wifi:
ssid: "YOUR_WIFI_SSID"
password: "YOUR_WIFI_PASSWORD"
api:
services:
- service: open_blinds
then:
- switch.turn_on: motor_up
- service: close_blinds
then:
- switch.turn_on: motor_down
switch:
- platform: gpio
name: "Motor Up"
pin: 14
id: motor_up
inverted: true
on_turn_on:
- delay: 5s
- switch.turn_off: motor_up
- platform: gpio
name: "Motor Down"
pin: 27
id: motor_down
inverted: true
on_turn_on:
- delay: 5s
- switch.turn_off: motor_down
Upload this file using the ESPHome dashboard in Home Assistant. The ESP will reboot, connect to Wi‑Fi, and appear as a new device called smart_blinds.
Adding the Blinds to Home Assistant
Once the ESP is online, Home Assistant will automatically discover it. You’ll see two new switches: Motor Up and Motor Down. Rename them to something friendlier like “Living Room Blinds Up” and “Living Room Blinds Down” in the UI.
Now create a cover entity so Home Assistant treats the blinds as a single object that can open, close, and stop.
cover:
- platform: template
name: "Living Room Blinds"
open_action:
- service: switch.turn_on
target:
entity_id: switch.living_room_blinds_up
close_action:
- service: switch.turn_on
target:
entity_id: switch.living_room_blinds_down
stop_action:
- service: switch.turn_off
target:
entity_id: switch.living_room_blinds_up
- service: switch.turn_off
target:
entity_id: switch.living_room_blinds_down
Add this to your configuration.yaml and restart Home Assistant. You should now see a cover icon that you can slide up or down from the dashboard.
Linking Alexa to Home Assistant
Home Assistant has a built‑in Alexa integration that makes the whole thing voice‑ready in a few clicks.
- In Home Assistant, go to Settings → Devices & Services → Integrations.
- Find Amazon Alexa and click Configure.
- Follow the prompts to log into your Amazon account.
- Choose the “Living Room Blinds” cover you just created and enable it for Alexa.
After the sync finishes (it may take a minute), ask Alexa, “Alexa, open the living room blinds.” If everything is wired correctly, the blinds should rise. Try “close the living room blinds” as well.
Troubleshooting Alexa Sync
- Blinds don’t appear in the Alexa app: Make sure the cover entity is marked as
expose: truein the Alexa integration settings. - Voice command does nothing: Check the Home Assistant logs for any errors from the ESP. A common hiccup is the ESP losing Wi‑Fi after a power cycle; a simple reboot of the ESP often fixes it.
- Motor runs too long: Adjust the
delayvalues in the ESPHome switch actions. A 5‑second pulse works for most 2‑meter blinds, but you may need more or less.
Testing, Tweaking, and Adding Extras
Now that the basics work, spend a few minutes playing with the system. Here are a few ideas I’ve added to my own setup:
- Sunrise automation: Use Home Assistant’s sun integration to open the blinds 15 minutes before sunrise.
- Movie mode: A single button that closes the blinds, dims the lights, and turns on the TV.
- Battery backup: Hook a small UPS to the ESP so it stays online during short power outages.
If you notice the blinds stutter, double‑check the MOSFET’s heat sink. Motors can get hot, and a warm MOSFET may cut power unexpectedly. Adding a small flyback diode across the motor terminals also protects the ESP from voltage spikes.
Wrap‑Up
Syncing DIY smart blinds with Home Assistant and Alexa is a rewarding project that turns a simple window treatment into a responsive part of your smart home. The hardware is cheap, the software is open source, and the result feels like something out of a sci‑fi movie—except it’s your own living room.
Give it a try, tweak the timings to fit your window size, and enjoy the quiet satisfaction of saying “Alexa, let the sunshine in” and watching your blinds obey.
- → How to Sync LED Strip Lighting with Home Assistant for Seamless Automation @brightstrips
- → DIY Holiday Wreath from Everyday Items @festivediy
- → Create a Stunning Seasonal Table Centerpiece on a Budget @festivediy
- → How to Install Grommets in Fabric and Leather for Repairs That Last @grommetgazette
- → 5 Budget‑Friendly Hardware Hacks Using Grommets That Transform Everyday Items @grommetgazette