Tutorial: Programando la Arduino Nano ESP32 con Micropython

La placa Arduino Nano ESP32 es una opción versátil y potente para tus proyectos de robótica o Internet de las cosas. Entre sus ventajas, permite ser programada tanto en el lenguaje de Arduino como en Micropython. En este artículo te mostraré paso a paso como preparar esta placa para aprovechar al máximo la potencialidad de este lenguaje.

Introducción

Si estás acostumbrado a usar el entorno de programación de Arduino y recién comienzas a dar tus primeros pasos en Micropython, notarás algunas diferencias. Al contrario del lenguaje de Arduino, que es una versión de C/C++ que se compila en la computadora y se transfiere luego como código binario a la placa, un programa en Micropython se transfiere como código fuente a la placa y recien allí es interpretado y convertido instrucción por instrucción a código binario.

Este funcionamiento de Micropython tiene sus ventajas y desventajas cuando lo comparamos con la programación en Arduino:

Ventajas👍: Es mas rápido hacer pruebas y prototipos, porque no es necesario volver a compilar el programa cada vez que hacemos una modificación.

Desventajas👎: Se requiere mas memoria en la placa, porque se almacena el programa como código fuente (texto) lo que ocupa mas lugar que un código binario y además el interprete de Micropython debe estar grabado en la placa.

Entonces, el primer paso que debes dar para comenzar a usar Micropython es cargar el interprete en la memoria de la Nano ESP32, o como se suele decir, instalar el firmware de Micropython

Instalación del firmware

Malas noticias: No hay un firmware de Micropython, sino muchos diferentes.

Micropython funciona en muchas placas con distintos micros, por lo que cada firmware debe estar adaptado a esa placa y micro en particular. Esa adaptación se denomina port. Existe por ejemplo un port para el ESP8266, otro para la Raspberry Pico y otro para el ESP32, todos diferentes.

Cuando preparas una placa para programarla en Micropython, debes ir a la página de descargas de Micropython y descargar el port apropiado (hay mas de 150).

Pero, a no desesperar! La gente de Arduino quiere hacernos la vida mas fácil, por lo que ha escrito una herramienta que simplifica enormemente el proceso. Se llama Micropython Installer y puedes descargarla desde su repositorio, según el sistema operativo que utilices en tu computadora.

Luego de descargarla, conecta la Nano ESP32 a un puerto USB, haz correr el programa y verás una ventana como la siguiente:

Asegurate que aparezca tu placa donde dice “Detected boards” (placas detectadas). Si no es así, desconectala y vuelve a conectarla.

Con el programa funcionando y la placa detectada, lo que sigue es poner la placa en modo BOOT, es decir, en modo programación. Para ello debes realizar la siguiente secuencia:

  • Unir con un cable los pines B1 y GND (Están uno al lado del otro). El led RGB se pone Verde.
  • Apretar el botón Reset de la placa y soltar
  • Sacar el cable de unión. El led RGB ahora prende con un color entre rosa y violeta

Si no hubo inconvenientes, la Nano ESP32 está lista para recibir el firmware.

Vuelve ahora al Micropython Installer y pulsa Install Micropython

El instalador se ocupará de buscar el firmware apropiado, descargarlo e instalarlo automágicamente 😊 Luego de mas o menos un minuto, y si no hubo inconvenientes, verás este cartel:

Si recibes algún mensaje de error, te recomiendo que repitas el proceso 🤷‍♂️

Listo! El firmware ya está copiado y, como dice el cartel, sólo resta pulsar nuevamente el botón RESET (sin el cable entre B1 y GND) para que Micropython comience a funcionar.

Alguna información adicional sobre Micropython Installer:

  • Si marcas la opción Use Nightly Builds, el programa descargará una versión del firmware “inestable”, que no ha sido muy probada y que puede contener errores (No te lo recomiendo).
  • La región inferior de la ventana donde dice Drag & drop custom firmware here o choose file te permite seleccionar el archivo de un firmware que tengas ya descargado en tu computadora en vez de descargarlo desde el sitio de Micropython.

Con la placa ya preparada lo que sigue es elegir un Entorno de Programación

Entornos de programación

Un Entorno de Programación es un software que funciona en la computadora y te permite escribir el programa en Micropython con algunas ayudas como coloreo de sintaxis por ejemplo, transferirlo a la placa, hacerlo funcionar y recibir datos desde la placa, entre otras cosas.

Todos los entornos de programación de Micropython funcionan con la Nano ESP32, porque ya funcionaban desde antes con otras placas basadas en ese chip. Entre los mas conocidos están:

Para continuar en la línea de Arduino, te muestro como usar el último, que es bastante nuevo y está en las primeras etapas de desarrollo.

Arduino Lab for Micropython

Esta herramienta de programación es muy nueva (del 2022) y demuestra el apoyo que está brindando Arduino a Micropython. Puedes descargarla desde su página y luego descomprimir el archivo descargado en tu computadora (no se instala).

El ejecutable tiene el mismo nombre (Arduino Lab for Micropython) y al correr tiene el siguiente aspecto:

Pulsa Connect, elige el puerto USB de la placa y después de un par de segundos se completará la conexión. Pulsa Run y podrás ver el programa de ejemplo corriendo en tu Nano ESP32.

Ya esta todo listo. Bienvenido al mundo de Micropython!

Conclusiones

En este artículo te mostré el paso a paso para preparar tu placa Arduino Nano ESP32 para que puedas comenzar a programarla en Micropython. Vimos como instalar el firmware empleando el programa Micropython Installer y como escribir código usando el editor Arduino Lab for Micropython.

Espero haberte sido de ayuda para que des tus primeros pasos en el fascinante mundo de Micropython!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias