Skip to main content

Micropython para XIAO ESP32C6

MicroPython es una implementación ligera y eficiente del lenguaje de programación Python 3 que incluye un pequeño subconjunto de la biblioteca estándar de Python y está optimizada para ejecutarse en microcontroladores y en entornos restringidos.

En esta página, te guiaremos sobre cómo usar las capacidades del XIAO ESP32C6 utilizando la sintaxis simple y fácil de micropython.

Preparación del Hardware

Estoy usando la placa Seeed Studio XIAO ESP32C6 aquí.

Seeed Studio XIAO ESP32C6

Preparación del Software

En esta guía estaré usando windows 10 junto con Thonny IDE y esptool. Para usar esptool asegúrate de instalar el entorno Python 3 en tu sistema operativo Windows. Antes de comenzar asegúrate de descargar el firmware e instalar Thonny

Thonny IDEFirmware y Código de Ejemplo

👍 Muchas Gracias

El firmware diseñado para la placa XIAO ESP32C6, usado en esta wiki, fue hecho por nuestro amigo: Zhishuo Song, a quien estamos realmente agradecidos.

Introducción

El firmware está diseñado solo para la programación MicroPython del XIAO ESP32C6. Primero flashearemos el firmware y luego usaremos el ejemplo en él.

Paso 1. Flashear el firmware

Localiza la dirección del puerto USB a serie abriendo el administrador de dispositivos

pir

Extrae el archivo zip descargado y navega a la carpeta.

pir

haz clic en la caja de ruta luego escribe "CMD" y presiona enter

pir

Serás dirigido a la terminal cmd.

pir

Instala esptool usando el comando pip (asegúrate de que python 3 ya esté instalado)

pip install esptool

pir

Pon la placa en modo Bootloader

Antes de flashear, debes poner el XIAO ESP32C6 en modo bootloader (descarga). Para hacer esto:

  1. Presiona y mantén el botón BOOT.
  2. Mientras mantienes BOOT, presiona y suelta el botón RESET.
  3. Suelta el botón BOOT.

Si la placa no está en modo bootloader, el flasheo fallará con un error de "Write timeout" y puede dañar el módulo.

Borra la memoria flash en el XIAO ESP32C6 usando este comando

esptool --port COMXX --chip esp32c6 erase-flash

Ahora procede a instalar el firmware de micropython usando este comando

esptool --port COMXX --baud 460800 --before default-reset --after hard-reset --chip esp32c6 write-flash --flash-mode dio --flash-size detect --flash-freq 80m 0x0 ESP32C6_MicroPython.bin
tip

Cambia el COMXX con el número de puerto COM en tu PC. Si el flasheo falla con un error de timeout, intenta reducir la velocidad de baudios a 115200.

pir

Paso 2. Subir el código de ejemplo

Ahora subiremos el código de ejemplo a la memoria flash interna del XIAO ESP32C6.

Para esta parte estoy usando thonny IDE primero configuro el puerto

pir

ejecuta el programa de ejemplo blinker.py

pir

NTP obtener hora actual desde wifi

paso1: Abre el archivo wifi_Ntp.py en Thonny

pir

paso2: cambia el ssid y contraseña de tu router wifi en la línea 8

pir

paso3: ejecutar código

Al ejecutar el programa, puedes ver en la ventana del shell que el XIAO se conecta al wifi especificado y obtiene la hora de red NTP.

pir

Solución de Problemas

  • Error "Write timeout" o excepción serial: Asegúrate de que la placa esté en modo bootloader antes de flashear. Mantén el botón BOOT, presiona y suelta RESET, luego suelta BOOT. También deberías intentar reducir la velocidad de baudios (por ejemplo, usa --baud 115200 en lugar de 460800).
  • Comando no encontrado (esptool.py): Usa esptool (sin .py) cuando se instale vía pip install esptool. En algunos sistemas, puede que necesites usar python -m esptool en su lugar.
  • Módulo dañado: Si el módulo parece dañado, intenta entrar en modo bootloader y borrar la flash con esptool --port COMXX --chip esp32c6 erase-flash, luego vuelve a flashear el firmware.

✨ Proyecto Colaborador

Soporte Técnico y Discusión del Producto

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.

Loading Comments...