Introduction: AutoBlinds - DIY Automation for Vertical & Horizontal Blinds

About: Enthusiast and hobbyist of IoT, 3D design and 3D printing.

This project started with a need to close my blinds on a west facing window in the afternoon, while I was away. Especially in summer, the sun in Australia can do devastating things to the objects that it shines onto directly. Plus, it drastically increased the temperature in the room.

I already had a home automation setup that integrates Apple’s HomeKit and Homebridge for DIY and other device integrations. (for Homebridge how-to please search instructables) For this device I built an API that can be used by other home automation solutions or simply through its web interface.

You can view more details and download all the required STL and Arduino Sketch files from my blog: AutoBlinds - DIY Automation for Vertical and Horizontal Blinds

The dimensions of the finished device are approximately 64mm deep, 47mm wide and 92mm tall. The cog wheel was designed to pull a ball chain with 5mm diameter balls. The device connects to your home WiFi and the web based configuration allows you to customise the start and stop or open and close position of your blinds. The device attaches to the wall by double sided tape or can be hung on screws.

Step 1: Components

You will require the following skills to build this project:

  • Arduino IDE and basic knowledge uploading code to a compatible board
  • Basic soldering skills
  • 3D Printing and slicing an STL file
  • General assembly skills

This project uses the following components that you can source for about $20-$30 AUD online.

  • 1x Stepper motor 28BYJ-48 5v with ULN2003 driver
  • 1x Node MCU CP2102 ESP8266
  • 18x M2.5 x8mm Countersunk screw and nut
  • 2x M4 Steel Hex Head Cup Point Grub screw
  • 1x 5.5mm x 2.1mm DC power plug
  • 1x 5v Power Supply with a 2.1mm DC plug

The ULN2003 driver needs to be the same type as in the picture attached because the 3D Design is made to fit that board. There are other smaller boards available but this would require a some STL manipulation to modify the board mounting points.

Step 2: Step 2: 3D Printing

I have designed the base such that it can be printed, upright and without supports but that probably requires some level of 3D printing experience. All the internal overhangs have a 45deg support so most 3D printers should be able to handle this without supports.

The L shaped part in the body of the device, will be bridged by the printer, again most printers should be able to handle bridging this small gap. If you want to get the wall mount hanger holes perfect, you could add supports there.

The Top and Bottom Lids The top and bottom lids should be printed on their flat surfaces and without supports. The Cog The cog is the only component that I would print with supports. That is because of the dimples on the inside. Also you should print it on its largest flat surface.

Step 3: Step 3: Arduino & Code

I would suggest to solder all the electronics and program the NodeMCU board through the Arduino IDE before assembly. It will be much easier to troubleshoot in case something goes wrong.

Once you upload the code, make sure you power your project. When the NodeMCU is powered up, it will be in WiFi Server mode that will allow you to configure it and to connect to your home WiFi network. Open your WiFi settings on your mobile device, locate a the WiFi network generated by your NodeMCU device, connect to it. Once connected, open your browser and browse to the IP of your device. From there just follow the onscreen instructions.

Once the device is connected to your WiFi network, you can access the web interface of the AutoBlinds through http://your-device-ip/ to get to the home page that displays the current status of your device. http://your-device-ip/ – will display the help information and the api options. You can use the icons on the bottom of the home page to navigate the web interface. From the web interface you can setup that END position of your blinds.

To configure your device, close your blinds manually, wrap the chain around the cog and mount the device on the wall with light tension o the chain. Then from the web interface, select the GEAR icon and open the blinds electronically until you reach the desired state. Then click SAVE.

Thats it. now you can open, close or partially open or close your blinds buy seating the following api command: http://your-device-ip/ {to open the blinds 20%} I have attached some example screen shots from the wed GUI.

Step 4: Step 4: Assembly

The assembly process is straight forward. The 3D animation will show you how the printed parts come together.

The simple schematic shows the connections. The ULN2003 I listed in the above parts list will only have 4 connection points to the NodeMCU and two for power and ground. Ignore the 3 red connection points in the diagrams lower left. One thing I noticed, the order of the pins of the ULN2003 board to NodeNCU sometimes differs from board to board. Hook it up the way you see it then reverse the connection if it is not working for you i.e D1 -> 1st (top most), D5 -> 2nd etc

Step 5: Step 5: Conclusion

If you have any questions feel free to leave me a comment on my blog: AutoBlinds DIY Vertical or Horizontal Blinds Automation Project.

Good luck and enjoy.

IoT Challenge

Participated in the
IoT Challenge