El ESP32 es un SoC (System on Chip) diseñado por la empresa Espressif y fue diseñado para impulsar el desarrollo de aplicaciones dedicadas a IoT, el módulo cuenta con un procesador Tensilica Xtensa de doble núcleo de 32bits a 160Mhz aunque la frecuencia se puede aumentar hasta 240Mhz, también cuenta con conectividad Bluetooth 4.0, WiFi, convertidores ADC y DAC (Según el modelo) e incluye algunas interfaces como SPI, I2C, One Wire, etc.
El ESP32 es un dispositivo muy versátil ya que trabaja con diferentes firmware, frameworks, plataformas y entornos de desarrollo, por ejemplo:
- ESP Easy
- ESP-IDF (Framework oficial desarrollado por Espressif)
- MicroPython
- Zerynth
- Espruino
- Etc.
Para este tutorial utilizaremos MicroPython como ejemplo pero el procedimiento es el mismo para instalar cualquier firmare mencionado anteriormente.
Conexión con Avanxe 7.
Para programar el ESP32 con cualquier framework es necesario hacer un puente entre el FTDI y el ESP a través del FPGA, también se requieren de 2 switches (o push-button) que controlarán el habilitador (EN) y el boot del ESP, ambos activos en bajo. La conexión se realiza como lo muestra el siguiente esquema:
La siguiente tabla muestra la conexión de los puertos con los pines del FPGA:
Instalar MicroPython en ESP32
Algunos Firmware ya cuentan con sus propios IDE que permiten ser instalados de manera sencilla, en el caso de MicroPython se pueden utilizar herramientas como la terminal de Linux o aplicaciones como uPyCraft.
(Descarga la versión correspondiente a tu sistema operativo)
Dirígete a la página de MicroPython y en Downloads busca el firmware (bin) para el ESP32.
Para poner al dispositivo en modo boot hay que seguir los siguientes pasos:
- Activar el boot (activo en bajo) y mantenerlo hasta que el IDE reconozca tanto el puerto COM como el ESP32
- Aplicar reset con el botón conectado a EN.
Ya que se encuentre en modo boot podemos instalar el firmware. Nos dirigimos a uPyCraft y abrimos el puerto serial, seleccionamos el puerto COM que le haya asignado el ordenador a la tarjeta (siempre es el puerto COM con el número más grande).
Al no encontrar el firmware automáticamente se nos abrirá una ventana preguntando si deseamos instalar uno. En board seleccionamos esp32, en burn_addr seleccionamos 0x1000 y en firmware Choose seleccionamos Users y damos clic en choose para cargar el .bin de MycroPython.
Una vez seleccionado el firmware damos clic en OK y empezará el proceso de flasheado.
Para arrancar el firmware ya instalado se debe aplicar reset con el boot desactivado y volver a abrir el puerto COM en uPyCraft. Si todo salió bien nos aparecerá el símbolo “>>” en la consola de uPyCraft indicando que ya se está ejecutando MycroPython y está a la espera de comandos.