¿Por qué aprender MicroPython te asegura un mejor futuro como programador?

Con la creciente popularidad de la tarjeta Raspberry Pi Pico, el uso del lenguaje MicroPython se ha vuelto una necesidad, ya que es más accesible programarla usando Thonny. En esta entrada queremos revisar algunas de las razones por las que recomendamos que profundices tu aprendizaje en este lenguaje de programación y las futuras ventajas que puedes obtener de ello.

Guía oficial de la fundación Raspberry Pi para programar en MicroPython. Vía: Raspberry Pi

Un poco de historia

MicroPython fue desarrollado como un proyecto en Kickstarter por el físico Australiano Damien George, junto con la tarjeta PyBoard. El proyecto comenzó el 30 de Abril del 2013 y un mes después fue financiado por completo. En el 2015 la European Space Agency se interesa por su desarrollo para implementarlo en sus investigaciones espaciales, por lo que decide financiarlo y en 2015 la BBC lanza el micro:bit que emplea también este lenguaje. En 2016 lo adopta la tarjeta de desarrollo basada en ESP2866 y en 2017 Adafruit hace un fork del mismo llamado CircuitPython. Desde entonces han aparecido numerosos forks del mismo proyecto principal.

MicroPython cumple 8 años desde su creación. Vía: @micropython

¿Qué es MicroPython?

MicroPython es una reimplementación del lenguaje de programación Python 3.4 orientado a microcontroladores. La motivación es que al usar un lenguaje de scripting el desarrollo se volviese más rápido. El reto de esta implementación recae en que se encuentra en un entorno muy restringido en cuanto a memoria ROM y RAM. La elección de Python es que es muy sencillo de aprender, tiene una comunidad muy grande a su alrededor, es un lenguaje de alto nivel con características muy interesantes y es el tercer lenguaje más amado de StackOverflow.

Curva de aprendizaje para Python, comparada con otros lenguajes de programación. En 3 meses uno puede adquirir un buen conjunto de habilidades, que por ejemplo en C o C++ toman más tiempo adquirir. Vía: Dev.to

Tarjetas que emplean MicroPython

Las principales características de los dispositivos que pueden usar MicroPython es que tienen microcontroladores que pueden soportar frecuencias de reloj por encima de los 20MHz e incorporan memoria Flash, SRAM y EEPROM de un tamaño considerable. Por mencionar algunos ejemplos, estas tarjetas pueden programarse con MicroPython:

  • Raspberry Pi Pico
  • PyBoard
  • BBC micro:bit
  • Tarjetas basadas en el ESP8266
  • Tarjetas basadas en el ESP32
  • WIO Terminal de Seeedstudio
  • CircuitPlayground de Adafruit
  • Dispositivos PyCom
  • Dispositivos TTGO
  • Cámara OpenMV
  • Kendryte K210
  • Sipeed M1W

Futuro de MicroPython

MicroPython ha tenido una adopción muy buena por la comunidad de desarrolladores. Se prevé que aun más dispositivos adopten esta tecnología, en especial los que integran tecnología ARM. Algunas de las posibilidades de lo que se puede implementar con MicroPython son: redes IoT que emplean MQTT, dispositivos que procesan algoritmos de aprendizaje máquina empleando TinyML, mayor agilidad en el prototipado para investigación, desarrollo de visión artificial usando la plataforma OpenMV, y más.

A medida que aumentan los recursos que incluye un microcontrolador la necesidad de desarrollar más rápido aumenta y por lo tanto, la decisión de usar un lenguaje ágil como MicroPython se vuelve más evidente. Los requisitos para generar más tecnología se irán moviendo poco a poco al uso de tarjetas donde se pueda desarrollar más rápidamente, en vez de usar los recursos al menor nivel posible.

Conclusiones:

MicroPython es un lenguaje de programación para sistemas embebidos maduro, fácil de aprender y con muy buenas prestaciones. Su adopción aumenta con los años y permite que tanto desarrolladores principiantes como avanzados, implementen rápidamente sus ideas. Aprender a programar en MicroPython abre una gran variedad de posibilidades de desarrollo, en especial para el aprendizaje máquina, por lo que adquirir habilidades con este lenguaje se verá recompensada en poco tiempo.

Referencias:

https://micropython.org

Language Review: Python (Episode One)

Python Vs MicroPython – Compare & Access

Webinar Introducción a MicroPython: Python para microcontroladores

Imagen: Micropython.org / Vía: commons.wikimedia.org