Micropython ¿El futuro de Arduino?

En el apasionante mundo de la programación, dos titanes se unen en una simbiosis única: Micropython y Arduino. Mientras Micropython avanza rápidamente en su camino hacia la popularidad, Arduino no se queda atrás, sumando placas compatibles y desarrollando su propio editor para este lenguaje cada vez más querido por sus usuarios. Sigue leyendo para explorar el emocionante futuro de estas dos poderosas herramientas y las infinitas posibilidades que ofrecen juntas.

Los inicios

En sus inicios, Micropython podía ser utilizado exclusivamente en la PyBoard, una placa basada en el chip STM32F4. Sin embargo, con el pasar de los años, ha evolucionado y se ha adaptado a múltiples plataformas. Ahora, podemos encontrar ports o adaptaciones para una amplia gama de microcontroladores, como los ESP8266 y ESP32, así como diversas variaciones de chips ARM, incluyendo el RP2040 de Raspberry.

Fig. 1. La pyboard (Fuente: Micropython store)

No todos los microcontroladores pueden correr Micropython, ya que se requiere una cantidad mínima de memoria Flash y RAM. Por ejemplo, las placas clásicas de Arduino, como la UNO o el Nano tradicional basados en Atmel no cumplen con los requisitos mínimos. Pueden correr Snek, una versión muy recortada de Python (como te mostré en otro artículo) pero su capacidad está lejos de la potencia de Micropython.

Sin embargo, Arduino ha incluido placas con procesadores mas potentes y mayor cantidad de memoria, compatibles con Micropython en su creciente oferta. Ya sea en la familia Nano o en la gama profesional con la Nicla Vision y Portenta H7, Arduino ha abierto las puertas a aquellos que deseen explorar las posibilidades que ofrece Micropython.

Micropython y Arduino

En los últimos años, Arduino ha diversificado notablemente su oferta, incluyendo distintas líneas o familias de placas que emplean una diversidad de plataformas de hardware, como el RP2040 de Raspberry, SAM D de Microchip, o nRF de Nordic. Algunas de estas placas tienen suficientes recursos como para ser compatibles con Micropython. En la actualidad, podemos encontrar las siguientes:

  • Dentro de la familia Nano tenemos 3 placas: la BLE sense, con un procesador nRF52840 de Nordic, la RP2040 Connect, con el procesador RP2040 de Raspberry y la ESP32 que incluye un ESP32-S3 de Espressif.
  • En lo que es familia Mega tenemos la placa Giga R1, con su potente STM32H747XI de ST Microelectronics que incluye dos núcleos ARM Cortex.
  • En la gama profesional, podemos correr Micropython en Nicla Vision y Portenta H7.
  • La nueva UNO R4 (Minima o Wifi) que tiene a bordo una CPU R4M1 de Renesas en teoría debería correr el firmware de Micropython, aunque un poco ajustado debido a que cuenta con sólo 256 kB de Flash y 32 kB de RAM.

Este año, Arduino ha dado un gran paso al presentar la Nano ESP32, impulsada por el potente ESP32-S3 de Espressif y respaldada por un entorno de desarrollo propio, el Arduino Lab for Micropython y una amplia documentación en línea, incluyendo un curso completo de Micropython.

Fig. Arduino Nano ESP32

Es evidente que Arduino reconoce el valor de Micropython como un lenguaje de programación intuitivo y fácil de aprender, y su apoyo continuo en futuras placas asegura un futuro prometedor para esta poderosa combinación.

Fig. 3. Arduino Lab para Micropython

Conclusiones

Con Micropython, los usuarios pueden aprovechar todas las ventajas de Python, como su legibilidad y simplicidad, para programar sus placas Arduino de forma más eficiente y efectiva. Además, al tratarse de un lenguaje interpretado, los tiempos de compilación son significativamente más rápidos, lo que agiliza el proceso de desarrollo.

Si bien Arduino seguramente seguirá manteniendo su modelo de programación basado en C/C++, especialmente para aplicaciones que requieren alta eficiencia, la incorporación de CPUs más potentes y una mayor capacidad de memoria en las nuevas placas brinda una oportunidad única para aprovechar lo mejor de dos mundos. Ya sea programando en Micropython o en el lenguaje tradicional de Arduino, los usuarios pueden sacar el máximo provecho de estas plataformas versátiles y abrirse a un abanico infinito de posibilidades.

En resumen, la inclusión de la compatibilidad con Micropython en algunas placas Arduino ha ampliado las opciones y posibilidades para los entusiastas de la programación y la electrónica. Ahora es más fácil y accesible desarrollar proyectos con Arduino utilizando un lenguaje más poderoso y versátil como Python. ¿Tienes alguna idea en mente para poner en práctica esta combinación?

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