Motor On A Roller Blind 3D Printer Model

Author: @
License: CC BY
File formats: stl
Download type: zip
Size:502.5KB

The file 'Motor On A Roller Blind 3D Printer Model' is (stl) file type, size is 502.5KB.

Summary

Update 2021-12-08: If you prefer to use esphome I've done an esphome variant of the code for improved integration to Home Assistant. Review the PIN assignments before uploading. Feel free to use it at your own risk (I don't provide support...) https://bit.ly/33q7OW6

Please read the following note from the designer

  • I consider the build to be in an archived state. I will not do any changes to it nor the code and support is through the comments section - i.e. not via email or by messaging me
  • My set of roller blinds (5) are still running great since 2017. I have one, a bit irritating, bug with the native code and that is if there is a power loss. Check comments or repo forks for a solution
  • The "thing" is a few years old and so is the repo (archived state). Some Arduino libraries used in the original code is out-of-date. I'd check the timestamp of the repo and use the version for each library that is relevant. E.g. my last commit was "9 Mar 2018" and that means that ArduinoJson 5.13.1 was used - check timestamp of releases in respective library repo
  • If you have coding/connectivity/flashing the device, use the comment section and the community for help or Google it
  • Yes, there are some bugs such as when power is disconnected and it is loosing the position. Check the comments and forks of the repo as I know that this has been corrected elsewhere.
  • So there are no plans to add hardwired buttons or anything like that (it was actually the initial intent with a decouple design using MQTT messaging to steer the roller blind).

What is it?

I've put a motor on my roller blinds and made them controllable via MQTT messages or via a web client (two different ways to control the roller blind) that interacts with an on device embedded webserver. I've used the same sized prints for multiple different brands of blinds.

Look at the pictures and animations that will show how it is all fitted together.

I used to have two code bases for an MQTT version and Web client version but I've merged those together into one code base and the use of MQTT is optional. It is set upon WIFI configuration - simply leave the MQTT server field blank.

The current version is for a ceiling mounted roller blind as shown here: https://youtu.be/Dka4of30YOY
How the pieces are assembled: https://youtu.be/3odwHns21Ik

There is a remix made for wall mounted roller blinds made by bmscott. It can be found here https://www.thingiverse.com/thing:2530155

Additional components

DISCLAIMER: The below description is the parts that I used and how I've assembled it. If you want to use other ESP8266 boards or components it is up to you to test it :-)

  • 1pc. 608ZZ bearing (8x22x7mm)
  • 1pc. tiny screw for center pin fastening the center pin
  • 1pc. 28BYJ-48 stepper motor + ULN2003 driver board. I'm using the 5V version of the motor (but the 12V should give better torque - see my comment below)
  • 1pc. 9v power adapter
  • 1pc. NodeMCU v3 Dev board
  • 2pc. short M4 screws for mounting the stepper motor

Hook it up

Connect 9v directly to Vin on NodeMCU board (validate first that your version has a built in regulator for 9V) and to the ULN2003 board. 5V is simply not enough to be able to control the blinds, even with the higher gear ratio, so ULN2003 requires 9V. I'm using the 5V version of the stepper motor and it has worked well for me so far. My roller blind is just 100cm wide and
D1 = IN1, D2 = IN3, D3 = IN2, D4 = IN4

Flash the ESP8266-12E

  • Flash your NodeMCU board with code from the following repository: https://github.com/nidayand/motor-on-roller-blind-ws
  • Follow the instructions as described in the Github repository on how to control the device.
  • If you don't have an MQTT server you can use a public one during a testing (!) phase. E.g. iot.eclipse.org:1883 as described here https://iot.eclipse.org/getting-started or simply just just the web client
  • Below are examples of the responsive page served from the device - Android and iPhone UI
  • You will be notified if and when new updates of the code have been released.

Access the web page

Post flashing the device:

  1. Connect to the WIFI Access Point BlindsConnectAP and use nidayand as the password
  2. Enter your WIFI credentials, a unique name for the device (to be used for mDNS) and, optionally, MQTT server details (leave blank if you don't want to use it)
  3. The device will reboot and connect to your WIFI upon save
  4. Use a web browser to connect to the device on port 80. E.g. http://192.168.2.226 or http://{configured_name}.local if you are using an mDNS supported device/client such as iOS or OSX

You want to customize it?

I've thought of doing a wall-mounted version but I don't have that need myself so instead I can share the source code. I've used Autodesk Fusion 360 in the design and you are welcome to download and modify it further as long as you give credits to the original. Download: https://drive.google.com/file/d/1fZxdVtPUIlZnW_kDdFC23oF6Y-pgNVyj/view?usp=sharing


Credits

20170620_blind_holder_23.5mm.stl 434.7KB
20170620_box.stl 64.0KB
20170620_center_pin.stl 55.4KB
20170620_holder.stl 82.1KB
20170620_motor_gear.stl 182.5KB
20170821_blind_holder_22mm.stl 434.7KB
20171220_blind_holder_17mm.stl 434.7KB
box.stl 61.4KB