Borrado de memoria flash en ESP32 con ESPTool para reinicio de fábrica
Realizar un restablecimiento de fábrica puede ser la solución definitiva para una variedad de problemas que puedas enfrentar con tu ESP32. Ya sea que necesites eliminar cambios no deseados en el firmware, resolver constantes bloqueos del sistema, o simplemente limpiar datos innecesarios, un reinicio completo es una opción práctica y efectiva. En este artículo, te guiaremos a través de un proceso detallado para borrar la memoria flash de tu ESP32 utilizando ESPTool, una herramienta esencial para cualquier desarrollador o entusiasta que trabaje con estos chips.
ESPTool es una utilidad versátil diseñada para interactuar con los chips de Espressif Systems, tales como el ESP32 y el ESP8266. Su uso es básico pero fundamental, ya que permite tanto el desarrollo como la resolución de problemas en tus proyectos. Esta herramienta se ejecuta generalmente desde la línea de comandos de tu computadora, lo que significa que necesitarás conectar tu ESP32 a tu PC mediante un cable USB y utilizar comandos específicos para comunicarte con él. Dado que está escrito en Python, ESPTool es compatible con múltiples sistemas operativos, incluidos Windows, macOS y Linux.
Funciones principales de ESPTool
Antes de comenzar con el proceso de borrado, es útil conocer las principales capacidades de ESPTool. A continuación, se presentan algunas de sus funcionalidades más destacadas:
- Flasheo de firmware: Permite cargar código compilado en la memoria flash de tu ESP32, lo que te permite ejecutar tus programas personalizados.
- Borrado de flash: Puedes eliminar completamente la memoria flash, reiniciando el ESP32 a su estado de fábrica.
- Lectura de flash: Puedes leer el contenido de la memoria flash, útil para depuración o respaldo.
- Interacción con el bootloader: Se comunica con el bootloader del ESP32, el cual permite subir nuevo código o realizar otras acciones.
Otras características importantes incluyen:
- Monitoreo de salida serial: Permite observar la salida de datos de tu ESP32, lo cual es útil para ver mensajes de depuración.
- Configuración del chip: Ofrece comandos para leer y modificar diversas configuraciones del chip.
- Funciones de seguridad: Facilita la lectura y escritura de claves de arranque seguro.
Ahora que conocemos las capacidades de ESPTool, vamos a proceder con el proceso de borrado de la memoria flash de tu ESP32.
Instalación de Python
Para utilizar ESPTool, es necesario que tengas Python instalado en tu sistema. Asegúrate de descargar una versión de Python 3.7 o superior. Si estás en Windows, puedes encontrar el instalador en el sitio web oficial de Python.
Una vez que inicies el instalador, sigue las instrucciones del asistente de instalación. Es importante que marques la opción “Añadir python.exe a la ruta” para facilitar su uso desde la línea de comandos.
Después de instalar Python, el siguiente paso es instalar la última versión estable de ESPTool a través de pip, el gestor de paquetes de Python. Abre una ventana de terminal y ejecuta el siguiente comando:
pip install esptool
Si te encuentras con algún error, prueba con estas alternativas:
pip3 install esptool
python -m pip install esptool
pip2 install esptool
Además, ESPTool requiere el paquete “setuptools”, que no siempre viene incluido de forma predeterminada. Si falta, instálalo usando:
pip install setuptools
Una vez instalado correctamente, puedes verificar que ESPTool esté disponible ejecutando:
esptool.py --help
Si todo está correcto, deberías ver un mensaje que confirme la versión y la información básica de uso de ESPTool.
Conecta tu ESP32
El siguiente paso es conectar tu placa ESP32 a tu computadora mediante un cable USB.
Para identificar el puerto COM al que está conectado tu ESP32, sigue estas instrucciones según tu sistema operativo:
Usuarios de Windows: Abre el Administrador de dispositivos y expande la sección “Puertos (COM y LPT)”. Busca un dispositivo etiquetado como “Silicon Labs CP210x USB to UART Bridge” o similar. El número de puerto COM asociado (como COM3) es el que necesitarás.
Usuarios de macOS/Linux: Abre tu terminal y ejecuta el comando ls /dev/tty.*
. Esto mostrará todos los dispositivos seriales conectados, y tu ESP32 debería aparecer como /dev/tty.SLAB_USBtoUART
o un nombre similar.
Borrado de la memoria flash
Ahora, abre una ventana de terminal en tu computadora y mantén presionado el botón BOOT en tu ESP32. Mientras mantienes presionado el botón, copia y pega el siguiente comando en tu terminal, reemplazando COMx
con el puerto COM real de tu ESP32:
python -m esptool --port COMx erase_flash
Como alternativa, puedes utilizar este comando que especifica el tipo de chip del ESP32:
python -m esptool --chip esp32 erase_flash
Después de pegar uno de estos comandos en tu terminal, presiona Enter. Cuando veas que el proceso de “Borrado” comienza en tu terminal, puedes soltar el botón BOOT. En unos segundos, la memoria flash de tu ESP32 se borrará completamente.
Si tras el mensaje de “Conectando…” observas un flujo continuo de puntos, significa que tu ESP32 no ha entrado en modo de flasheo. En este caso, repite el proceso asegurándote de mantener presionado el botón BOOT al ejecutar el comando, para garantizar que tu ESP32 acceda a este modo y complete con éxito el proceso de borrado.
Verificación y resolución de problemas
Una vez que la memoria flash ha sido borrada, puedes confirmar que el ESP32 está funcionando correctamente subiendo un programa simple, como el programa Blink.
Si encuentras problemas, considera estos consejos de resolución:
- Problemas de drivers: Asegúrate de que los drivers USB a serie necesarios para tu ESP32 estén instalados correctamente.
- Selección de puerto correcta: Verifica que has seleccionado el puerto COM adecuado.
- Repetir el proceso de borrado: Si el primer intento falla, vuelve a intentar el comando de borrado.
- Error de permisos: Intenta ejecutar el símbolo del sistema o terminal como administrador (o usa sudo en Linux) para resolver problemas relacionados con permisos.
Deja una respuesta
Estos temas te pueden interesar