Xiao modules: ESP32 and RP2040 with Micropython

Xiao ESP32C3 Module

Xiao ESP32C3 Module

We have been using modules from Seeed studio in a form called “Xiao”, pictured above. They can be fitted with header pins, or soldered directly to circuitboards. Each board contains one of a few varieties of very powerful 32-bit microcontrollers, and add Megabytes of memory. I have used the RP2040 and ESP32. ESP32 comes in a few varieties - lately I have been stocking ESP32-C3 and looking at ESP32-S3 (and soon ESP-C6). Xaio sells the ESP32-S3 in a package called “Sense”, that includes a camera.

The Xiao devices are easy to program with Arduino or Micropython. I have enjoyed Micropython using the Thonny environment for programming. I think that Micropython can be great for beginners to coding and electronics, because:

Use ESP32 for projects that need device-to-device radio connections (ESPNOW) or device to WIFI (and from there to internet). Some of the ESP32 variants (like the esp32C3) also have built-in battery management for LiPo batteries.

Setup of the ESP32 board

Requires installation of firmware using a python tool: esptool.

Here is a tutorial.

Once that is done, the device will show up on Thonny. Go to Tools>Options>Interpreter and choose MicroPython (ESP32). Click OK. Back at the main screen, choose the device using the pullup menu in the lower right.

Setup of RP2040 board