
ESPectre - Sistema de detección de movimiento basado en el análisis del espectro Wi-Fi (CSI), con integración de Home Assistant.
Convierte un ESP32 en un sensor de movimiento Wi-Fi local y privado.
Cuando alguien se mueve por una habitación, altera la forma en que las señales Wi-Fi la atraviesan. ESPectre lee esos cambios y reporta movimiento en tiempo real. Sin cámara, sin micrófono, sin dispositivos portátiles y sin hardware de radar dedicado: solo un ESP32 compatible y la red Wi-Fi ya presente en la habitación.
ESPectre es una plataforma de código abierto que reúne firmware listo para flashear, un SDK C++ embebible, una implementación en MicroPython, herramientas de navegador, una CLI para el host, un conjunto de datos abierto, pesos de modelo abiertos y el flujo de trabajo de investigación utilizado para construir y validar los detectores.
Flashea desde tu navegador · Consulta las herramientas en vivo · Lee la documentación · Explora el SDK
ESPectre puede encender una pantalla o luces cuando detecta movimiento, ajustar la calefacción y refrigeración según la actividad de la habitación, activar una alarma o notificación cuando ocurre movimiento en un área que debería estar vacía, y controlar otras automatizaciones del hogar. Se conecta a Home Assistant mediante ESPHome o MQTT, expone un sensor de ocupación Matter estándar y una API HTTP Direct local, y puede integrarse en firmware ESP32 personalizado mediante el SDK C++.
ESPectre procesa el CSI en el dispositivo y reporta un estado de movimiento y una puntuación de movimiento. Las aplicaciones pueden reaccionar sin enviar datos de sensado en bruto a un servicio en la nube. Una placa cubre una zona de sensado; la cobertura a nivel de habitación normalmente requiere una placa por habitación.
ESPectre detecta cambios en el entorno de radio. No identifica personas, no las cuenta, no demuestra que una habitación está vacía ni reemplaza un sistema de seguridad, médico o de emergencia certificado.
Native, ESPHome y Matter pueden elegir entre un detector lightweight, que aprende un umbral específico de la habitación al iniciar y deja más recursos al resto de la aplicación, y un detector high_accuracy, que ejecuta el modelo entrenado incluido en el repositorio. Su comportamiento y las compensaciones medidas están documentados en SETUP.md, ALGORITHMS.md y el informe de rendimiento.
La ruta más rápida usa el navegador y no requiere un entorno de compilación local. Usa Chrome 151 o posterior en escritorio para el flujo de trabajo alojado completo. Edge admite el flasheo desde el navegador, pero la compatibilidad con Device settings y Monitor no está garantizada:

Estado de Matter: El frontend Matter aún se está validando en distintos ecosistemas de controladores. Un controlador puede admitir sensores de ocupación Matter estándar sin haber sido probado con el firmware actual. Consulta Compatibilidad con controladores Matter para ver la matriz actual.
Para compilaciones locales, flasheo desde este repositorio y el resto de la ruta de operador, empieza con SETUP.md. El envoltorio del repositorio expone los flujos de trabajo disponibles mediante:
./espectre --help
ESPectre publica los recursos de investigación y la evidencia de validación detrás de sus detectores:
Un sensor que puede revelar presencia no debería ser una caja negra. El sensado Wi-Fi evita imágenes y audio, pero los datos de movimiento y ocupación aún pueden revelar rutinas, sueño o ausencias del hogar. ESPectre trata ese riesgo como parte del trabajo de ingeniería:
Usa ESPectre solo en espacios y redes donde tengas derecho a desplegarlo. Informa a las personas afectadas, obtén consentimiento cuando sea necesario, protege el acceso al dispositivo y sus datos, y cumple con las leyes de privacidad aplicables.
network.WLAN en la rama principal.El código de primera parte de ESPectre está disponible bajo GPLv3, y las partes elegibles también están disponibles bajo un acuerdo comercial separado:
Los términos de terceros y los artefactos de cumplimiento específicos de compilación se describen en THIRD_PARTY_NOTICES.md.
| Ruta | Ideal para | Empieza aquí |
|---|
| Native | Sensores independientes, integraciones MQTT, incluido Home Assistant MQTT Discovery, y aplicaciones personalizadas | Frontend Native |
| ESPHome | Usuarios de Home Assistant que quieren entidades nativas, aprovisionamiento ESPHome y actualizaciones con Device Builder | Frontend ESPHome |
| Matter | Controladores Matter con soporte de sensor de ocupación; la validación con controladores aún es limitada | Frontend Matter |
| Micro-ESPectre | Sensado ligero en MicroPython con monitoreo HTTP Direct local de solo lectura | README de Micro-ESPectre |
| Tema | Qué cubre | Guías |
|---|
| Instalar y operar | Configuración del dispositivo, flujos de trabajo CLI y ajuste del detector | SETUP.md, CLI.md, TUNING.md |
| Comprender e integrar | Arquitectura de ejecución, API, descubrimiento, algoritmos y el SDK C++ | ARCHITECTURE.md, API.md, DISCOVERY.md, ALGORITHMS.md, SDK.md |
| Recolectar y entrenar | Recolección de CSI, entrenamiento de modelos, historial de características, rendimiento y literatura | ML_DATA_COLLECTION.md, ML_TRAINING.md, FEATURES.md, informe de rendimiento, LITERATURE.md |
| Investigación y dirección | Hoja de ruta, decisiones de arquitectura e historial de lanzamientos | ROADMAP.md, índice ADR, CHANGELOG.md |
| Referencia de frontends | READMEs de rutas de firmware para ESPHome, Native, Matter y Micro-ESPectre | ESPHome, Native, Matter, Micro |
| Contribuir | Cómo contribuir y dónde discutir el proyecto | CONTRIBUTING.md, GitHub Discussions |
| Recurso | Qué te ofrece | Empieza aquí |
|---|
| Conjunto de datos CSI | Grabaciones reales de habitaciones vacías, presencia estática y movimiento, con catálogo y procedencia en dataset_info.json | data/ |
| Pesos de modelo | Pesos entrenados en C++ y Python, además del flujo de trabajo de entrenamiento, exportación y validación | ML_TRAINING.md |
| Registro de características | Características probadas, promovidas o rechazadas, incluidos experimentos fallidos | FEATURES.md |
| Algoritmos e informes | Comportamiento del detector, el informe de rendimiento generado y el informe de calidad del conjunto de datos | ALGORITHMS.md |
| Literatura y dirección | Investigación externa, registros de decisiones de arquitectura y la hoja de ruta pública | LITERATURE.md |