Estor inteligente HomeKit con ESP32
Quería automatizar un estor enrollable convencional y convertirlo en un estor inteligente compatible con Apple HomeKit, controlado directamente desde la aplicación Casa de Apple, sin depender de accesorios comerciales ni modificar por completo el mecanismo original.
El proyecto DIY combina electrónica, diseño mecánico, impresión 3D y programación. El ESP32 gestiona el movimiento y la integración con HomeKit, el BTS7960 controla el motor y un sensor magnético marca la posición superior del estor.
El reto era conseguir que todo funcionase como un único sistema: diseñar las piezas, integrar la electrónica, ajustar el movimiento y terminar con una solución limpia, funcional y reproducible que se comportase como cualquier accesorio comercial de HomeKit.
Diagrama de conexión
Esquema general del cableado del estor domotizado: alimentación, LM2596, BTS7960, ESP32, encoder y sensor magnético.
Descargar tabla CSV ↓| Elemento origen | Pin / cable origen | Conectar a | Pin / cable destino | Nota |
|---|---|---|---|---|
| Transformador 12 V | +12 V | BTS7960 | B+ | Alimentación de potencia del motor |
| Transformador 12 V | - / GND | BTS7960 | B- | Masa de potencia |
| Transformador 12 V | +12 V | Regulador 12V→5V | IN+ | Entrada del regulador |
| Transformador 12 V | - / GND | Regulador 12V→5V | IN- | Masa del regulador |
| Regulador 5 V | OUT+ 5V | ESP32 | VIN / 5V | Alimentación del ESP32 |
| Regulador 5 V | OUT- GND | ESP32 | GND | Masa común |
| Regulador 5 V | OUT+ 5V | BTS7960 | VCC | Alimentación lógica del BTS7960 |
| Regulador 5 V | OUT- GND | BTS7960 | GND | Masa lógica del BTS7960 |
| BTS7960 | RPWM | ESP32 | GPIO18 | Señal PWM sentido 1 |
| BTS7960 | LPWM | ESP32 | GPIO19 | Señal PWM sentido 2 |
| BTS7960 | R_EN | ESP32 | GPIO26 | Enable lado derecho |
| BTS7960 | L_EN | ESP32 | GPIO27 | Enable lado izquierdo |
| BTS7960 | M+ | Motor | Motor + | Salida al motor |
| BTS7960 | M- | Motor | Motor - | Salida al motor |
| BTS7960 | R_IS | — | No conectar | No se usa |
| BTS7960 | L_IS | — | No conectar | No se usa |
| Motor / encoder | Motor + | BTS7960 | M+ | Cable de potencia del motor |
| Motor / encoder | Motor - | BTS7960 | M- | Cable de potencia del motor |
| Motor / encoder | Encoder VCC | ESP32 | 3V3 | Alimentación encoder |
| Motor / encoder | Encoder GND | ESP32 | GND | Masa encoder |
| Motor / encoder | Encoder A | ESP32 | GPIO32 | Señal encoder A |
| Motor / encoder | Encoder B | ESP32 | GPIO33 | Señal encoder B |
| Final de carrera | Cable 1 | ESP32 | GND | Da igual el orden |
| Final de carrera | Cable 2 | ESP32 | GPIO23 | Entrada final de carrera superior |