que-es-micropython

Qué es MicroPython

  • 4 min

Primera entrada de introducción al Curso de MicroPython, donde vamos a ver qué es, y cuales son las características de este lenguaje para sistemas embebidos.

No hay duda de que Python es uno de los lenguajes más populares del momento. Su sencillez, y su filosofía de “legibilidad primero” le han convertido en uno de los lenguajes más usado y querido por muchos.

Pues bien, MicroPython es una implementación ligera y eficiente del lenguaje de programación Python 3, diseñada específicamente para funcionar en microcontroladores y sistemas embebidos.

Fue creado por Damien George en 2013, con el objetivo de llevar la simplicidad y potencia de Python a dispositivos pequeños y de bajo costo.

Es decir, que a diferencia de Python estándar (que se ejecuta en ordenadores de propósito general) MicroPython está optimizado para dispositivos con poca memoria RAM, y procesamiento limitados.

Veamos algunas de sus características principales.

  • Lenguaje Python 3 completo: Soporta la mayoría de las características de Python 3 (sintaxis, tipos de datos, funciones y módulos)
  • Optimización para recursos limitados: Está diseñado para funcionar en dispositivos con pocos recursos.
  • Interactividad mediante REPL: Que permite ejecutar código Python directamente en el dispositivo desde el PC.
  • Librerías específicas para hardware: Incluye módulos integrados para interactuar con hardware (como GPIO, PWM, I2C, SPI y UART).

Ventajas y desventajas de MicroPython

MicroPython tiene un buen puñado de ventajas, que lo hacen adecuado para una gran cantidad de proyectos. Las principales son,

Pero no todo iba a ser maravilloso (no podía ser). Como todo, también tiene alguna desventaja,

  • Eficiencia y consumo: Meter un intérprete de Python en un microcontrolador es matar moscas a cañonazos. No esperéis grandes rendimientos.
  • Ausencia de liberías: Es posible que no tengáis todos los hardware y librerías que contáis, por ejemplo, en Arduino (c++).

Hardware compatible con MicroPython

Muy bonito, pero ¿donde puedo hacer funcionar MicroPython? La buena noticia es que MicroPython es compatible con una amplia gama de microcontroladores y placas de desarrollo.

Algunos de los más populares incluyen:

MicrocontroladorDescripción
ESP32Un microcontrolador con Wi-Fi y Bluetooth integrados, ideal para aplicaciones IoT ❤️❤️.
ESP8266Similar al ESP32, pero con menos recursos y más económico.
Raspberry Pi PicoUna placa de desarrollo basada en el microcontrolador RP2040, diseñada específicamente para MicroPython.
STM32Una familia de microcontroladores de alto rendimiento compatibles con MicroPython.

Donde usar MicroPython

Supongo que la pregunta del millón. Donde puedo usar MicroPython. Respuesta corta, donde quieras.

Respuesta larga, MicroPython encaja en distintas aplicaciones. Por ejemplo, puede ser una excelente herramienta para enseñar programación y electrónica, ya que combina la simplicidad de Python con la capacidad de interactuar con hardware.

También puede ser muy util para hacer un prototipo rápido, o un proyecto puntual (que no sea muy exigente en cuanto a recursos). Por ejemplo, encaja en ciertos proyectos de Internet de las cosas, automatización, e incluso robótica.

Personalmente, no creo que lo pusiera en un producto comercial, con una serie de producción larga (ahí preferiría C++ o Rust, seguramente). Pero claro, estos proyectos son muy minoritarios.

En cualquier caso, es una herramienta interesante de utilizar. Así que vamos a ir viéndola en los siguientes tutoriales.


Y si antes o después, queréis aprender más de Python, os dejo por aquí este enlace al curso (que tengo un curso de Pyyyythooon). Justo aqui 👇

Asele click y dale al like 👍