Saltar al contenido

Firmware de Micropython

Hola controleros y controleras en esta entrada aprenderemos a programar el firmware de MicroPython en nuestra placa Raspberry Pi Pico y también en el NodeMCU ESP8266.

Antes de comenzar te invito a que le des un vistazo a nuestro curso de MicroPython con enfoque en la Raspberry Pi Pico.

Y que te suscríbas al canal si te interesa la programación de microcontroladores y la teoría del control.

Obtener el firmware

Para que nuestras placas funcionen con Micropython lo primero que debemos hacer es descargar el archivo .bin del firmware de MicroPython más reciente el cual lo vamos a cargar a nuestro dispositivo Raspberry Pi Pico o NodeMCU ESP8266. 

Dependiendo del dispositivo que uses, puedes descargar el firmware desde la página de descargas de MicroPython .

En este caso como apenas estamos comenzando a explorar y a entender estas placas lo mejor es seleccionar un Firmware de MicroPython que sea estable.

Implementar el firmware

Con el firmware de MicroPython en nuestro computador, debemos proceder a cargarlo en la Raspberry Pi Pico o en el NodeMCU ESP8266. Los pasos son los siguientes pero también puedes verlo en los videos:

Raspberry Pi Pico

  • La Raspberry Pi Pico no pueden estar conectada inicialmente a ninguna fuente de energía: desconecte el cable micro USB si está enchufado y desconecte cualquier otro cable que pueda estar proporcionando energía a la placa.
  • Presione el botón BOOTSEL de su placa y conecte inmediatamente el cable micro USB al computador.
  • Aparecera una unidad de almacenamiento en nuestro computador (como si fuera una memoria USB).
  • Copiamos el firmware de la Raspberry Pi Pico que descargamos en esa unidad de almacenamiento.
  • Una vez finalizado la copia del archivo, la unidad de almacenamiento desaparecerá automaticamente y así nuestra Pico está lista para comenzar a recibir instrucciones con MicroPython.
Print en Python

Print en Python

Lugar Geométrico de las Raíces

Lugar Geométrico de las Raíces

ESP8266

A continuación se muestra el procedimiento simplificado para la instalación del Firmware en la placa NodeMCU ESP8266 el cual puede ser replicado a cualquier otra placa ESP. Para más información puedes consultar el sitio oficial de Micropython.

1. Vamos a instalar Python desde su sitio oficial, y al momento de la instalación agregamos la opción Add Python 3.X to Path.

2. Instalar esptool.py para copiar en todo el firmware en la placa. Puede encontrar esta herramienta aquí: https://github.com/espressif/esptool/ , o instalarla usando pip en la consola de comandos. Para windos basta con abrir el CMD:

pip install esptool

Para instalar este paquete con conda (Anaconda), ejecute uno de los siguientes comandos:

conda install -c conda-forge esptool
conda install -c conda-forge/label/cf202003 esptool

3. Con la herramienta esptool.py procedemos inicialmente a borrar la memoria flash de la tarjeta con el comando, donde inicialmente debemos averiguar cual fue el puerto COM asignado en el computador a la placa (lo miras en el administrador de dispositivo):

esptool.py --port COM13 erase_flash

4. Desde el terminal (CMD) nos ubicamos en el directorio donde descargamos el firmware, usando el comando cd [ruta] y luego cargamos el firmware descargado de la placa, para eso al final de este comando debemos colocar el nombre del firmware, ej: esp8266-20210202-v1.14.bin

esptool.py --port COM13 --baud 115200 write_flash --flash_size=detect 0 [Colocar_Version_Firmware_aqui]

Si aparecen errores, se recomienda bajar la velocidad en baudios en el parametro baud, por defecto esta en 115220.

IDE de Programación

Para programar en Micropython, podemos usar directamente la consola, sin embargo, vamos a utilizar un IDE, pues se nos va a facilitar enormemente nuestra vida.

Existen diferentes IDEs, y tu puedes seleccionar el que más te guste, al fin y al cabo, estamos usando el mismo lenguaje. Algunos IDEs disponibles son:

  1. Thonny
  2. Mu
  3. uPyCraft IDE
  4. Visual Studio Code (VSCode), utilizando la extensión PyMakr

Interfaz Thonny

Si instalamos Thonny el cual es la interfaz recomendada por la documentación de la Raspberry Pi Pico, veremos una interfaz como la siguiente:

En la parte del EDITOR podemos escribir todo nuestro código (SCRIPT) en MicroPython y ejecutarlo con el botón de RUN.

Pero una forma más inmediata de interactuar con las tarjetas es a través de lo que se llama el bucle Read-Evaluated-Print-Loop, o REPL (a menudo se pronuncia de manera similar a «ripple») en la sección del SHELL.

  • Read: MicroPython espera a que escriba un comando, y luego se presione la tecla Intro.
  • Evaluate: Todo lo que escribió se interpreta como código Python y se ejecuta de inmediato.
  • Print: Todos los resultados de la última línea que escribió se imprimen para que los lea.
  • Loop: Vuelve al inicio: te solicita otra línea de código.

Hay dos formas de conectarse a este REPL, para que pueda comunicarse con el firmware MicroPython en su placa: a través de USB y a través del puerto serie UART en Raspberry Pi Pico GPIO.


Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:

👉 Invitar a Sergio a un Café ☕️

Que esten muy bien, nos vemos en la siguiente entrada.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Comentarios (9)

despues de cargar el firmware a la raspberry pico, ya no me la detecta en puertos COM y en thonny me marca que no existe.
para le esp no tengo problemas

Responder

Hola buenos dias, mi inquietud es la siguiente,como la rasberry pi pico puede guardar varios programas en su memoria,cuando lo desconecto del pc y alimento con fuente externa no me ejecuta niniguno de los programas grabados en el pi pico,tengo que borrarlos todos y dejar solo el que necesito que se me ejecute en el momento?gracias por su respuesta

Responder

No Juan Carlos. Debes almacenar el programa que deseas ejecutar con la fuente externa con el nombre main.py, de esa forma la Pico sabe que ese es tu programa principal el cual va a ejecutar inmediatamente es energizada. Te recomiendo ver todo el curso, aqui hacemos muchos ejemplos con la placa. Saludos!

Responder

Como siempre muy interesante contenido

Responder

Excelente Ramiro, muchas gracias por comentar, me alegra saber que el contenido es interesante y de actualidad. Saludos!!!

Responder

Me parece muy interesante ya q los videos de matlab me sirvieron de mucho

Responder

Muchas gracias Marco, me alegra que te sirvan los contenidos. Saludos!!

Responder

Amigo no tubiera un libro en pdf de arduino quero enpesar a programar eso tambienn porfa

Responder

No tengo un libro, pero aquí en el sitio web y en el canal de YouTube tengo un curso desde cero de Arduino y es grátis. Puedes darle un vistazo!!

Responder