ESPurna: La «Chispa» Open-Source para Domótica con ESP32


ESPurna, palabra catalana y valenciana que significa «chispa» —una partícula incandescente de combustión o roce, o figurativamente una pequeña cantidad o persona ingeniosa—, adquiere nuevo sentido como firmware open-source para ESP8266 y ESP32. Desarrollado inicialmente por Xose Pérez y adaptado para ESP32 en forks como RDobrinov/espurna32, transforma placas económicas en hubs IoT para interruptores, luces y sensores. Soporta MQTT con auto-descubrimiento, Alexa, Google Assistant, modos de bajo consumo, hasta 5 redes WiFi, mDNS, NetBIOS y OTA vía web, ideal para domótica avanzada.​

esp8266 a6f

Características Destacadas de ESPurna

ESPurna gestiona switches con botones digitales/analógicos, pulsos configurables, sincronización de relés (todos iguales, solo uno ON) y estados al boot (ON/OFF/toggle). Incluye luces con color/brightness, sensores de potencia (voltaje, corriente, energía), temperatura/humedad (DHT, BME280), y LED notificadores para WiFi/relés/MQTT. Ofrece REST API para relays/sensores, backup/restore, AP/STA WiFi con IP estático, y protección contra KRACK en Arduino Core >=2.4.0; botones permiten toggle, AP mode (doble click), reboot (largo) o factory reset (extra largo).​

Preparación del Entorno con PlatformIO

PlatformIO en VSCode es la herramienta oficial para compilar ESPurna ESP32, gestionando Arduino-ESP32 core, lib_deps como FauxmoESP, AsyncTCP, MQTT y sensores.

Estos son los pasos resumidos para instalar el entorno:

  • Instala VSCode desde code.visualstudio.com, añade extensión PlatformIO IDE (marketplace)
  • Clona git clone https://github.com/RDobrinov/espurna32.git vía terminal (Terminal > New Terminal),
  • Aabre la carpeta con File > Open Folder.
  • PlatformIO detecta platformio.ini automáticamente
  • Descarga dependencias;
  • Edita para default_envs = esp32dev, board = esp32dev, framework = arduino, upload_speed = 921600,
  • Compila con icono check (Build).
  • Verifica logs en terminal para errores;
  • Reinicia VSCode o pio lib install si faltan paquetes.​

Instalación Paso a Paso en ESP32

Requisitos: Cable USB, drivers CH340/CP210x, esptool.py (pip install esptool). Pon ESP32 en bootloader (BOOT/GPIO0 a LOW al resetear/alimentar); verifica esptool.py --chip esp32 --port /dev/ttyUSB0 chip_id.​

  • Borrado: esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash.
  • Flasheo: esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 espurna-esp32.bin (binario de releases).​
  • Alternativa PlatformIO: Build exitoso > Upload; Arduino IDE requiere boards ESP32 y abrir espurna.ino.​

Post-instalación: Conéctate a AP «espurna-XXXXXX» (pass: espurna123), accede 192.168.4.1 para WiFi/MQTT/OTA; soporta reverse proxy seguro.​

Integración con Home Assistant vía MQTT

Configura MQTT en web ESPurna (broker IP/usuario/pass/puerto 1883) y activa «Home Assistant MQTT Discovery» para auto-publicación de switches/luces/sensores. En HA: Añade integración MQTT (Configuración > Integraciones > MQTT), conecta broker (Mosquitto recomendado para retain y estabilidad). Dispositivos aparecen automáticamente vía topics homeassistant/switch/[device]/config; controla relés, mide potencia/RGB sin YAML. Evita «unavailable» en reinicios HA con retain flags; ideal para energy dashboards.​

ESPurna vs. ESPHome: Comparativa Detallada

AspectoESPurna​ESPHome ​
ConfiguraciónCompilación hardware-específica, web intuitivaYAML declarativo, compilación automática
Integración HAMQTT Discovery robusto, topics estándarNativa profunda, zero-config en HA
Facilidad de UsoAvanzados: control firmware detalladoPrincipiantes: automatizaciones rápidas
Soporte HardwareAmplio (sensores, relés, Alexa/Google/OTA)HA-optimizado, actualizaciones fluidas
PersonalizaciónEdición código, REST APIConfig centralizada, sin código directo
Curva AprendizajePronunciada por compilación manualBaja, ideal domótica compleja

ESPurna brilla en versatilidad MQTT y soporte multi-plataforma para expertos en IoT/hardware, mientras ESPHome prioriza simplicidad HA. Prueba ESPurna si buscas personalización profunda en ESP32 para NILM o sensores energéticos.​

    https://github.com/RDobrinov/espurna32

    COMO AÑADIR UN ESP32 A HOME ASSISTANT Y NO MORIR EN EL INTENTO


    Si estás interesado en la domótica y el Internet de las Cosas (IoT), seguramente has oído hablar de ESPHome y Home Assistant. Estas herramientas permiten transformar placas como ESP32 y ESP8266 en potentes dispositivos inteligentes para el hogar.

    En este artículo, exploraremos cómo instalar y configurar el firmware de ESPHome, integrar dispositivos con Home Assistant, y aprovechar al máximo la automatización del hogar. Descubre cómo hacer tu casa más inteligente con soluciones personalizadas y eficientes. ¡Empecemos!

    ¿Qué son las placas nodeMCU ESP32 y ESP2866?

    Las placas ESP son chips Wi-Fi de bajo costo, equipados con memoria flash incorporada que permiten crear dispositivos de un solo chip con conectividad Wi-Fi.

    • ESP32: Incorpora, además de Wi-Fi, soporte para BLE (Bluetooth de bajo consumo).
    • ESP8266: Es una opción robusta y económica para proyectos básicos de IoT.

    Estas placas se pueden adquirir por aproximadamente 4-9 dólares/euros en plataformas como AliExpress, o un poco más en Amazon si se opta por un envío más rápido. Con ESP, es posible desarrollar soluciones inteligentes para automatizar el hogar de manera sencilla y efectiva.

    Crear un nuevo nodo ESPHome desde HomeAssistant

    Primero, debemos definir un nuevo nodo de inicio de ESP. Como ESPhome es parte de Home Assistant, ahora puedes hacer esto directamente desde la interfaz de usuario de Home Assistant.

    • Iniciar sesión en Home Assistant
    • En el menú principal haga clic en ESPHome
    Instale el complemento HomeAssistant si no ve el elemento de menú ESPhome
    • En ESPhome haga clic en el botón “+ NUEVO DISPOSITIVO” en la esquina inferior izquierda
    • Proporcione el nombre de su nodo y las credenciales de WiFi para la red WiFi a la que el chip necesita conectarse y haga clic en siguiente.

    NOTA: Algunos módulos especialmente de baja calidad puede que tengan dificultades para conectarse a su punto de acceso , así que si encuentra dificultades intente realizar esta configuración cerca del router o punto de acceso.

    • Seleccione el tipo de ESP que está utilizando. La versión de la placa está impresa en el chip WiFi del ESP. Haga clic en Siguiente.
      • ESP32 es la placa que contiene Bluetooth
      • ESP8266 es la placa genérica.
    • Recuerda que, aunque se identifique como ESP32, existen variantes. En algunos casos, es necesario editar el archivo YAML para especificar el modelo exacto, como en el ejemplo a continuación:
    • Felicitaciones, ya ha creado su primer nodo ESPhome. Haga clic en Instalar.

    NOTA IMPORTANTE: A pesar de que bajo el nombre ESP32 puede parecer que es lo mismo a todas las variantes , esto no siempre es así por lo que tenemos que asegurarnos que modelo de placa exactamente estamos usando para lo cual podemos editar el fichero yaml y concretar el modelo exacto ( si no lo hacemos así probablemente a no ser que sea el original no funcionara).Por ejemplo si nuestra placa es una NodeMCU, deberemos especificarlo manualmente en el fichero de configuración .yaml.

    esphome:
      name: "medidorprueba"
      platform: ESP32
      board: nodemcu-32s
    .....

    Primer destello de ESPhome

    Necesitamos comenzar compilando el firmware que usaremos para flashear el chip ESP. Solo necesitas hacer esto una vez. Tan pronto como ESPhome esté instalado en tu chip, puedes actualizar el firmware a través de la conexión WiFi con la llamada instalación «por aire» (OTA).

    ESPHome le ofrece una serie de opciones para instalar ESP:

    • De forma inalámbrica
      Esto funcionará después de que haya finalizado el flash inicial de ESPhome en el chip.
    • Conectado directamente desde esta computadora.
      Este método se explica a continuación.
    • Conectado desde su servidor Home Assistant
      Es personalmente mi preferido consistiendo en conectar el ESP32 mediante un cable USB al servidor Home Assistant (normalmente implementado en una Raspberry Pi o en un PC). Atención , aunque este conectado al HA , la operación lo haremos desde nuestro PC desde la pagina de HA ( normalmente http://homeassistant.local:8123)
    • Descarga manual
      Este método se explica a continuación.

    A continuación describiré el método de conexión directa desde esta computadora y el método de descarga manual.

    Instalar ESPhome usando el método Plugged-in directamente desde su ordenador

    La forma más sencilla de realizar la actualización inicial es mediante el método de «conexión directa desde este equipo». Con este método, conecta el ESP mediante USB a su equipo y la actualiza directamente desde el navegador.

    Nota: Este método solo funciona si Home Assistant se ejecuta de forma segura (HTTP S ) en el navegador. Si utiliza NabuCasa, puede utilizar la URL pública segura que puede encontrar en Configuración -> Home Assistant Cloud en Control remoto.

    Suponiendo que estás accediendo a Home Assistant bajo HTTPS, haz clic en “Conectado directamente desde esta computadora ”. Aparecerá una ventana emergente en el navegador; debes permitir que el navegador se conecte al COM3 del USB. Selecciona el COM y haz clic en conectar. ESPHome ahora flasheará el chip desde el navegador. ¡Qué asombroso y qué fácil!

    Instalar ESPhome mediante el método de descarga manual

    Si no tienes Home Assistant ejecutándose con HTTPS, es posible que quieras usar el método de descarga manual. Este método te permitirá compilar y descargar el firmware a tu ordenador. Luego, puedes usar la herramienta ESPFlasher para flashear el ESP.

    En el menú Instalar, haga clic en Descarga manual. Ahora comenzará la compilación y el archivo .bin se descargará cuando esté listo.

    Flash ESP con firmware compilado (.bin)

    Ahora necesitamos flashear el chip ESP con el firmware compilado.

    • Vaya a la página de GitHub de esphome-flasher y descargue el flasher para el sistema operativo que esté usando. Existe una herramienta de flasheo de esp home para macOS, Ubuntu y Windows:
      https://github.com/esphome/esphome-flasher/releases
    • Conecte su placa ESP con USB a su computadora portátil.
    • Abra la herramienta de flasheo
      • Puerto serie : selecciona el puerto COM donde está conectada la placa (probablemente solo haya una opción 😊).
      • Firmware : busque la ubicación donde descargó el firmware compilado y seleccione su firmware.
      • Haga clic en Flash ESP y espere
    • Ahora el ESP se habrá flasheado. Puedes seguir el progreso en la ventana de la consola. Cuando termine de escribir el firmware, el ESP se reiniciará y se conectará a tu WiFi.
    El ESP estará listo después de que indique que está listo para actualizaciones inalámbricas y que el servidor API está listo .

    Configurar el dispositivo en Home Assistant

    Home Assistant reconocerá automáticamente el ESP en la red y le notificará sobre el nuevo dispositivo encontrado. Haga clic en la notificación o en Configuración, Integraciones. Busque el nuevo dispositivo descubierto y haga clic en Configurar.

    Aunque inicialmente no se asignarán entidades de control, este paso es fundamental para la integración completa y el manejo futuro del dispositivo desde Home Assistant.

    Con estas mejoras y nuevas funciones, la integración de ESPHome en Home Assistant no solo simplifica la configuración de dispositivos inteligentes, sino que también abre un abanico de posibilidades para la automatización del hogar. ¡Atrévete a explorar y lleva tus proyectos de IoT al siguiente nivel!