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:

  1. Connect the motor’s positive lead to the 12 V supply.
  2. Connect the motor’s negative lead to the ESP’s MOSFET driver (you’ll use a logic‑level N‑channel MOSFET like the IRLZ44N).
  3. Tie the MOSFET’s gate to a PWM‑capable pin on the ESP (GPIO 14 works well).
  4. Add a pull‑down resistor (10 kΩ) from the gate to ground to keep the motor off when the ESP boots.
  5. 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.

  1. In Home Assistant, go to Settings → Devices & Services → Integrations.
  2. Find Amazon Alexa and click Configure.
  3. Follow the prompts to log into your Amazon account.
  4. 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: true in 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 delay values 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.

Reactions