Есть такая крохотная отладочная платка, которая называется XIAO. У неё есть несколько версий: SAMD21, RP2040, ESP32-C3 и другие. Этот урок посвящен версии с микроконтроллером ESP32-C3 с архитектурой RISC-V.
Тактовая частота микроконтроллера 160 МГц. Имеется 11 GPIO контактов, три канала АЦП, и привычные интерфейсы: I2C, SPI, UART.

Характеристики Xiao ESP32-C3
- микроконтроллер: ESP32-C3 32-bit RISC-V @160MHz;
- WiFi+BT5;
- ОЗУ: 400 Кб;
- ПЗУ: 4 Мб Flash;
- GPIO: 11, 4 из которых могут быть аналоговыми;
- UART: 1;
- SPI: 1;
- I2C: 1;
- размеры: 20 x 17,5 x 3,5 мм.
Список необходимых компонентов
Для выполнения всех экспериментов в данном уроке потребуется сама отладочная плата XIAO ESP32-C3 и кабель Type-C для подключения к компьютеру. Всё это можно можно добавить в корзину прямо здесь, и затем оформить заказ в нашем интернет-магазине.
На этом уроке мы установим на эту кроху CircuitPython и подготовим всё для написания написания первой программы на Python.
Прошивка CircuitPython для XIAO ESP32-C3
На сайте проекта CircutPython можно найти прошивки для множества разных систем. Разумеется, для XIAO там тоже есть готовая прошивка. Переходим на нужную страничку:
https://circuitpython.org/board/seeed_xiao_esp32c3
И скачиваем файл с расширением UF2. Если вы новичок, рекомендуется скачивать версию stable, а не beta.

Жмём большую кнопку и ловим файл с расширением BIN.
Примечание. Если данная ссылка не открывается, то можно попробовать скачать свежую прошивку для данной платы из нашего хранилища:
https://download.robotclass.ru/circuitpython/XIAO
Прошивка XIAO ESP32-C3
Flash Download Tool — это официальный инструмент для загрузки программ на контроллеры ESP. Скачиваем архив с приложением по ссылке:
https://www.espressif.com/en/support/download/other-tools
В самом низу списка выбираем галочкой пункт Flash Download Tools и жмем кнопку Download Selected. Распаковываем полученный архив и запускаем приложение с помощью файла flash_download_tool_3.9.5.exe.
После запуска приложения появится окошко с выбором целевого модуля ESP и способа загрузки. Для нашей XIAO выбираем ChipType — ESP32-C3 и LoadMode — USB.

Жмем кнопку ОК. В открывшемся окне указываем файл с ПО. Затем в самом правом поле пишем адрес 0x0. Ставим галочку в начале строчки.

Внизу формы, в поле COM выбираем порт, к которому в данный момент подключен дисплей (через разъём с меткой USB).
Наконец, жмём кнопку START. Ждём окончания процедуры.
С этого момента у нас имеется контроллер с возможностью программирования на Python. Что делать дальше, читаем в уроке про CircuitPython.
