Skip to main content

Modo Bootloader

¿Qué es eso del Boodloader? Es un pequeño programa que esta en el microcontrolador (Arduino, ESP32, etc...) que permite que arranque la placa y espere las instrucciones del programa del usuario, digamos que es como un "pequeño sistema operativo de arranque" por ejemplo en el Arduino, se ejecuta en un poco de tiempo cuando arranca la placa o se resetea, y espera el programa IDE por el puerto USB, si llega (él comprueba que es un IDE y no otra cosa) lo almacena en un sitio de la memoria Flash y lo ejecuta, sino, pues ejecuta el que ya esta cargado. El bootloader hace que parpadee el led 13 de un Arduino UNO y se reserva un trozo de memoria para el Bootloader (en el Arduino UNO ocupa sólo 0.5K de los 32K que tiene disponibles el micro para ello). En nuestro caso el ESP32 Nano Arduino igual pero cuando cargamos el micropython nos cargamos ese bootloader por otro que tiene el compilador microPython. Lo de "quemar" o "flashear" el bootlader nos lo podemos encontrar en los cursos de Aularagón en el Zigbee de domótica con Raspberry, o a la hora de quemar el Nano Arduino como Arduino UNO en el curso de mClon

Problema

Cuando instalamos Micropython desde un ESP32 ya formateado con Arduino IDE o al revés hay problemas

2024-07-11 20_01_25-Microsoft PowerPoint - [Presentación1].png

Mensajes que aparecen :

  • En Arduino IDE :
    • No DFU capable USB device available Failed uploading: uploading error: exit status 74
    • A serial exception error occurred: Cannot configure port, something went wrong. Original message: PermissionError (13, 'A device attached to the system is not functioning.', None, 31)
  • En MicroPython Installer : Se queda enganchado sin instalar
  • En Arduino Cloud : No detecta

Solución: Resetear el Arduino Bootloader en el Nano ESP32

Al poner el ESP32 en modo Bootloader, se tiene que poner el led en color PURPURA

¿Poner la placa en modo Bootloader?

Aquí te exponemos varios métodos, por nuestra experiencia el método 3 es el que funciona

METODO 1 DOS CLIKS EN RESET

Haz dos cliks rápidos en el botón del ESP32 :2024-07-04 11_50_10-(1) dfu-util_ No DFU capable USB device available [Solved] - YouTube.png
Extraído del vídeo Cómo solucionar el error dfu-util: No DFU capable USB device available Failed uploading: uploading error: exist status 74

METODO 2 CORTOCIRCUITAR GND Y B1

Otra alternativa para ponerlo en modo bootloader es unir los pines GND con B1 (y se enciende el led RGB en verde, el porqué se pone en verde en Parpadeo led

2024-07-11 20_11_20-Exploring the Arduino Nano ESP32 _ MicroPython & IoT Cloud - YouTube.png

Fuente  vídeo Exploring the Arduino Nano ESP32 | MicroPython & IoT en el 25:12

Yo lo hago con un destornillador y toco las dos puntas, con cuidado de no tocar nada más.

Curiosidad: ¿Por qué al poner la placa en modo Bootloader o cada vez que enciendo Arduino Alvik se enciende y se apaga el led RGB de al lado con los colores Rojo y Verde? Solución en Parpadeo led

METODO 3 RESETEO BOOTLOADER

Tal y como dice en esta página :

  1. Hacer método 2 cortocircuitar B1 y GND
  2. Mientras esta cortocircuitado PULSA EL BOTÓN RESET
  3. Se queda el led en color púrpura,
    1.  si vas a instalar MicroPython, instalalo y sáltate los siguientes pasos
    2. Si vas a instalar Arduino IDE o trabajar con Arduino Cloud contínua :
  4. Abrir el programa ARDUINO IDE (cerrar otros, como el Arduino create agent que se queda en segundo plano abajo a la derecha , el MicroPython Installer....)
  5. Asegurarse que esta instalado la placa Arduino ESP32 correctamente al menos la versión 2.013 (ir a Tools-Boards-BoardManager) si hay una versión anterior, desinstalar el que hay (remove) e instalarlo de nuevo.
  6. Ir a Tools-Port y seleccionar el puerto 
  7. Ir a Tools > Board - Arduino ESP32 Boards > Arduino Nano ESP32 (o esp32 > Arduino Nano ESP32 )
  8. Poner Tools-> Programmer- seleccionar ESPTOOL
  9. Sketch > Upload Using Programmer 
  10. Cuando salga este mensaje pasar al paso 11

    Leaving...
    Hard resetting via RTS pin...
  11. Apretar el botón RESET y ya puedes o ejecutar un programa en Arduino IDE o instalar MicroPython

Capturas de pantalla :

Paso 4: Cerrar Arduino create agent
image.png

Paso 5

2024-07-11 20_23_19-Configuración.png

Pasos 6 - 7 - 8
2024-07-11 20_22_12-.png

Paso 9
2024-07-11 20_27_00-.png