Introduction: Robotic Operated Window Blinds

This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (

This project is on automated window blinds that can be controlled from your phone via Bluetooth. The system uses a geared dc motor to wind / unwind the cord coming from the blinds in order to raise / lower it as well as a 2nd motor which rotates the rod from the blinds to open / close it. It can easily be powered from two USB wall adapters, like what is typically used for charging phones and other small electronic devices, or to save a wall outlet you can purchase a wall adapter that has two USB ports on it. With this wireless system you no longer have to get up to adjust your blinds, simply grab your phone and open the app!

Step 1: Components and Tools

For this project I used the following components:

  • HiLETgo ESP32 OLED Development Board (Black board in the images)
  • BEMONOC 24V Geared DC Motor 50rpm (Silver motor in the images)
  • STEPPERONLINE Double Shaft NEMA 17 Stepper Motor (Black motor in the images)
  • STSPIN820 Stepper Driver Board (Blue board in the images)
  • L298N Motor Driver Board (Red board in the images. I designed a custom motor driver for this, green board in images, but the L298N is a substitute for my board with similar wiring)
  • NOYITO DC-DC Adjustable Boost Converter (Blue board with USB port in the images)
  • 2 x 3590S-2-503L Multi-turn Potentiometers (Round blue piece in the images)
  • A Breadboard
  • Various sized jumper wires
  • Various lengths of 20awg wire
  • Various M3 screws (for the 3D printed parts)
  • Electronics Project box that can fit a breadboard

Tools used for this project:

  • 3D Printer
  • Soldering Iron
  • Various hand tools (screwdrivers, pliers, etc.)

Step 2: Wiring!

The wiring for this project is relatively complicated due to the large number of components so I will due my best to show how everything is connected together. I attempted to make a nice diagram using the Frizting software however it was not working properly on my computer and I could not get it to create a proper wiring diagram. In the images above you will find a schematic showing how everything is wired together, both the DC-DC converter and the ESP32 will need a USB connection to power them. If using the L298N DC motor driver board then the wiring will be slightly different for that board compared to mine.

Step 3: Arduino IDE Code

Attached as a text file is the code I created for my project, it was generated in the Arduino IDE and requires the ESP32 board files and related libraries. In the code you can find a link to the GitHub page that can instruct you through adding the required files to the Arduino IDE. It should contain plenty of comments that take you step by step on what the program is doing. The file is called "BluetoothControlledWindowBlindsCode.txt".

Step 4: 3D Printed Parts

Parts to print:

  • Hex Rod Coupler
  • Blinds Cord Coupler
  • Blinds Cord Coupler Shell
  • Geared Motor Shaft Coupler 1 and 2
  • Geared Motor Shell Lower Half
  • Geared Motor Shell Upper Half
  • Stepper Motor Enclosure
  • Stepper Motor Enclosure Bottom
  • Stepper Motor - Potentiometer Coupler
  • Geared Motor Bottom Mount
  • Geared Motor Clamp
  • Geared Motor Potentiometer Mount

Steps to Assemble:

  1. Attach 1 potentiometer to bottom shaft of stepper motor using the designated coupler.
  2. Mount the stepper motor on the inside of the stepper motor enclosure.
  3. Attach the stepper motor enclosure bottom to the stepper motor enclosure ensuring you line up the potentiometer so it fits in place. Make sure to run potentiometer and stepper wires out of the opening in the bottom of the enclosure.
  4. Attached the hex rod coupler to the shaft of the stepper motor that sticks out the top of the enclosure.
  5. Mount the stepper motor enclosure to the wall, make sure to insert the blinds rod into the coupler while lining up the enclosure to be mounted.
  6. Insert an M3 screw through the first of the of geared motor shaft coupler. Feed the cord from the blinds through he hole in the first half of the geared motor shaft coupler. Tie a knot after pulling it through so it can't slip out.
  7. Attach the 2nd half of the geared motor shaft coupler to the 1st half. Insert the potentiometer shaft into the 2nd half of the coupler.
  8. Using the geared motor bottom mount and clamp, attach the geared motor to windowsill / wall.
  9. Align the geared motor potentiometer mount and mount it to the wall as well.
  10. Mount the 2 halves of the geared motor shells to neatly hide the geared motor. Run the potentiometer and geared motor wires out of the shell and towards your electronics box.

Step 5: Enjoy Your New Window Blinds!