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.)
| 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 |
La instalación de MicroPython varía según el dispositivo, pero generalmente sigue estos pasos:
- Descargar el firmware adecuado para tu microcontrolador desde MicroPython.org/download
- Conectar el dispositivo a tu computadora
- Flashear el firmware utilizando herramientas como esptool (para ESP32/ESP8266) o la utilidad adecuada para tu dispositivo
- Verificar la instalación conectándote al REPL

- 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
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- Descarga: Visita thonny.org para descargar la versión adecuada para tu sistema operativo (Windows, macOS o Linux)
- 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

- Editor de código: Área principal para escribir programas
- Shell/REPL: Consola interactiva para ejecutar comandos
- Explorador de archivos: Para navegar por archivos locales y en el microcontrolador
- Barra de herramientas: Con botones para funciones comunes (ejecutar, depurar, detener)
- Menús: Acceso a todas las funcionalidades del IDE
Para usar Thonny con MicroPython:
- Abre Thonny
- Ve a Herramientas → Opciones → Intérprete
- Selecciona MicroPython en el menú desplegable
- Elige tu dispositivo (ESP32, ESP8266, RPi Pico, etc.)
- Selecciona el puerto COM/Serie correcto
- Haz clic en OK
- 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
- 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
- Instalador de firmware
Thonny facilita la instalación de MicroPython en dispositivos compatibles:
- Conecta tu microcontrolador
- Ve a Herramientas → Opciones → Intérprete
- Haz clic en Instalar o actualizar firmware
- Sigue las instrucciones en pantalla
- 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
- Conexión al dispositivo:
- Conecta tu microcontrolador vía USB
- Selecciona el intérprete correcto en las Opciones
2- Creación de un programa:
3 – 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
- 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
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.
- Estructura condicional: if, else, elif
Las estructuras condicionales nos permiten ejecutar código basado en condiciones específicas.
Sintaxis básica

- 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

- Bucle while
El bucle while ejecuta un bloque de código repetidamente mientras una condición sea verdadera.
Sintaxis básica

- Bucle for
El bucle for itera sobre una secuencia (lista, tupla, string, etc.) o un rango de números.
Sintaxis básica

- Combinando estructuras de control
Las estructuras de control pueden anidarse y combinarse para crear lógicas más complejas.
Ejemplo: Semáforo inteligente

- Evitar bucles sin salida: Asegúrate de que tus bucles while tengan una condición que eventualmente se vuelva falsa.
- Cuidado con el watchdog timer: En algunos microcontroladores, los bucles muy largos sin ‘feed’ al watchdog pueden causar reinicios.
- Depuración con print: Usa print() para mostrar el estado de variables y seguir el flujo de ejecución.
- Manejo de excepciones: Usa bloques try-except para manejar errores, especialmente en operaciones con hardware.
- Optimización de memoria: En dispositivos con memoria limitada, evita crear grandes listas en bucles for y prefiere generadores.
- Termostato: Crea un programa que controle un LED simulando un sistema de calefacción que se enciende y apaga según la temperatura.
- Detector de movimiento: Usa un sensor PIR para detectar movimiento y un bucle while para monitorear continuamente.
- Secuenciador: Crea diferentes patrones de luces utilizando bucles for anidados.
- Medidor de nivel: Lee un sensor analógico y usa condiciones compuestas para determinar diferentes niveles y acciones.
- 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.
- 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.


- 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)



- 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 argumentosMicroPython 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

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


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:
- uPython y Electrónica Creativa con Raspberry Pi Pico — nivel inicial, 15 horas presenciales en Santiago
- Domina la Raspberry Pi: Sistemas y Conectividad — nivel intermedio, 18 horas presenciales en Santiago