
Project Overview
This project revolves around an automated blinds system that operates using WiFi and a NEMA 23 stepper motor controlled by an ESP32 microcontroller. The motor was initially too weak to lift the blinds by itself, so I applied a physical solution by incorporating a planetary gearbox. This gearbox amplifies the torque by a factor of 4-5, thanks to its design where one central "sun" gear is surrounded by four "planet" gears. These planetary gears mesh together, distributing the load evenly and allowing for greater torque output without needing to use a larger, more power-hungry motor. This setup enabled smooth, reliable movement of the blinds even under load.

How the System Works
The blinds are controlled through an ESP32 connected to a local WiFi network. The system is synced with NTP (Network Time Protocol) to ensure the blinds operate according to the correct time. It opens in the morning at 6 AM on weekdays and at 9 AM on weekends for a more relaxed start to the day. The blinds automatically close at 10 PM every night to provide privacy and security.
Manual Control and Sleep-In Mode
Initially, the system used a separate ESP32 with a display that sent control signals to the blinds. However, I scrapped this approach and instead configured the ESP32 to host its own web server. Through the web interface, you can manually control the blinds, override scheduled operations if you want to sleep in for a day, force the blinds to move at a specific time, or even disable automatic operation entirely for a given day. This setup provides full flexibility and makes the system easier to manage remotely.

Experimental Setup
During development, I experimented with different motors to find the optimal strength for lifting the blinds. I also adjusted the gear tracks to perfectly fit my curtain setup, ensuring smooth movement without overloading the motor. This trial-and-error process was essential to achieve reliable operation and prevent mechanical issues.