DIY Smart Blinds v3 – How To

This project aims to upgrade the popular DIY Smart Blinds v1.1 with a Nema stepper motor in order to increase the torque for moving roller blinds. For this project, my biggest concern is the size of the Nema motors. The aim of this version is to keep the form factor of the device as small as possible, give it as much pulling power as possible and allow for a standard 12v power supply.

The Motor

For this project I will use the Nema 14 Stepper motor. It is small enough at 35mm x 35mm x 26mm. Its 12v and has the torque of ( compared to the 28BYJ-48 motor used in the previous design which is approx. This should make this device almost 5x stronger.

Nema 14 Motor

The Driver

To control the stepper motor, the design should use the A4988 based motor driver. It is a cost effective driver that is capable to control this Nema 14 motor.

A4988 Stepper Motor Driver

The Processor

I have used the Node MCU ESP8266 processor for many of my projects. It can be easily programmed using the Arduino IDE, its small and it has WiFi built in. Not to mention great community support. Hence for this project I will use it again.

The second option is the NodeMCU ESP8266 WeMos D1. This processor has a smaller form factor and could also be a good choice.


  • Nema14 or Nema17 stepper motors get hot when they run, a 3D printed PLA enclosure may not be able to sustain the heat buildup during operation. Testing shows that typical operation only lasts a 5-10sec then pause. Hopefully this should not raise the temperature too high.
  • NodeMCU is a better choice because it has VCC in pins. The WeMos D1 needs to be powered through the micro USB port.
  • To power the circuit from one 12v power supply, a 12v to 5v Buck converter will be required.
12v to 5v Buck Converter
Test platform

Schematic Diagram


Arduino Sketch (this may evolve over time)GitHub link
Homebridge plugin / Homekit GitHub link
Samsung SmartThings – device handlerGitHub link

The Design Shape

What form factor should the DIY SmartBlinds v3 have?

View Results

Loading ... Loading ...
DIY SmartBlinds v3 first preview

You may also like...


  1. I have been messing with your blinds version 1.0 for a bit (in between other projects) and finally got it all working today. However, the torque on the 28BYJ motors is just not enough power to operate my roller blinds. I even tried trimming down the blinds so they were not as tight and rolled as easily as I think possible.

    I am very interested in the v3.0 project. I’d like to get started but I am pretty new with Arduino – is there a specific driver board I would use with the Nema 14?

    1. Hi Bert, I think the most cost effective driver will be the A4988 based one. It’s small enough and together with the NODE MCU that should make the setup compact. I don’t like that the Nema 14 has such a long shaft. It will stick out unless the enclosure is a bit thicker. Speaking of enclosures, should the enclosure be similar to the design in V1 or more like V2?

  2. I have just got my drapes sort of working.
    Mine are from this instructable……
    Drape size 1600 dropx1500 wide & 1600 drop x 2000wide.
    Alexa can operate them 1×1 but not both together in a routine.
    my case is 140x80x50 using 47x42x42 stepper motor which i had at the time.
    At the moment they are 12v battery operated which is why the case is so big.
    Love to see what you get going with the samsung smart things.

    1. Hi Neil, I already have the SmartThings Device Handler built for the DIY SmartBlinds v1 & v2 from my website, You should be able to find the link here: DIY SmartBlinds v1 + SmartThings Device Handler. I am now working on DIY SmartBlinds v3 which will incorporate a Nema14 (35x35x26mm) stepper that is 5x more powerful than the original design. Nema17 would be 10x but its bulky. I want to try and keep this unit as small as possible. Unfortunately I hit set back, I fried 3 of my WiFi NodeMCU and Wemos D1 boards thinking they can handle a 12v input – wrong! I will need to order a few more and use a voltage regulator to drop the 12v to 5v to power the NodeMCU or WemosD1.

  3. Hi peter, been working with the Nema version of the smart blinds, about the hardware, yes a buck converter is needed to step down to 5v, i would go with the buck converter instead of a mosfet or similar, it runs safer and cooler. The issue I had is the software I tried to convert the code to the AccelStepper library with no luck, I believe AccelStepper library is one of the best out there to drive Nema steppers. Let me know if you want me to beta test.

    1. I have a soft tested sketch for the NodeMCU that uses the AccelStepper library. I will post on Github later and a link in the post. you are welcome to test it on your hardware.

  4. Perfect, sure I will test it and get back to you if I find any issue.

  5. I have uploaded the first port of the Arduino sketch if anyone wants to give it a try. Please not the wiring in the schematic diagram. Also if you are not familiar with the A4988 driver, please read up about adjusting it for your specific NEMA motor. You will need to set the current limit on the A4988 to suit your motor for optimal performance.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.