DIY Automated Roller Blinds

Controlling blinds using off the shelf solutions can be expensive – more so if you have multiple blinds you want to control. [HumanSkunk87] felt the cost was too high, so they designed a controller to automatically open and close the blinds.

The main part of this build is a motor and a ball chain gear – a wheel that captures the balls of a ball chain so that the chain can be pulled. The wheel was designed using Fusion3D and then printed out. The motor requires enough power to pull the chain — [HumanSkunk87] figures it needs to be able to pull about 2.5kg in order to raise the blind. After giving up on stepper motors, a DC motor with a worm gear was found to have enough torque to work. A WEMOS D1 Mini controls the motor controller that drives the ball chain wheel. Two micro switches tell the WEMOS when to stop at the bottom and top of the window.

The WEMOS is programmed using ESPHome and it connects to [HumanSkunk87]’s HomeAssistant to complete the automation. Check out the descriptions in the link for the parts and the code used to run everything. There are many other creative ways to open your blinds, It’s even possible to automate curtains instead of blinds.

View post on

[via reddit]


11 thoughts on “DIY Automated Roller Blinds

  1. So he went from a large (NEMA17) stepper without gearing and then decided on a small DC with gearing but without an encoder… But, of course, he also only sticks to premade modules, it seems.

    1. Um.. the motor has an encoder if you read his write-up.
      It’s just a shame he appears to have no links to the 3d models he designed for the casing.
      Nice project. Should be easy enough to port the code to Arduino or some other platform. There are plenty of automatic window blind projects around whose code could be modified for this.
      I always thought NEMA steppers were overkill for this.

      Please don’t slate people for using breakuot boards and modules for their projects. Not everyone wants to create their own boards. It’s only like using third-party libraries to speed up development of their code.
      There are people on here, and across the internet with varying skillsets. Not everyone can design circuitboards in their sleep. At least he’s seen a need, investigated pre-made solutions, and dismissed them as being way over-budget, but that hasn’t put him off.
      It’s all about learning, making mistakes, maybe doing things differently to other people. That doesn’t make any of it wrong. That is the essence of Hackaday and the essence of the entire hack/make community.

  2. I’ve thought about doing something similar, but instead of using reed switches or an encoder, build in a small slip clutch type mechanism. If it encounters resistance above a certain point, it slips. The controller would then only need to know “run the motor for X seconds”. Even better if it could incorporate an ambient light sensor – if it gets light outside, open up the blinds. When it’s dark, close them. Something to that effect.

    1. We did that in seventies (Apple II/Commodore PET floppy drives with no track0 sensors), why bother now that gpio and computing are pretty much free? If you want to be clever you could detect motor stalls by measuring power draw.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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