Correo: [email protected] - Teléfono: +56979962128

MicroPython es una implementación del lenguaje de programación Python 3 optimizada para ejecutarse en microcontroladores y entornos con recursos limitados. Fue creado por Damien George en 2013 y ha ganado popularidad como una herramienta poderosa para la programación de dispositivos embebidos.

Características principales
  • Python completo: Implementa la sintaxis central de Python 3.4 
  • Optimizado para microcontroladores: Requiere mínimos recursos (256KB de código y 16KB de RAM) 
  • REPL interactivo: Permite probar código directamente en el dispositivo 
  • Amplia compatibilidad: Funciona en ESP32, ESP8266, STM32, Raspberry Pi Pico, entre otros 
  • Bibliotecas específicas: Incluye módulos para interactuar con hardware (GPIO, ADC, PWM, etc.) 
Diferencias con Python estándar
Característica  Python estándar  MicroPython 
Tamaño  Varios MB  ~250KB 
Bibliotecas  Extensas  Reducidas pero esenciales 
Requisitos de sistema  Computadora completa  Microcontrolador simple 
Manejo de memoria  Automático con GC sofisticado  GC más simple 
Velocidad de ejecución  Optimizada para rendimiento general  Optimizada para recursos limitados 
  Instalación en microcontroladores

La instalación de MicroPython varía según el dispositivo, pero generalmente sigue estos pasos:

  1. Descargar el firmware adecuado para tu microcontrolador desde MicroPython.org/download
  2. Conectar el dispositivo a tu computadora 
  3. Flashear el firmware utilizando herramientas como esptool (para ESP32/ESP8266) o la utilidad adecuada para tu dispositivo 
  4. Verificar la instalación conectándote al REPL 
Primer programa: “Hola Mundo”
Image page2 1
  Ventajas de usar MicroPython
  • Facilidad de programación: La sintaxis de Python es más accesible que C/C++ 
  • Iteración rápida: El REPL permite probar código instantáneamente 
  • Comunidad activa: Gran cantidad de recursos y bibliotecas disponibles 
  • Multiplataforma: El mismo código funciona en diferentes microcontroladores 
  • Ideal para prototipado: Permite desarrollar soluciones IoT rápidamente 
Recursos para aprender más

Tutorial de Thonny IDE para MicroPython 

¿Qué es Thonny?

Thonny es un entorno de desarrollo integrado (IDE) diseñado específicamente para Python, con características que lo hacen ideal tanto para principiantes como para el desarrollo con MicroPython en microcontroladores. Fue desarrollado en la Universidad de Tartu, Estonia, con un enfoque educativo.

¿Por qué Thonny para MicroPython?

Thonny ofrece soporte nativo para MicroPython, lo que facilita enormemente la programación de microcontroladores como ESP32, ESP8266, y Raspberry Pi Pico. Sus características específicas para MicroPython lo convierten en una de las herramientas más recomendadas para este propósito.

Instalación de Thonny
  1. Descarga: Visita thonny.org para descargar la versión adecuada para tu sistema operativo (Windows, macOS o Linux) 
  1. Instalación:  
  • En Windows: Ejecuta el instalador y sigue las instrucciones 
  • En macOS: Arrastra la aplicación a la carpeta Aplicaciones 
  • En Linux: Usa los comandos proporcionados en la página web o instala a través de tu gestor de paquetes 
Interfaz de Thonny
Image page3 1
    La interfaz de Thonny incluye: 
  1. Editor de código: Área principal para escribir programas 
  2. Shell/REPL: Consola interactiva para ejecutar comandos 
  3. Explorador de archivos: Para navegar por archivos locales y en el microcontrolador 
  4. Barra de herramientas: Con botones para funciones comunes (ejecutar, depurar, detener) 
  5. Menús: Acceso a todas las funcionalidades del IDE 
Configuración para MicroPython

Para usar Thonny con MicroPython:

  1. Abre Thonny 
  2. Ve a Herramientas → Opciones → Intérprete 
  3. Selecciona MicroPython en el menú desplegable 
  4. Elige tu dispositivo (ESP32, ESP8266, RPi Pico, etc.) 
  5. Selecciona el puerto COM/Serie correcto 
  6. Haz clic en OK 
  Funcionalidades clave para MicroPython
  1. Gestor de archivos del dispositivo

Thonny proporciona acceso directo al sistema de archivos del microcontrolador:

  • Ver archivos: El panel de archivos muestra tanto archivos locales como los del dispositivo 
  • Transferir archivos: Arrastra y suelta o usa los botones para copiar archivos entre tu computadora y el microcontrolador 
  • Editar archivos directamente: Abre, edita y guarda archivos directamente en el dispositivo
  1. REPL integrado
 

El REPL (Read-Eval-Print-Loop) te permite:

  • Ejecutar comandos individuales: Prueba líneas de código sin grabar un programa completo 
  • Experimentar con hardware: Controla pines GPIO, lee sensores o prueba conexiones directamente 
  • Depurar código: Inspecciona variables y verifica el funcionamiento del código
  1. Instalador de firmware

Thonny facilita la instalación de MicroPython en dispositivos compatibles:

  1. Conecta tu microcontrolador 
  2. Ve a Herramientas → Opciones → Intérprete 
  3. Haz clic en Instalar o actualizar firmware 
  4. Sigue las instrucciones en pantalla 
  5. Depuración visual

Thonny incluye un depurador visual que:

  • Muestra la ejecución línea por línea 
  • Permite inspeccionar variables durante la ejecución 
  • Ayuda a identificar errores lógicos 
Ejemplo práctico: Primer programa en MicroPython con Thonny
  1. Conexión al dispositivo: 
  • Conecta tu microcontrolador vía USB 
  • Selecciona el intérprete correcto en las Opciones 2- Creación de un programa: Image page5 13 – Guardar en el dispositivo: 
    • Presiona Ctrl+S o ve a Archivo → Guardar 
    • Selecciona MicroPython device como destino 
    • Nómbralo como main.py para que se ejecute automáticamente al inicio 4- Ejecución: 
      • Presiona el botón Run o F5 
      • Observa la salida en el REPL y el LED parpadeando 
      Consejos y trucos
      • Detener un programa en ejecución: Presiona el botón Stop o Ctrl+C en el REPL 
      • Autocompletado: Usa Tab mientras escribes para ver sugerencias 
      • Múltiples archivos: Puedes trabajar con varios archivos abiertos en pestañas 
      • Formateo automático: Presiona Ctrl+Alt+L para formatear tu código 
      • Reinicio del dispositivo: Usa Ctrl+D en el REPL para un soft reset 
      Recursos adicionales

       Tutorial de Estructuras de Control en MicroPython 

      Las estructuras de control son fundamentales en cualquier lenguaje de programación. En MicroPython, estas estructuras funcionan de manera similar a Python estándar, permitiéndonos controlar el flujo de ejecución de nuestros programas para microcontroladores.

      1. Estructura condicional: if, else, elif

      Las estructuras condicionales nos permiten ejecutar código basado en condiciones específicas.

      Sintaxis básica
      Image page7 1
      Ejemplo práctico: Control de LED según nivel de luz
      Image page8 1
       
      1. Condiciones compuestas

      Las condiciones compuestas combinan múltiples condiciones usando operadores lógicos.

      Operadores lógicos
      • and: Verdadero si ambas condiciones son verdaderas 
      • or: Verdadero si al menos una condición es verdadera 
      • not: Invierte el valor de la condición 
      Ejemplo: Sistema de control de temperatura y humedad
       Tutorial de Estructuras de Control en MicroPython
       
      1. Bucle while

      El bucle while ejecuta un bloque de código repetidamente mientras una condición sea verdadera.

      Sintaxis básica
      Estructura básica while
      Ejemplo: Contador con botón
      From machine import Pin
       
      1. Bucle for

      El bucle for itera sobre una secuencia (lista, tupla, string, etc.) o un rango de números.

      Sintaxis básica
      Iterar sobre un rango
      Ejemplo: Secuencia de parpadeo de LED 
       Tutorial de Estructuras de Control en MicroPython
       
      1. Combinando estructuras de control

      Las estructuras de control pueden anidarse y combinarse para crear lógicas más complejas.

      Ejemplo: Semáforo inteligente
       Tutorial de Estructuras de Control en MicroPython
       Tutorial de Estructuras de Control en MicroPython
      Consejos para usar estructuras de control en MicroPython
      1. Evitar bucles sin salida: Asegúrate de que tus bucles while tengan una condición que eventualmente se vuelva falsa. 
      2. Cuidado con el watchdog timer: En algunos microcontroladores, los bucles muy largos sin ‘feed’ al watchdog pueden causar reinicios. 
      3. Depuración con print: Usa print() para mostrar el estado de variables y seguir el flujo de ejecución. 
      4. Manejo de excepciones: Usa bloques try-except para manejar errores, especialmente en operaciones con hardware. 
      5. Optimización de memoria: En dispositivos con memoria limitada, evita crear grandes listas en bucles for y prefiere generadores. 
      Ejercicios prácticos
      1. Termostato: Crea un programa que controle un LED simulando un sistema de calefacción que se enciende y apaga según la temperatura. 
      2. Detector de movimiento: Usa un sensor PIR para detectar movimiento y un bucle while para monitorear continuamente. 
      3. Secuenciador: Crea diferentes patrones de luces utilizando bucles for anidados. 
      4. Medidor de nivel: Lee un sensor analógico y usa condiciones compuestas para determinar diferentes niveles y acciones. 
      5. Máquina de estados: Implementa una máquina de estados simple usando bucles while y estructuras if-elif-else. 

      Tutorial de Funciones en MicroPython 

      Las funciones son bloques de código reutilizables que realizan tareas específicas. En MicroPython, el uso de funciones es particularmente valioso debido a las limitaciones de memoria y la necesidad de código eficiente y modular en sistemas embebidos.

      1. Conceptos básicos de funciones
      Definición de funciones 

      En MicroPython, las funciones se definen con la palabra clave def, seguida del nombre de la función y paréntesis que pueden contener parámetros.

      Cuerpo de la función
      Ejemplo simple: Cálculo de temperatura
      Convierte temperatura de Celsius
       
      1. Retorno de valores

      Las funciones pueden devolver valores utilizando la palabra clave return. Una función puede devolver:

      • Un solo valor 
      • Múltiples valores (como una tupla) 
      • Listas, diccionarios u otros objetos 
      • Nada (retorna None implícitamente) 
      Función sin valor de retorno
      Led. value(1) Encender
      Función con retorno de múltiples valores
      Return None, None Retorna valores nulos en caso de error
        Uso de una función con múltiples valores de retorno  
      Leer sensor y obtener los dos valores retornados
       
      1. Argumentos de funciones

      MicroPython, al igual que Python estándar, permite gran flexibilidad en cómo definimos y llamamos a funciones con diferentes tipos de argumentos.

      Tipos de argumentos

      MicroPython admite varios tipos de argumentos en funciones:

      • Argumentos posicionales: Se pasan en el mismo orden que se definieron 
      • Argumentos con nombre: Se especifican con nombre al llamar la función 
      • Argumentos por defecto: Tienen valores predeterminados si no se especifican 
      • Argumentos variables: Permiten un número variable de argumentos 
      Argumentos posicionales y con nombre
      Configura un pin GP10 con opciones especificas
        Argumentos por defecto

      Los argumentos por defecto permiten omitir parámetros cuando se llama a la función.

      Monitorea la temperatura durante un tiempo específico Desconocido

      Verificar alerta
             

      Preguntas frecuentes

      ¿Qué es MicroPython?

      Es una implementación del lenguaje Python 3 optimizada para ejecutarse en microcontroladores y entornos con recursos limitados. Fue creada por Damien George en 2013 y se ha vuelto una herramienta muy usada para programar dispositivos embebidos.

      ¿Cuántos recursos necesita MicroPython?

      Muy pocos: requiere como mínimo 256 KB de espacio de código y 16 KB de RAM. Esa frugalidad es lo que le permite correr en microcontroladores donde Python normal sería imposible.

      ¿MicroPython es Python completo?

      Implementa la sintaxis central de Python 3.4. No incluye toda la biblioteca estándar de Python de escritorio, pero quien sabe Python puede programar en MicroPython casi sin curva de aprendizaje.

      ¿Qué es el REPL de MicroPython?

      Es un intérprete interactivo que permite escribir y probar instrucciones directamente en la placa, viendo el resultado al instante. Es una de las grandes ventajas frente a compilar y cargar un programa completo cada vez.

      ¿Con qué placas puedo usar MicroPython?

      Con microcontroladores como la Raspberry Pi Pico y el ESP32, entre otros. El sitio tiene tutoriales específicos de Thonny IDE, estructuras de control y funciones en MicroPython para continuar después de esta introducción.

      Aprende esto en un curso

      Si prefieres verlo en vivo y con alguien que resuelva tus dudas, estos cursos presenciales de MCI Educación cubren el tema de este tutorial: