Flasheo de Dispositivos ESP32
Usando el Flasher Web de Meshtastic
Flashear dispositivo
-
Conecta tu dispositivo
-
Visita flasher.meshtastic.org *requiere navegador Chrome o Edge
-
Sigue las instrucciones

Conectar y Configurar el Dispositivo
Flasheo de Firmware vía CLI
Verificación de Conectividad
-
Usa firmware-tbeam0.7-X.X.X.xxxxxxx.bin para el T-Beam 0.7.
-
firmware-tbeam-X.X.X.xxxxxxx.bin es incompatible.
Instrucciones de la interfaz de línea de comandos
Instalar software previo
Linux
python3 --version pip3 --version
|
sudo apt-get update sudo apt-get install python3
|
sudo apt-get install python3-pip
|
pip3 install --upgrade esptool
|
MacOS
brew -v
|
python3 --version pip3 --version
|
brew install python3
|
pip3 -v
|
pip3 install --upgrade esptool
|
Windows
-
Descargue e instale Python. Durante el proceso de instalación, asegúrese de seleccionar la opción para Agregar Python X.Y al PATH.
-
Descargue e instale Git Bash (u otra shell adecuada), y ejecute todos los comandos posteriores desde esa shell.
py --version pip --version
|
pip3 install --upgrade esptool
|
Verificar la conectividad con el Chip
-
En Linux y macOS, es posible que necesite 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.
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 duro 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:
-
Descargar Stable: Para versiones estables y bien probadas.
-
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 normalmente está en tu ~/Downloads carpeta.
Accede al Directorio del Firmware
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
|
Instalar o Actualizar Firmware
Por favor, ten en cuenta antes de comenzar:
Linux y macOS
./device-install.sh -f firmware-BOARD-VERSION.bin
|
./device-update.sh -f firmware-BOARD-VERSION-update.bin
|
Windows
device-install.bat -f firmware-BOARD-VERSION.bin
|
device-update.bat -f firmware-BOARD-VERSION-update.bin
|
Conectar y Configurar el Dispositivo
Flasheo con un Adaptador Serial Externo
Proceso de Flasheo
-
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 USB a Serial

Conectando el Adaptador al Dispositivo
-
Conecte el pin RX del adaptador al pin TX del dispositivo.
-
Conecte el pin TX del adaptador al pin RX del dispositivo.
-
Conecte un pin GND del adaptador al pin GND del dispositivo.
-
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.
-
Conecte GPIO 0 a GND en el dispositivo con un jumper. (Esto pondrá el dispositivo en modo de flash al encenderlo.) Ejemplo de cableado con un T-Beam.

-
Conecte el dispositivo a un puerto USB de la computadora.
-
Retire el jumper que conecta GPIO 0 con GND.

Flasheando el Dispositivo

Solución de problemas en el proceso de flasheo
Conectar y Configurar el Dispositivo
Flasheando 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 por arrastrar y soltar para instalar versiones de firmware. Simplemente arrastra el archivo de firmware al dispositivo en tu 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 un 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.
-
Conversión de RAK4631-R a RAK4631: Si tu dispositivo no viene con el bootloader de Arduino, necesitarás realizar una conversión para asegurar la compatibilidad.
-
Uso de 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 SWDIO directa con una Raspberry Pi como herramienta de flasheo.
Actualizaciones de firmware por arrastrar y soltar para nRF52 & RP2040
Flashear dispositivo
-
Ahora puedes utilizar el Meshtastic Web Flasher para descargar y transferir firmware a tus dispositivos basados en nRF52 or RP2040. Alternativamente, puedes seguir las instrucciones a continuación para descargar e instalar el firmware.
-
Si recientemente completaste un Factory Erase, tu dispositivo podría arrancar automáticamente en modo bootloader. Entonces puedes proceder directamente a "Copia el archivo de firmware apropiado..." para tu dispositivo específico a continuación:
nRF52
-
Descarga y descomprime el firmware más reciente desde las Meshtastic Downloads.
-
Conecta tu dispositivo a tu computadora usando un cable de datos USB.
-
Presiona el botón de reinicio en tu dispositivo dos veces (esto entrará en modo bootloader).
-
Se montará una nueva unidad en tu computadora (compatible con Windows, Mac, Linux o Android).
-
Abre esta unidad, donde deberías encontrar tres archivos: CURRENT.UF2, INDEX.HTM, y INFO_UF2.TXT.
-
Copia el archivo de firmware apropiado (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) desde la carpeta de lanzamiento a esta unidad.
-
Después de que el archivo termine de copiarse, el dispositivo se reiniciará y instalará el firmware de Meshtastic.
RP2040
-
Descarga y descomprime el firmware más reciente desde las Meshtastic Downloads.
-
Presiona y mantén presionado el botón BOOTSEL, luego conecta el dispositivo a tu computadora usando un cable USB.
-
Se montará una nueva unidad en tu computadora (compatible con Windows, Mac, Linux o Android).
-
Abre esta unidad, donde deberías encontrar dos archivos: INDEX.HTM y INFO_UF2.TXT.
-
Copia el archivo de firmware apropiado (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) desde la carpeta de lanzamiento a esta unidad.
-
Después de que el archivo haya terminado de copiarse, el dispositivo se reiniciará y instalará el firmware de Meshtastic.
Posibles casos límite al flashear
-
Las versiones más antiguas del Meshtastic firmware pueden conservar datos obsoletos, lo que puede causar que los dispositivos queden atrapados en un bucle de fallos durante el arranque. Si encuentra problemas al actualizar su dispositivo nRF52 desde una versión anterior de Meshtastic, puede que necesite realizar un restablecimiento completo de fábrica de la memoria flash interna. Por favor, siga la guía para borrar de fábrica su dispositivo nRF52 antes de proceder a flashear el firmware.
Conectar y Configurar el Dispositivo
Actualizaciones de Firmware Over-the-Air (OTA) para nRF52
Android
-
Descarga la versión del firmware que deseas instalar desde la Meshtastic Download Page o Meshtastic GitHub.
-
Descomprime la carpeta del firmware.
-
Abre la nRF Connect App y selecciona CONECTAR en tu dispositivo desde la pestaña ESCÁNER.
-
Si la interfaz muestra DESCONECTAR en la esquina superior derecha, procede al paso 5. Si dice CONECTAR, selecciona CONECTAR.
-
Toca el icono DFU en la esquina superior derecha de la pantalla.
-
Verifica que esté seleccionado "Paquete de Distribución (ZIP)", luego selecciona OK.
-
Elige el archivo de firmware del dispositivo apropiado (que terminará en -ota.zip).
-
La actualización comenzará automáticamente (ten en cuenta que este proceso puede ser lento).
-
Una vez que la actualización se complete, el dispositivo se reiniciará automáticamente.
Apple
-
Descarga la versión del firmware que deseas instalar desde la Meshtastic Download Page, Meshtastic GitHub, o directamente a través de la app iOS/iPadOS.
-
Descomprime la carpeta del firmware.
-
Abre la nRF DFU App y selecciona el archivo de firmware del dispositivo correcto (que termina en -ota.zip).
-
Conéctate a tu dispositivo.
-
Carga el firmware.
-
Ve a configuración y activa "Notificación de Recepción de Paquetes."
-
Cambie "Número de paquetes" a un valor más bajo; algunos usuarios han tenido éxito con una configuración de "5".
Restablecimiento de fábrica para dispositivos nRF52/RP2040
-
Meshtastic utiliza la biblioteca littlefs para almacenar la configuración, los registros y otros datos en la memoria flash interna de los dispositivos nRF52 y RP2040. Es importante notar que actualizar el firmware no borra estos datos adicionales, lo que puede causar problemas si el formato y la ubicación de los datos cambian entre versiones.
-
Ahora puede usar el Meshtastic Web Flasher para borrar de fábrica sus dispositivos basados en nRF52 o RP2040. Visite el flasher, seleccione su placa y haga 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, puede seguir las instrucciones a continuación.
nRF52
-
Descargue y descomprima el firmware más reciente desde la Página de descargas de Meshtastic.
-
Conecte su dispositivo a su computadora usando un cable de datos USB.
-
Haga doble clic en el botón de reinicio de su dispositivo para entrar en modo bootloader.
-
Se montará una nueva unidad en su computadora (esto aplica para Windows, Mac o Linux).
-
Abra esta unidad, y debería ver tres archivos: CURRENT.UF2, INDEX.HTM, y INFO_UF2.TXT.
-
Abra el INFO_UF2.TXT archivo en un editor de texto y anote el SoftDevice valor.
-
Localice el archivo incluido en el firmware descargado que coincida con el número de versión principal de su SoftDevice (ya sea 7.x.x o 6.x.x). Use cualquiera de 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 nueva unidad. El dispositivo debería reiniciarse entonces.
-
Con el Meshtastic CLI instalado, abre tu Terminal o Consola y escribe el comando: meshtastic --noproto.
-
Deberías ver el mensaje: Formateando... Hecho.
RP2040
-
Descargar el flash_nuke.uf2 archivo a tu computadora.
-
Presiona y mantén presionado el botón BOOTSEL, luego conecta la placa a tu computadora usando un cable USB.
-
La placa ahora debería aparecer como un dispositivo de almacenamiento masivo en tu computadora, etiquetado como RPI-RP2.
-
Copia el archivo flash_nuke.uf2 a este dispositivo.
-
La placa se reiniciará automáticamente y la memoria flash será borrada.
Convirtiendo RAK4631-R a RAK4631
Actualización de firmware del dispositivo USB (DFU)
-
Instale Python
-
Instale adafruit-nrfutil
pip3 install adafruit-nrfutil
|
-
Descargue el bootloader necesario: WisCore_RAK4631_Board_Bootloader.zip.
-
Conecte su dispositivo RAK a su computadora vía USB.
-
Flashee el bootloader.
adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
|
-
Después de eso, continúe con las instrucciones de flasheo regulares.
Pasos adicionales para RUI3
Puerto serial COM11 tocado Puerto serial COM11 abierto Iniciando actualización DFU de tipo 2, tamaño SoftDevice: 0, tamaño del bootloader: 39000, tamaño de la aplicación: 0 Enviando paquete de inicio DFU Tiempo de espera agotado esperando el acuse de recibo del dispositivo. Error al actualizar el objetivo. El error es: No se recibieron datos en el puerto serial. No se puede continuar.
|
Depurador
pip3 install pyocd
|
-
Descargue el bootloader necesario: WisCore_RAK4631_Board_Bootloader.hex.
-
Conecte el RAKDAP según las instrucciones a continuación:

-
Flashear el bootloader
pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex |
-
Proceda con las instrucciones estándar de flasheo.
Actualización o recuperación del bootloader en dispositivos nRF52
Método 1: Actualización con el archivo UF2 (Recomendado)
-
Descargue el archivo UF2 Bootloader correcto.
-
Conecta tu dispositivo a tu computadora usando un cable USB.
-
Active el modo bootloader presionando rápidamente dos veces el botón RESET en su dispositivo. Para el Seeed Tracker 1000-E, mantenga presionado el botón de usuario, luego conecte rápidamente el cable USB al puerto MagSafe dos veces. El dispositivo debería aparecer como una unidad extraíble en su computadora.
-
Arrastre y suelte el archivo UF2 que descargó en la unidad extraíble. El dispositivo actualizará automáticamente el bootloader y se reiniciará.
-
Una vez que el dispositivo se reinicie, la actualización estará completa. Su dispositivo ahora está funcionando con la última versión del bootloader, y puede proceder con flashear el firmware.
Método 2: Usando adafruit-nrfutil
-
Lilygo T-Echo SHA256: 85d8a334bbf82802d712e183f29ec5215f06786ca88914687c437aceab75d9cf
-
RAK4631 SHA256: 4a216ad2be8be23b80371a11753677c850c5711d3b85129390a416fc47ea0910
-
Seeed Tracker 1000-E SHA256: 8c69f0d43a7aac925055451d7262682d6926d4cfb7ea8240b466dc8f16a692ba
-
Generic Meshtastic 6.1.1 for DIY SHA256: ecebecea849ab79d09517dd4f6ff98de5647fe275b0b4d525501e6c29cb5a586
-
Generic Meshtastic 7.3.0 for DIY SHA256: 9a38edf4e974a6f705c41b296499a4fc57682ec9bb686eecd9f3d8d02fc6ffcf
-
Abre un terminal o símbolo del sistema e instala adafruit-nrfutil ejecutando el siguiente comando:
pip install adafruit-nrfutil |
-
Obtén el paquete ZIP correcto.
-
Conecta tu dispositivo a tu computadora usando un cable USB.
-
En el terminal o símbolo del sistema, navega al directorio donde descargaste el paquete ZIP del bootloader, y ejecuta el siguiente comando. Asegúrate de reemplazar /dev/ttyACM0 con el puerto correcto para tu dispositivo (los usuarios de Windows pueden usar COMx):
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package
|
-
Una vez que el proceso esté completo, la actualización habrá finalizado. Tu dispositivo ahora está funcionando con la última versión del bootloader, lo que te permite continuar con flashear el firmware.
Método 3: Usando un Depurador
Uso de SWDIO para flashear con una Raspberry Pi
Configuración del cableado
Instalar software OpenOCD
$ 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
$ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
|
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 srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst swd Info : Escuchando en el puerto 6666 para conexiones tcl Info : Escuchando en el puerto 4444 para conexiones telnet Info : BCM2835 GPIO JTAG/SWD bitbang driver 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] starting gdb server on 3333 Info : Listening on port 3333 for gdb connections Info : accepting 'telnet' connection on tcp/4444
|
Descargar Firmware
Flashear firmware
$ 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
|
Establecer conexión