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.
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.
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
Aspecto
ESPurna
ESPHome
Configuración
Compilación hardware-específica, web intuitiva
YAML declarativo, compilación automática
Integración HA
MQTT Discovery robusto, topics estándar
Nativa profunda, zero-config en HA
Facilidad de Uso
Avanzados: control firmware detallado
Principiantes: automatizaciones rápidas
Soporte Hardware
Amplio (sensores, relés, Alexa/Google/OTA)
HA-optimizado, actualizaciones fluidas
Personalización
Edición código, REST API
Config centralizada, sin código directo
Curva Aprendizaje
Pronunciada por compilación manual
Baja, 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.
Compramos un módulo compatible con Meshtastic, como el popular Heltec LoRa v3, instalamos la app y… ¡sorpresa! En lugar de la interfaz normal con opciones de radio, usuario y red, solo aparece el botón «Cerrar». Aunque la app detecta el dispositivo por Bluetooth, algo falla: hay un problema de comunicación o configuración que impide acceder al menú habitual y, por tanto, no podemos usar el nodo.
No te preocupes, este error es muy común y tiene solución. A continuación te explico cómo resolverlo paso a paso.
1. Verifica el firmware
En el 99,9% de los casos, el problema se debe a que el módulo no tiene instalado el firmware oficial de Meshtastic o está desactualizado. Para solucionarlo, simplemente flashea el firmware correcto desde la web oficial: 👉 https://flasher.meshtastic.org/
Más abajo te explicamos cómo hacerlo detalladamente.
2. Reinicia ambos dispositivos
Apaga y enciende el módulo Heltec y reinicia también la app en tu móvil. A veces, un simple reinicio soluciona los errores de conexión entre Bluetooth y el microcontrolador.
3. Elimina emparejamientos Bluetooth previos
En los ajustes Bluetooth del teléfono, olvida o elimina la conexión anterior con tu módulo Heltec. Esto evita conflictos con configuraciones antiguas o perfiles corruptos.
4. Prueba otra versión de la app
Algunas versiones de la app Meshtastic (Android o iOS) pueden tener errores específicos según el modelo. Si el fallo persiste, prueba con una versión más reciente o incluso con una versión anterior estable.
5. Reinstala la app
Desinstala y vuelve a instalar la aplicación Meshtastic desde tu tienda oficial. Esto corrige posibles problemas en la instalación o permisos del sistema.
6. Flashea el firmware Meshtastic oficial
Si tu módulo es nuevo, debes flashear el firmware oficial de Meshtastic antes de intentar conectarlo. Una vez instalado, sigue estos pasos:
Selecciona el puerto correspondiente y tu modelo (por ejemplo, Heltec LoRa 32 V3).
Pulsa Flash y espera a que finalice el proceso.
Desconecta y reinicia el módulo.
Después de esto, el dispositivo estará listo para emparejarse con la app.
7. Conecta y configura el nodo
Con el firmware correcto instalado:
Enciende el módulo Heltec.
Abre la app Meshtastic y activa Bluetooth en tu móvil.
Busca el dispositivo (aparecerá como Heltec LoRa 32 Automation o similar).
Conéctalo usando el PIN 123456 (por defecto).
Configura la región (frecuencia para Europa, América, etc.) y el canal Mesh.
Guarda los cambios y ¡listo! Tu nodo ya forma parte de la red Mesh.
Si aún aparece el botón “Cerrar”
Si la app sigue mostrando solo la opción Cerrar, revisa lo siguiente:
Asegúrate de que el firmware es la versión oficial y actualizada.
Comprueba que el módulo no esté conectado por WiFi, ya que Meshtastic solo usa Bluetooth en este modo.
Prueba con otro teléfono o app para descartar problemas de compatibilidad.
Ayuda de la comunidad
En los foros y grupos de Reddit o Facebook de Meshtastic hay muchos usuarios con experiencias similares. Allí puedes encontrar soluciones específicas según tu modelo y versión de firmware.
Resumen
En la mayoría de los casos, el error del botón «Cerrar» se soluciona flasheando el firmware oficial Meshtastic y conectando el módulo desde cero. Después de eso, podrás configurar región, canal y comenzar a usar tu dispositivo en la red Mesh sin problemas.
Configuracion paso a paso
Veamos ahora como preparar el módulo es el Heltec LoRa 32 de la serie Automation, para conectarte con la app Meshtastic y usar Bluetooth para crear el nodo mesh. Para ello debemos considerar estos pasos:
Ahora seleccionamos el firmware. Recomiendo usar la ultima versión Beta.
Ahora llega la hora de las advertencias previas al flasheo.
Y haremos scroll hasta que finalmente podamos pulsar en el botón «Continuar»
Ahora, si esta conectado por USB al ordenador el módulo , y el driver de éste esta instalado, debería aparecer en la lista de puertos serie ( sino apareciese en la pagina oficial se pueden descargar https://meshtastic.org/docs/getting-started/serial-drivers/)
Seleccionamos la tercera opción (COM8 en nuestro caso, es decir en la opción que ponga USB to UART Bridge Controller)
Es interesante seccionar la màxima velocidad y no nos olvidemos de desplazar el interruptor de flashear firmware hacia la derecha.
Pulsamos borrar memoria e instalar y comenzara el proceso de flasheo el modulo
Como el modulo esta basado en un ESP32 observes que va escribiendo en diferentes zonas de memoria como se haría desde el interfaz de un Arduino
Una vez terminado el proceso se reiniciara y ya tendremos el modulo disponible para sincronizarlo desde la app por bluetooth a un telefono y desde este crear el nodo Mesh
Cómo conectar y configurar tu módulo Heltec LoRa 32 con la app Meshtastic para crear un nodo mesh
Si has adquirido un módulo Heltec LoRa 32 y quieres usarlo con la app Meshtastic para crear tu propia red mesh, este tutorial te guiará paso a paso para establecer la conexión vía Bluetooth y configurar el nodo para enviar y recibir mensajes.
Primeros pasos: encender y conectar tu módulo Heltec LoRa 32
Alimenta y enciende tu módulo Heltec LoRa 32, ya sea mediante USB o batería. Asegúrate de tener instalado el último firmware compatible con Meshtastic, tal como vimos en la guía anterior.
Abre la app Meshtastic en tu teléfono móvil (Android o iOS).
En la app, utiliza la opción para escanear dispositivos Bluetooth. Verifica que el Bluetooth de tu teléfono esté activo.
Debes buscar tu módulo, que aparecerá con un nombre similar a «Heltec LoRa 32 V3» o algo relacionado.
Selecciona el dispositivo y, cuando la app lo solicite, introduce el PIN que aparecerá en la pantalla de tu módulo (usualmente es un código corto que muestra el dispositivo).
Tras emparejar, configura la región y el canal para que el nodo se integre correctamente en la red mesh con otros dispositivos. Es esencial que todos los nodos usen la misma frecuencia y región.
Guarda la configuración. En caso necesario, reinicia tu módulo para aplicar los cambios.
En caso de que no veas el dispositivo en la app, confirma que tu módulo tiene correctamente flasheado el firmware Meshtastic mediante el Meshtastic Web Flasher y que el Bluetooth está activo. La versión V3 utiliza el ESP32-S3 con Bluetooth 5 LE, por lo que es imprescindible que el firmware sea el oficial y actualizado.
Configuración avanzada: opciones clave en Meshtastic para enviar y recibir mensajes
Para que tu Heltec LoRa 32 funcione correctamente como nodo capaz de enviar y recibir mensajes en la red mesh, debes prestar atención a tres secciones principales dentro de la configuración de la app Meshtastic: LoRa (radio), Canales y Seguridad.
1. LoRa (Radio)
Selecciona la región de frecuencia adecuada para tu zona geográfica. En Europa, normalmente se utiliza EU_868 (868 MHz), asegurando compatibilidad con la legislación local.
En las opciones avanzadas podrás elegir entre:
Long range: prioriza mayor alcance a costa de velocidad.
Fast: prioriza mayor velocidad con menor alcance.
Para la mayoría de aplicaciones de mensajería mesh se recomienda usar long range para mayor cobertura.
Otras opciones importantes:
Transmisión activa debe estar activada para que el nodo retransmita mensajes y forme parte del mesh.
Número de hops (saltos) establece cuántas retransmisiones puede hacer un mensaje. Un valor de 3 es equilibrado para pequeñas redes.
Rx boosted gain aumenta la sensibilidad del receptor para captar señales débiles y es recomendable tenerlo activado.
2. Canales
Los nodos deben compartir exactamente el mismo canal para comunicarse.
El canal define las frecuencias y parámetros de la red mesh.
Puedes usar el canal por defecto, llamado «longfast«, o crear un canal nuevo con los parámetros personalizados que necesites (nombre, región, velocidad, frecuencia).
3. Seguridad
Debes configurar una clave de red (network key) común para todos los nodos.
Esta clave asegura que solo los dispositivos autorizados formen parte de la red y mantengan la confidencialidad del intercambio de mensajes.
Puedes conservar la clave por defecto para pruebas, pero se recomienda crear una clave personalizada si quieres seguridad.
Crear y compartir un canal nuevo en Meshtastic
Si deseas un canal personalizado para tu red mesh, sigue estos pasos:
Conecta tu nodo vía Bluetooth a la app Meshtastic.
Accede a Configuración > Canales.
Pulsa en el botón para añadir un canal nuevo.
Configura:
El nombre del canal (por ejemplo, «MiRedMesh»).
La región correcta para tu país (ejemplo: «EU_868»).
El ajuste de velocidad (long range o fast).
El slot de frecuencia, que puede quedar con el valor por defecto.
Guarda y selecciona el nuevo canal para que el nodo lo utilice.
Repite exactamente esta configuración en los otros nodos que quieres que se comuniquen, incluyendo nombre, región y parámetros.
Asegúrate también de usar la misma clave de seguridad en todos los dispositivos.
Puede que sea necesario reiniciar el dispositivo para que los cambios se apliquen correctamente.
Resumen rápido
Enciende y conecta tu Heltec LoRa 32 vía Bluetooth con la app Meshtastic.
Configura la región, canal y clave de seguridad idénticos en todos los nodos que participen de la red.
Ajusta las opciones avanzadas de LoRa para equilibrar alcance y velocidad según tus necesidades.
Para crear un canal personalizado, configura y comparte el mismo en todos los nodos.
Con estos pasos podrás crear una red mesh funcional para enviar y recibir mensajes entre teléfonos y módulos Heltec LoRa 32 con Meshtastic, aprovechando la potencia de LoRa para comunicaciones de largo alcance y bajo consumo.
Debe estar conectado para enviar un comentario.