The file 'Minimalistic Motorized Roller Blinds – NEMA 17 Stepper Motor Gear And Mount 3D Printer Model' is (3mf,f3d,stl) file type, size is 2.3MB.
via esphome and homeassistant.
To automate your roller blinds for:
open blinds slowly and noiseless when waking up, coupled to your alarm clock
close blinds on hot summer days
and you are still able to move the blinds by hand in case of power outages
The hardware I used is a 3d printing board with 4 stepper drivers, so the code can be extended to control 4 blinds from one board.** The motors are not energized when not in use, so there is no energy wasted. The motors are standard NEMA17 1.2A 0.42Nm stepper motors just like used in 3D printers.
Before you take on this project, keep in mind the maximum achievable pulling force, as it may not be enough for your roller blinds. To calculate the approximate pulling force, you can use the equation below. The calculation is valid for my stepper and gear setup. (The unit is in kg for better understanding)
To adapt the ESPHome config to your connections, you can look up the pinouts and jumper configuration on the FYSETC-E4 Github Repository. My provided yaml uses
Note: The X-MIN and stall signal (X-DIAG) of the X Stepper controller are using the same pin. That is also the case for y and z axis. E axis has no stall signal output. To enable stall detection you have to configure the jumpers according to the section Sensorless homing enable jumper. You can still attach a switch (normally opened) while using stall detection on the same pin, but just be aware that you can't distinguish between the two signals. Thats why i used the Y-MIN endstop.
** Unfortunately there is a bug in the tmc2209 esphome component which prevents the use of more than one stepper. I could not resolve it, any help would greatly be appreciated! Github
ESP32 based 3D printer board FYSETC-E4: Buy on Aliexpress
NEMA 17 stepper motor 0.42Nm: Buy on Aliexpress
Power supply 24V 1A: Buy on Aliexpress
DC Power jack adapter to screw terminal: Buy on Aliexpress
(Optional) Reed endstop switches for position feedback: Buy on Aliexpress
ESPHome is used to flash the Esp32 module. It is connected via WiFi to Homeassistant where it can be controlled by all kinds of devices and automations. There are many YouTube tutorials on how to config and flash ESPHome and its Homeassistant integration.
In my config there is a window sensor and a roller blind endstop configured to prevent any kind of error with the roller blades. Additionally the TMC2209 stepper drivers are configured to detect the blinds stalling and the motor will turn off if something blocks the blinds.
ESPHome config yaml: Github yaml
My dimensions are about 4.5mm for the balls with a spacing of about 6.1mm. Use the f3d file provided if your chain has different dimensions.
If you like my work, you can support me with a donation via paypal! Or use the affiliate links to show support without additional charge.
roller_blinds_stepper_mount_v4.3mf | 1.1MB | |
roller_blinds_stepper_mount_v4.f3d | 257.8KB | |
roller_blinds_stepper_mount_v4_roller_blinds_stepper_mount_v4_bracket.stl | 2.1MB | |
roller_blinds_stepper_mount_v4_roller_blinds_stepper_mount_v4_gear.stl | 1.5MB |