https://github.com/hugow04/smarthome
Automated smart home system with blinds control and Yeelight sunrise feature using ESP32.
https://github.com/hugow04/smarthome
automation esp32 gearbox home-automation iot mqtt nema23 ntp planetary-gearbox smart-home stepper-motor tb6600 yeelight
Last synced: about 2 months ago
JSON representation
Automated smart home system with blinds control and Yeelight sunrise feature using ESP32.
- Host: GitHub
- URL: https://github.com/hugow04/smarthome
- Owner: HUGOW04
- License: mit
- Created: 2025-02-04T16:13:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-04T17:32:23.000Z (over 1 year ago)
- Last Synced: 2025-04-14T01:17:32.597Z (about 1 year ago)
- Topics: automation, esp32, gearbox, home-automation, iot, mqtt, nema23, ntp, planetary-gearbox, smart-home, stepper-motor, tb6600, yeelight
- Language: C++
- Homepage:
- Size: 32.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Automated Blinds System
## Project Overview
This project is an automated blinds system powered by WiFi and a **NEMA 23 stepper motor** controlled by an **ESP32 microcontroller**.
Since the motor alone was too weak to lift the blinds, I integrated a **planetary gearbox**. The gearbox increases torque output by a factor of 4–5 using its design where one central *sun gear* is surrounded by four *planet gears*. This evenly distributes the load and provides the extra strength needed without requiring a larger, more power-hungry motor.
With this setup, the blinds move smoothly and reliably, even under load.
---
## Planetary Gearbox System
- **Gear design:** Central sun gear with four planetary gears.
- **Purpose:** Torque amplification (4–5×).
- **Result:** Stable lifting of blinds with a relatively compact motor.
---
## How the System Works
- **ESP32 control:** Connected to the local WiFi network.
- **Time synchronization:** Uses **NTP (Network Time Protocol)** for accurate scheduling.
- **Automatic schedule:**
- Opens blinds at **6 AM on weekdays**.
- Opens blinds at **9 AM on weekends** (for a more relaxed start).
- Closes blinds at **10 PM every night** for privacy and security.
---
## Manual Control and Sleep-In Mode
Originally, the system relied on a second ESP32 with a display to send control signals.
This was replaced by a simpler, more flexible solution:
- The main ESP32 now hosts its own **web server**.
- Features of the web interface:
- Manually open/close blinds.
- Override scheduled operations (e.g., sleep in).
- Force blinds to move at any chosen time.
- Temporarily disable automation for specific days.
This gives full flexibility and makes the system easy to manage remotely.
---
## Experimental Setup
- Tested multiple stepper motors to find the right balance of power and efficiency.
- Adjusted the gear tracks to perfectly fit the curtain setup.
- Iterative trial-and-error ensured smooth operation without motor overload.
- The final system achieves **reliable movement with minimal mechanical issues**.
---
## Demo
---
## Future Improvements
- Integration with smart home assistants (Google Home, Alexa).
- Light sensor input to adjust blinds dynamically.
- Mobile-friendly control dashboard.