Guía de Meshtastic - Cómo Flashear el Firmware de Meshtastic

⚡ Flasheo de Dispositivos ESP32 con Firmware Meshtastic

🔧 Flashear dispositivos ESP32 con firmware Meshtastic se puede hacer usando varios métodos. El método más recomendado es el 🌐 Web Flasher, que funciona con navegadores Chrome o Edge. Es 👌 fácil de usar e ideal para principiantes que quieren flashear rápidamente sus placas ESP32. El 💻 CLI Script es un método manual para flashear firmware y es más adecuado para usuarios avanzados familiarizados con herramientas de línea de comandos. Si tanto el Web Flasher como el CLI Script fallan, usar un 🔌 adaptador serial externo es una opción, pero solo debe intentarse como último recurso ⚠️ debido a su complejidad.

📡 Antes de encender tu radio Meshtastic basado en ESP32, siempre conecta la antena. Operar sin antena puede dañar el chip de radio. Para actualizar el cliente web Meshtastic en meshtastic.local, se requiere un borrado completo y reinstalación del dispositivo. Esto asegura que obtengas la última interfaz web incluida. Si quieres conservar tus configuraciones, 💾 exporta tu configuración antes de reinstalar y vuelve a importarla después.

⚙️ Flashear firmware ESP32 es un paso clave para configurar tu dispositivo Meshtastic. Ya sea que uses el 🌐 Web Flasher, el 💻 CLI Script o el 🔌 adaptador serial, asegúrate de seguir las precauciones de seguridad y elegir el método que mejor se adapte a tu nivel de experiencia.

🚀 Flashear Dispositivo

  1. 🔗 Conecta tu dispositivo
  2. 🌍 Visita flasher.meshtastic.org *requiere navegador Chrome o Edge
  3. 📖 Sigue las instrucciones

🔧 Conectar y Configurar el Dispositivo

✅ Una vez que hayas flasheado el firmware Meshtastic en el dispositivo, puedes continuar con la configuración inicial.

💻 Flasheo de Firmware vía CLI

🔍 Verificación de conectividad

📡 Antes de flashear tu dispositivo ESP32, verifica la conectividad con el dispositivo que vas a flashear. Sigue los pasos indicados a continuación para comprobar la conexión del dispositivo y, si es necesario, instala los controladores USB apropiados para tu placa ESP32. Si debes instalar controladores, recuerda 🔄 reiniciar tu computadora después para confirmar que la instalación del controlador esté completa.

⚠️ NOTA: La placa T-Beam 0.7 es una versión anterior de la placa T-Beam ESP32. Debido a cambios de diseño en iteraciones posteriores, esta placa requiere un archivo de firmware específico que es diferente de los usados por otras versiones de placas T-Beam. Asegúrate de seleccionar el firmware correcto al flashear tu ESP32 T-Beam 0.7 para garantizar un funcionamiento adecuado.

  • 📂 Usar firmware-tbeam0.7-X.X.X.xxxxxxx.bin para el T-Beam 0.7.
  • firmware-tbeam-X.X.X.xxxxxxx.bin es incompatible.
📖 Para todas las demás placas T-Beam, por favor revisa la sección de recursos para seleccionar el firmware correcto.

📜 Instrucciones de la interfaz de línea de comandos

🛠 Instalar software previo
🐧 Linux
🔎 Verifica si tienes python3 y pip instalado usando el siguiente comando

🐍 python3 --version

📦 pip3 --version

⚙️ Si python3 no está instalado, puedes instalarlo usando

🔄 sudo apt-get update

⬇️ sudo apt-get install python3

⚙️ Si pip no está instalado, puedes instalarlo usando
⬇️ sudo apt-get install python3-pip
⚙️ Instalar esptool
⬇️ pip3 install --upgrade esptool
🍏 MacOS
💻 OS X viene con Python2.7 preinstalado, pero no incluye pip. Las siguientes instrucciones usan 🍺 Homebrew para instalar Python3, que incluye pip3. En macOS, usarás pip3 en lugar de pip.
ℹ️ NOTA: Verifica si tienes Homebrew instalado con el siguiente comando. Si no está instalado, sigue las instrucciones en el sitio web de Homebrew antes de continuar.
🔎 brew -v
🔎 Verifica si tienes python3 y pip instalado usando el siguiente comando

🐍 python3 --version

📦 pip3 --version

⚙️ Si python3 no esté instalado, puedes instalarlo usando el comando
⬇️ brew install python3
✅ Verifica que pip3 fue instalado junto con python3
📦 pip3 -v
⚙️ Instalar esptool
⬇️ pip3 install --upgrade esptool
🪟 Windows
  • ⬇️ Descarga e instala Python. Durante el proceso de instalación, asegúrate de seleccionar la opción Agregar Python X.Y al PATH.
  • ⬇️ Descarga e instala Git Bash (u otra shell adecuada), y ejecuta todos los comandos posteriores desde esa shell.
🔎 Verifica si tienes python3 y pip instalado usando el siguiente comando

🐍 py --version

📦 pip --version

⚙️ Instalar esptool
⬇️ pip3 install --upgrade esptool
🔗 Verificar conectividad con el chip
  • 🐧 En Linux y macOS, puede que necesites declarar explícitamente esptool como un .py script. Usa el comando esptool.py chip_id para hacer esto, dependiendo de tu entorno.
  • 🪟 En Windows, debes declarar explícitamente esptool como un .py script usando el comando esptool.py chip_id para asegurar el funcionamiento adecuado.
🔌 Conecta la radio a tu computadora con un cable USB de datos. Usa el siguiente comando para verificar que tu dispositivo está comunicándose con tu computadora:
💻 Comando
📝 esptool chip_id
📤 Salida esperada

✅ # Deberías ver un resultado similar a este:

💻 mydir$ esptool chip_id

🔧 esptool.py v2.6

🔍 Se encontraron 2 puertos seriales

🔌 Puerto serial /dev/ttyUSB0

⏳ Conectando....

🔎 Detectando tipo de chip... ESP32

📡 El chip es ESP32D0WDQ6 (revisión 1)

✨ Características: WiFi, BT, Doble núcleo, 240MHz, calibración VRef en efuse, Esquema de codificación Ninguno

🔑 MAC: 24:6f:28:b5:36:71

⬆️ Subiendo stub...

▶️ Ejecutando stub...

✅ Stub ejecutándose...

⚠️ Advertencia: ESP32 no tiene Chip ID. Leyendo

🔑 MAC en su lugar. MAC: 24:6f:28:b5:36:71

🔄 Reiniciando forzosamente vía pin RTS...

⬇️ Descargar Firmware
  • 🌐 Navega a la Página de Descargas de Meshtastic para obtener el firmware más reciente.
  • 📂 Desplázate hacia abajo hasta la sección Firmware y elige una de las siguientes opciones según tus preferencias:
  1. Descargar Estable: Para versiones estables y bien probadas.
  1. 🧪 Descargar Alpha: Para versiones nuevas y experimentales que incluyen las últimas características.
  • 📄 Una vez que seas redirigido a la página de lanzamiento de GitHub, desplázate hacia abajo hasta la sección de Assets y expándela.
  • 🔎 Identifica el firmware apropiado para tu dispositivo según su arquitectura (por ejemplo, firmware-esp32s3 para dispositivos basados en ESP32-S3 como el Heltec V3).
  • 💾 Descarga el archivo y toma nota de su ubicación en tu sistema, que típicamente está en tu ~/Downloads carpeta.
📂 Acceder al Directorio del Firmware
💻 Abre una terminal y cambia al directorio donde descargaste tu firmware (usando el cd comando). El nombre de la carpeta usualmente corresponde a la arquitectura y versión del firmware indicada en el archivo zip. Por ejemplo:
📂 cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
⚠️ NOTA: Asegúrate de reemplazar esp32s3 y el número de versión con los valores que correspondan al archivo que descargaste.
⚡ Instalar o Actualizar Firmware
🛠 Ahora, sigue las instrucciones a continuación para tu sistema operativo para instalar o actualizar el firmware de tu placa específica:
📌 Ten en cuenta antes de comenzar:

⚠️ Ten mucho cuidado al instalar el archivo de firmware correcto para tu placa ESP32. Específicamente, el ampliamente usado radio T-BEAM de TTGO no se denomina TTGO-Lora, que es una placa ESP32 diferente. Por lo tanto, no flashees la compilación de firmware TTGO-Lora en un T-BEAM, ya que no funcionará correctamente y puede causar problemas con tu dispositivo ESP32.

❌ Si instalas el firmware incorrecto para tu placa ESP32, el proceso de flasheo puede parecer completarse con éxito, pero el dispositivo puede volverse no responsive, mostrando una pantalla en blanco si tiene una. Asegúrate siempre de flashear la versión correcta del firmware para tu hardware ESP32 específico.

⚡ Ten en cuenta que aunque estos dispositivos basados en ESP32 son generalmente robustos y no se garantiza daño, existe el riesgo de dañar el módulo de radio a bordo y los periféricos si las direcciones de los pines GPIO se configuran incorrectamente durante el flasheo del firmware. La selección adecuada del firmware es crítica para mantener la funcionalidad y seguridad de tu dispositivo ESP32 Meshtastic.

🐧 Linux & 🍏 macOS
⬇️ Instalar
💻 ./device-install.sh -f firmware-BOARD-VERSION.bin
⬇️ Descargar Firmware
  • 🌐 Navega a la Página de Descargas de Meshtastic para obtener el firmware más reciente.
  • 📂 Desplázate hacia abajo hasta la sección Firmware y elige una de las siguientes opciones:
  1. Descargar Estable: Para versiones estables y bien probadas.
  2. 🧪 Descargar Alpha: Para versiones experimentales con las últimas funciones.
  • 📄 En la página de lanzamiento de GitHub, desplázate hacia abajo hasta Activos y expándelo.
  • 🔎 Identifica el firmware correcto para tu dispositivo (p. ej. firmware-esp32s3 para placas ESP32-S3).
  • 💾 Descargue el archivo y anote su ubicación (usualmente ~/Downloads).
📂 Acceder al Directorio del Firmware
💻 Abra una terminal y cambie al directorio donde descargó su firmware:
📂 cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
⚠️ NOTA: Reemplace esp32s3 y la versión con su archivo real.
⚡ Instalar o Actualizar Firmware
🛠 Siga las instrucciones a continuación para su sistema operativo:
📌 Importante:

⚠️ Siempre instale el firmware correcto para su placa ESP32. No confunda T-BEAM con TTGO-Lora.

❌ El firmware incorrecto puede flashearse pero dejar el dispositivo sin respuesta (pantalla en blanco).

⚡ Configuraciones GPIO incorrectas durante el flasheo pueden dañar el módulo de radio. Elija con cuidado.

🐧 Linux & 🍏 macOS
⬇️ Instalar
💻 ./device-install.sh -f firmware-BOARD-VERSION.bin
🔄 Actualizar
💻 ./device-update.sh -f firmware-BOARD-VERSION-update.bin
🌐 Usar --web para incluir el Web Client integrado.
🪟 Windows
⬇️ Instalar
💻 esptool.exe --chip esp32 write_flash -z 0x1000 firmware-BOARD-VERSION.bin
🔄 Actualizar
💻 esptool.exe --chip esp32 write_flash -z 0x1000 firmware-BOARD-VERSION-update.bin
💻 device-install.bat -f firmware-BOARD-VERSION.bin
🔄 Actualizar
💻 device-update.bat -f firmware-BOARD-VERSION-update.bin
🌐 Use el --web opción para incorporar el Cliente Web integrado al instalar el firmware.

🔌 Conectar y configurar el dispositivo

✅ Una vez que haya flasheado con éxito el firmware Meshtastic en el dispositivo, puede continuar con la configuración inicial.

🔧 Flasheo con un Adaptador Serial Externo

ℹ️ NOTA: Esta información probablemente solo será útil si ya ha intentado seguir los requisitos previos y procesos descritos en flasheo manual

⚙️ Proceso de Flasheo

📌 Situaciones que pueden requerir el uso de un adaptador USB a Serial externo:
  • ⚠️ Debido a la escasez continua de chips, dispositivos adquiridos recientemente como el TTGO T-Beam pueden estar equipados con chips adaptadores USB a Serial heredados o no estándar, que pueden ser poco fiables en ciertas situaciones.
  • ❌ Algunos dispositivos pueden presentar chips USB a Serial defectuosos, lo que provoca problemas de comunicación.
  • 🔗 Dispositivos específicos, como el Hydra (objetivo Meshtastic-DIY)
🔌 Adaptadores Seriales USB

🛠 Hay numerosas opciones de adaptadores ESP32 disponibles en el mercado, pero es recomendable elegir un adaptador que use el chip Silicon Labs CP2102, conocido por su fiabilidad y su estatus como estándar de la industria para el flasheo de ESP32. El adaptador basado en CP2102 asegura una comunicación USB a serial estable, esencial para un flasheo de firmware exitoso.

🔌 Comience conectando el adaptador CP2102 a su computadora sin conectar ningún dispositivo ESP32 en este momento. Asegúrese de que los controladores USB necesarios para el adaptador estén instalados en su computadora. Para usuarios de Windows, los controladores CP2102 correctos deberían instalarse automáticamente, permitiendo una detección fluida del dispositivo ESP32 y una carga de firmware confiable.

Conectando el Adaptador al Dispositivo
ℹ️ NOTA: Hay varios métodos para conectar los pines del adaptador al dispositivo objetivo, incluyendo presionar jumpers contra los contactos o usar pogo pin jigs. Este tutorial destaca el uso de encabezados Dupont desplazados soldados a los pines GPIO relevantes y conectados con jumpers.
⚠️ Desconecte su adaptador USB a serie de la computadora antes de comenzar este proceso.
  1. 🔄 Conecte el pin RX del adaptador al pin TX del dispositivo.
  2. 🔄 Conecte el pin TX del adaptador al pin RX del dispositivo.
  3. ⚡ Conecte un pin GND del adaptador al pin GND del dispositivo.
  4. 🔋 Conecte el pin de 5V del adaptador al pin de 5V del dispositivo (como se ilustra) o el pin de 3.3V del adaptador al pin de 3.3V del dispositivo.
  5. 🟢 Conecte GPIO 0 a GND en el dispositivo con un puente. (Esto pondrá el dispositivo en modo flash al encenderlo.) Ejemplo de cableado con un T-Beam.
  1. 🔌 Conecte el dispositivo a un puerto USB de la computadora.
  2. ❎ Retire el puente que conecta GPIO 0 con GND.
💾 Flasheando el dispositivo
Después de completar los pasos anteriores, su dispositivo debería estar en modo flash. Ahora puede usar el método manual para flashear su dispositivo.
🔄 Una vez que el proceso de flasheo haya terminado, reinicie su dispositivo (usando el botón RST si está disponible). Si tiene instalado el Meshtastic Python CLI, puede ejecutar meshtastic --noproto para reconectarse al dispositivo a través del adaptador y ver la salida serial para asegurarse de que Meshtastic se instaló correctamente.
🛠 Solución de problemas del proceso de flasheo
⚠️ Puede encontrar un error de permiso en el puerto COM al ejecutar los scripts de instalación manual del dispositivo, lo que puede ser causado por varios problemas.
💡 Para resolver esto, es posible que necesite ejecutar el proceso como administrador, asegurarse de que ningún otro software, como Cura, esté monopolizando los puertos COM, o intentar reiniciar su sistema.

🔌 Conectar y configurar el dispositivo

✅ Una vez que haya flasheado el firmware Meshtastic en el dispositivo, puede pasar a la configuración inicial.

📡 Flasheo de dispositivos nRF52 & RP2040

  • ⚡ Proceso de actualización de firmware para dispositivos nRF52 y RP2040: Los dispositivos basados en nRF52 y RP2040 arquitecturas ofrecen un proceso de actualización de firmware sencillo que no requiere ningún controlador ni instalación de software en ninguna plataforma.
  • 📂 Arrastrar y soltar: Estos dispositivos utilizan el método de instalación Arrastrar y soltar para instalar versiones de firmware. Simplemente arrastre el archivo de firmware al dispositivo en su explorador de archivos.
  • 📶 Actualizaciones Over-The-Air (OTA): Los dispositivos nRF52 pueden recibir actualizaciones de firmware OTA desde un dispositivo móvil vía Bluetooth, permitiendo actualizaciones sin necesidad de conexiones físicas.
  • 🧹 Borrado de fábrica: Antes de instalar nuevo firmware, puedes considerar realizar un Borrado de fábrica para eliminar cualquier dato existente que pueda cambiar de formato o ubicación entre versiones.

🔄 Convertir RAK4631-R a RAK4631: Si tu dispositivo no viene con el bootloader de Arduino, necesitarás realizar una conversión para asegurar la compatibilidad.

  • 🛠 Usando Raspberry Pi como herramienta de flasheo SWDIO: Si tu dispositivo no puede ser flasheado vía USB o Bluetooth, una opción alternativa es usar una conexión directa SWDIO con un Raspberry Pi como herramienta de flasheo.

📂 Actualizaciones de firmware por arrastrar y soltar para nRF52 y RP2040

💻 Flashear dispositivo

  • 🌐 Ahora puedes utilizar el Meshtastic Web Flasher para descargar y transferir firmware a tus dispositivos basados en nRF52 o RP2040. Alternativamente, puedes seguir las instrucciones a continuación para descargar e instalar el firmware.
  • 🧹 Si recientemente realizaste un Borrado de fábrica, tu dispositivo podría iniciarse automáticamente en modo bootloader. Entonces puedes proceder directamente a "Copia el firmware apropiado..." para tu dispositivo específico a continuación:
🔵 [nrf52.cpu]
  1. ⬇️ Descarga y descomprime el firmware más reciente desde Meshtastic Downloads.
  2. 🔌 Conecta tu dispositivo a tu computadora usando un cable de datos USB.
  3. 🔁 Presiona el botón de reinicio en tu dispositivo dos veces (esto activará el modo bootloader).
  4. 💻 Se montará una nueva unidad en tu computadora (compatible con Windows, Mac, Linux o Android).
  5. 📂 Abre esta unidad, donde deberías encontrar tres archivos: CURRENT.UF2, INDEX.HTM y INFO_UF2.TXT.
  6. 📥 Copia el archivo de firmware apropiado (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) desde la carpeta de la versión a esta unidad.
  7. ✅ Después de que el archivo termine de copiarse, el dispositivo se reiniciará y instalará el firmware de Meshtastic.
🟣 RP2040
  1. ⬇️ Descarga y descomprime el firmware más reciente desde Meshtastic Downloads.
  2. 🔘 Mantén presionado el botón BOOTSEL, luego conecta el dispositivo a tu computadora usando un cable USB.
  3. 💻 Se montará una nueva unidad en tu computadora (compatible con Windows, Mac, Linux o Android).
  4. 📂 Abre esta unidad, donde deberías encontrar dos archivos: INDEX.HTM y INFO_UF2.TXT.
  5. 📥 Copia el archivo de firmware apropiado (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) desde la carpeta de la versión a esta unidad.
  6. ✅ Después de que el archivo termine de copiarse, el dispositivo se reiniciará y instalará el firmware Meshtastic.
⚠️ Posibles casos límite al flashear
  1. 🔎 Antes de flashear, asegúrate de tener el RAK4631 y no el RAK4631-R. Si no, necesitarás cambiar el bootloader. Las instrucciones están aquí.
  2. ⚠️ Las versiones antiguas del firmware pueden conservar datos obsoletos, causando bucles de fallos. Si tienes problemas al actualizar, realiza un borrado de fábrica antes de flashear.

🔌 Conectar y configurar el dispositivo

✅ Una vez que hayas flasheado el firmware Meshtastic en el dispositivo, puedes continuar con la configuración inicial.

📡 Actualizaciones de Firmware Over-the-Air (OTA) para nRF52

📶 Los dispositivos nRF52 de RAK pueden aceptar actualizaciones de firmware OTA vía Bluetooth. ⚠️ Los bootloaders antiguos T-Echo no soportan OTA.
⚠️ Precaución: Las actualizaciones OTA tienen un mayor riesgo de fallo. Si no tienen éxito, tu dispositivo puede volverse no funcional y requerir recuperación física.

🤖 Android

⚠️ La última app nRF DFU (v2.3.0) es incompatible. Usa nRF Connect App v4.24.3 desde Nordic GitHub.
  1. ⬇️ Descarga el firmware desde Meshtastic Downloads o GitHub.
  2. 📂 Descomprime la carpeta del firmware.
  3. 📱 Abre la app nRF Connect → pestaña SCANNER → CONECTA el dispositivo.
  4. 🔗 Si muestra DISCONNECT, continúa; si CONNECT, tócala.
  5. ⚙️ Toca el icono DFU (arriba a la derecha).
  6. 📦 Selecciona "Distribution Packet (ZIP)" → OK.
  7. 📥 Elige el archivo de firmware que termine en -ota.zip.
  8. ⏳ La actualización comienza automáticamente (puede ser lenta).
  9. ✅ El dispositivo se reinicia después de la actualización.

🍎 Apple

📲 Actualizaciones OTA disponibles mediante la nRF Device Firmware Update App en iOS/iPadOS.
  1. ⬇️ Descarga el firmware desde Meshtastic Downloads, GitHub o directamente vía la app.
  2. 📂 Descomprime la carpeta del firmware.
  3. 📱 Abre la nRF DFU App y selecciona el archivo de firmware correcto para el dispositivo (terminado en -ota.zip).
  4. 🔗 Conéctate a tu dispositivo.
  5. ⬆️ Sube el firmware.
⚠️ Nota importante: La función de bloqueo automático del iPhone puede interrumpir la carga del firmware por Bluetooth. Para evitarlo, toca periódicamente la pantalla o configura temporalmente el bloqueo automático en "Nunca" durante el proceso de carga para asegurar que el teléfono permanezca activo y la carga se complete sin interrupciones.
❌ Si la actualización falla, puedes mejorar el éxito ajustando la configuración de paquetes:
  1. ⚙️ Ve a configuración y activa "Notificación de recepción de paquetes".
  2. 🔽 Cambia "Número de paquetes" a un valor más bajo; algunos usuarios han tenido éxito con "5".

🧹 Restablecimiento de fábrica para dispositivos nRF52/RP2040

  • 💾 Meshtastic usa la biblioteca littlefs para almacenar la configuración, los registros y otros datos en la memoria flash interna de los dispositivos nRF52 y RP2040. Actualizar el firmware no borra estos datos, lo que puede causar problemas si los formatos cambian entre versiones.
  • 🌐 Puedes usar el Meshtastic Web Flasher para borrar de fábrica tus dispositivos. Selecciona tu placa y haz clic en el icono 🗑️ para borrar. Alternativamente, sigue las instrucciones a continuación.

🔵 [nrf52.cpu]

Para restablecer el almacenamiento flash en tu placa nRF52:
  1. ⬇️ Descarga y descomprime el firmware más reciente desde la página de descargas de Meshtastic.
  2. 🔌 Conecta tu dispositivo vía USB.
  3. 🔁 Haz doble clic en el botón de reinicio para entrar en modo bootloader.
  4. 💻 Se monta una nueva unidad (Windows/Mac/Linux).
  5. 📂 La unidad contiene: CURRENT.UF2, INDEX.HTM, INFO_UF2.TXT.
  6. 📝 Abre INFO_UF2.TXT y anota el valor de SoftDevice.
  7. 📥 Copia el archivo UF2 correcto de borrado de fábrica (Meshtastic_nRF52_factory_erase...) al disco. El dispositivo se reinicia.
  8. 💻 Ejecutar meshtastic --noproto en la terminal.
  9. ✅ Deberías ver: Formateando... Hecho.
Una vez borrado, instala el firmware más reciente en un sistema de archivos limpio.

🟣 RP2040

Para reiniciar el almacenamiento flash en tu placa RP2040:
  1. ⬇️ Descargar flash_nuke.uf2.
  2. 🔘 Mantén presionado BOOTSEL y conecta vía USB.
  3. 💻 La placa se monta como RPI-RP2.
  4. 📥 Copiar flash_nuke.uf2 al disco.
  5. ✅ La placa se reinicia y la memoria flash está borrada.
Después de borrar, instala el firmware más reciente en un sistema de archivos limpio.

🔄 Convirtiendo RAK4631-R a RAK4631

ℹ️ La única diferencia entre RAK4631-R (RUI3) y RAK4631 (Arduino) es el bootloader; el hardware es idéntico.
📌 Meshtastic requiere el bootloader de Arduino. La conversión es un proceso único.
Aquí hay dos métodos para flashear el bootloader:

💻 Actualización de firmware de dispositivo USB (DFU)

  1. ⬇️ Instala Python.
  2. ⬇️ Instala adafruit-nrfutil.
📦 pip3 install adafruit-nrfutil
  • 🧹 Ahora puedes usar el Meshtastic Web Flasher para borrar de fábrica tus dispositivos basados en nRF52 o RP2040. Visita el flasher, selecciona tu placa y haz clic en el icono de la papelera 🗑️ a la derecha del botón Flash. Esto abrirá un diálogo para iniciar el procedimiento de borrado. Alternativamente, puedes seguir las instrucciones a continuación.

🔵 [nrf52.cpu]

Para restablecer el almacenamiento flash en tu placa [nrf52.cpu], sigue estos pasos:
  1. ⬇️ Descarga y descomprime el firmware más reciente desde la página de descargas de Meshtastic.
  2. 🔌 Conecta tu dispositivo a tu computadora usando un cable de datos USB.
  3. 🔁 Haz doble clic en el botón de reinicio de tu dispositivo para entrar en modo bootloader.
  4. 💻 Se montará una nueva unidad en tu computadora (Windows, Mac o Linux).
  5. 📂 Abre esta unidad, y deberías ver tres archivos: CURRENT.UF2, INDEX.HTM y INFO_UF2.TXT.
  6. 📝 Abre el archivo INFO_UF2.TXT en un editor de texto y anota el valor de SoftDevice.
  7. 📥 Localiza el archivo en el firmware descargado que coincida con tu versión de SoftDevice (7.x.x o 6.x.x). Usa Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 o Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, y cópialo en la unidad. El dispositivo se reiniciará.
  8. 💻 Con el Meshtastic CLI instalado, abre Terminal/Consola e ingresa: meshtastic --noproto.
  9. ✅ Deberías ver el mensaje: Formateando... Hecho.
Una vez borrado, puedes instalar el firmware Meshtastic más reciente en un sistema de archivos limpio haciendo clic en el enlace a continuación.

🟣 RP2040

Para restablecer el almacenamiento flash en tu placa RP2040, sigue estos pasos:
  1. ⬇️ Descarga el flash_nuke.uf2 archivo a tu computadora.
  2. 🔘 Mantén presionado el botón BOOTSEL, luego conecta la placa a tu computadora usando un cable USB.
  3. 💻 La placa ahora debería aparecer como un dispositivo de almacenamiento masivo en tu computadora, etiquetado como RPI-RP2.
  4. 📥 Copia el flash_nuke.uf2 archivo a este dispositivo.
  5. ✅ La placa se reiniciará automáticamente y la memoria flash será borrada.
Después de borrar, puede instalar el firmware Meshtastic más reciente en un sistema de archivos limpio haciendo clic en el enlace a continuación.

🔄 Convirtiendo RAK4631-R a RAK4631

ℹ️ La única diferencia entre el RAK4631-R (RUI3) y el RAK4631 (Arduino) está en el bootloader; el hardware es idéntico.
📌 Meshtastic requiere el bootloader de Arduino para las placas RAK WisBlock basadas en nRF52. Este proceso de conversión solo debe realizarse una vez.
Aquí hay dos métodos para flashear el bootloader:

💻 Actualización de firmware de dispositivo USB (DFU)

  1. ⬇️ Instale Python
  2. ⬇️ Instale adafruit-nrfutil
📦 pip3 install adafruit-nrfutil

 

👉 Debe completar la primera parte de las instrucciones para convertir el RAK4631-R al RAK4631, específicamente la sección que involucra el comando AT+BOOT.

🛠 Depurador

🔧 Esta conversión requiere el uso de un DAPLink o un J-Link. La opción más económica y disponible es el RAKDAP1.
  1. ⬇️ Instale Python
  2. ⬇️ Instale pyOCD
📦 pip3 install pyocd
  1. ⬇️ Descargue el bootloader necesario: WisCore_RAK4631_Board_Bootloader.hex
  2. 🔗 Conecte el RAKDAP según las instrucciones a continuación:
  1. ⚡ Flashear el bootloader
💻 pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex
  1. ➡️ Proceda con las instrucciones de flasheo estándar.
📖 Métodos alternativos de flasheo se detallan aquí.

🔄 Actualizando o recuperando el bootloader en dispositivos nRF52

⚠️ Si tiene dificultades al actualizar o flashear versiones más nuevas del firmware Meshtastic, y su dispositivo nRF52 no está funcionando con la última versión del bootloader, actualizar el bootloader podría ayudar a resolver estos problemas.
🔎 Para verificar la versión del bootloader que tiene actualmente su dispositivo, active el modo DFU. Luego, abra la unidad montada que aparece en su computadora y revise el archivo INFO_UF2.TXT.
📌 Aquí están los pasos para actualizar su bootloader.

✅ Método 1: Actualización con el archivo UF2 (Recomendado)

📦 Dependiendo de su dispositivo, debe elegir el paquete de bootloader apropiado. A continuación están los enlaces a los paquetes de bootloader:
  1. ⬇️ Descargue el archivo UF2 Bootloader correcto.
  2. 🔌 Conecta tu dispositivo a tu computadora usando un cable USB.
  3. 🔁 Active el modo bootloader presionando rápidamente dos veces el botón RESET. Para el Seeed Tracker 1000-E, mantenga presionado el botón de usuario y luego conecte rápidamente el cable USB al puerto MagSafe dos veces. El dispositivo debería aparecer como una unidad extraíble.
  4. 📂 Arrastre y suelte el archivo UF2 que descargó en la unidad extraíble. El dispositivo actualizará automáticamente el bootloader y se reiniciará.
  5. ✅ Una vez que el dispositivo se reinicie, la actualización estará completa. Su dispositivo ahora tiene la última versión del bootloader, y puede continuar con flasheo del firmware.

⚠️ Método 2: Usando adafruit-nrfutil

⚠️ Precaución: A diferencia de las subidas UF2, adafruit-nrfutil no verifica si tienes el paquete de bootloader correcto para tu dispositivo. Flashear el bootloader incorrecto podría dejar tu dispositivo inservible. Siempre verifica el checksum SHA256 antes de continuar.
📌 Estas instrucciones asumen que Python y pip ya están instalados. Si no, descarga e instala la última versión de Python (con pip) desde Python.org.
📦 Según tu dispositivo, elige el paquete de bootloader apropiado. A continuación están los enlaces:
  1. 💻 Abre un terminal o símbolo del sistema e instala adafruit-nrfutil ejecutando el siguiente comando:
🐚 bash
📦 pip install adafruit-nrfutil
  1. ⬇️ Obtén el paquete ZIP correcto.
  2. 🔌 Conecta tu dispositivo a tu computadora usando un cable USB.
  3. 💻 En el terminal o símbolo del sistema, navega al directorio donde descargaste el paquete ZIP del bootloader y ejecuta el siguiente comando. Reemplaza /dev/ttyACM0 con el puerto correcto (los usuarios de Windows pueden usar COMx):
⚡ adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package <archivo descargado>.zip -p /dev/ttyACM0 -b 115200
  1. ✅ Una vez que el proceso esté completo, la actualización habrá finalizado. Tu dispositivo ahora está funcionando con la versión más reciente del bootloader, lo que te permite continuar con flashear el firmware.

🛠 Método 3: Usando un depurador

🔧 Si los métodos anteriores no funcionan, y tu hardware lo soporta (es decir, tiene los pines SWD necesarios), puedes usar un depurador como un DAPLink o J-Link para flashear el bootloader directamente. Por favor, consulta las Instrucciones del Depurador para un ejemplo usando el RAK4631.

🍓 Usando SWDIO para flashear con una Raspberry Pi

💡 La mayoría de los dispositivos Meshtastic pueden flashearse fácilmente usando USB. Sin embargo, algunos dispositivos (por ejemplo, Seeed WM1110 Dev Kit) requieren un dispositivo externo que pueda conectarse vía "SWDIO". Existen dispositivos especializados como el RAKDAP1 diseñados para este propósito. Muchos usuarios también encuentran que un Raspberry Pi es una opción conveniente.
📖 Este artículo ofrece instrucciones sobre cómo usar una Raspberry Pi como una herramienta de flasheo SWDIO.

🔌 Configuración del cableado

🔗 El primer paso es conectar dos cables entre tu Raspberry Pi y los puertos SWDIO en tu dispositivo basado en NRF52.
⚡ Conecta el pin GPIO 11 de tu Raspberry Pi al pin CLK del dispositivo Meshtastic, y conecta el pin GPIO 8 de tu Raspberry Pi al pin DIO del dispositivo Meshtastic.
✅ Asegúrate de verificar que los números de GPIO sean correctos.
🔋 Alimenta tu Raspberry Pi conectándola a una fuente de alimentación USB, y también alimenta el dispositivo Meshtastic.

⚙️ Instalar el software OpenOCD

💻 Puedes usar OpenOCD para manejar la conexión SWDIO con el dispositivo Meshtastic. Instálalo en tu Raspberry Pi.

🔄 $ sudo apt update

📦 $ sudo apt install libtool autoconf automake texinfo telnet gdb-multiarch git

🌐 $ git clone git://repo.or.cz/openocd.git

📂 $ cd openocd/

⚙️ $ ./bootstrap

⚙️ $ ./configure --enable-bcm2835gpio

⚡ $ make -j4

✅ $ sudo make install

🔍 Verificar conexión

Antes de trabajar con el firmware, intentemos conectar al dispositivo basado en NRF52 usando SWDIO. Toda la configuración necesaria se encuentra en el repositorio OpenOCD.
💻 $ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
ℹ️ La primera bandera designa a la Raspberry Pi como su máquina anfitriona, el transporte está configurado a SWDIO, y la bandera final indica que se está conectando a un chip basado en nRF52. Debería ver una salida similar a esta:

🖥️ Open On-Chip Debugger 0.12.0+dev-00633-gad87fbd1c

📜 Licenciado bajo GNU GPL v2

🔗 Para reportar errores, lea http://openocd.org/doc/doxygen/bugs.html

⚡ swd

ℹ️ Info : Escuchando en el puerto 6666 para conexiones tcl

ℹ️ Info : Escuchando en el puerto 4444 para conexiones telnet

ℹ️ Info : Controlador BCM2835 GPIO JTAG/SWD bitbang

⏱️ Info : velocidad de reloj 100 kHz

🔎 Info : SWD DPIDR 0x2ba01477

🧩 Info : [nrf52.cpu] Procesador Cortex-M4 r0p1 detectado

🛠️ Info : [nrf52.cpu] el objetivo tiene 6 puntos de interrupción, 4 puntos de vigilancia

✅ Info : [nrf52.cpu] Examen exitoso

⚙️ Info : [nrf52.cpu] iniciando servidor gdb en 3333

ℹ️ Info : Escuchando en el puerto 3333 para conexiones gdb

🔗 Info : aceptando conexión 'telnet' en tcp/4444

⚠️ Si encuentras el mensaje “Error connecting DP: cannot read IDR,” probablemente significa que los cables están conectados en lugares incorrectos.

⬇️ Descargar Firmware

Consulta las instrucciones de tu hardware para localizar el firmware adecuado para tu dispositivo. La mayoría de los dispositivos que siguen esta guía requieren un archivo .hex. Después de eso, copia el archivo de firmware a tu Raspberry Pi.

⚡ Flashear Firmware

Después de iniciar OpenOCD, puedes conectarte a tu dispositivo Meshtastic vía telnet. Flashear el dispositivo es sencillo; solo ejecuta algunos comandos dentro de la sesión telnet:

💻 $ telnet 127.0.0.1 4444

🔗 Intentando 127.0.0.1...

✅ Conectado a 127.0.0.1.

⎋ El carácter de escape es '^]'.

🖥️ Abrir On-Chip Debugger

⚙️ > init

⚙️ > reset init

⏸️ > halt

🧹 > nrf5 mass_erase

📥 > program firmware.hex verify

🔄 > reset

🚪 > exit 0

🔌 Desconecta la alimentación y luego vuelve a conectarla después de flashear.

📶 Establecer conexión

🎉 ¡Felicidades! Ahora deberías poder conectarte a tu dispositivo vía Bluetooth en la aplicación Meshtastic.

Barra lateral

Última publicación

Esta sección actualmente no incluye ningún contenido. Agrega contenido a esta sección usando la barra lateral.

Regístrate para nuestro boletín

Obtenga la información más reciente sobre nuestros productos y ofertas especiales.