
На первый взгляд Seeed XIAO RP2040 не выглядит многообещающим. Но это обманчивое впечатление. Возможностей у него много. Благо, у компании есть опыт разработки подобных систем, ведь это не первый микроконтроллер от Seeed. Более того, ранее компания выпускала устройство на базе Seeeduino XIAO, которое выглядит близнецом XIAO RP2040, да и стоит столько же — $5.40.
Но у XIAO RP2040 другой чип — здесь мы имеем дело с RP2040 SoC, так что этот микроконтроллер гораздо более мощный, чем предыдущая система. Причем доплачивать не нужно — стоимость та же. Стоит ли новинка пяти долларов? Забегая наперед, скажу — да, стоит.
Характеристики XIAO RP2040

- Процессор: двухъядерный ARM Cortex M0+ с частой работы ядра 133MHz.
- Флеш-память: 2MB.
- SRAM: 264 КБ.
- GPIO: 3.3V Logic level, 11 x Digital IO, 4 x Analog IO, 11 x PWM, I2C, SPI, UART.
- Питание: 5V via USB-C.
- Размеры: 20 x 17.5 мм

Микроконтроллер базируется на процессоре RP2040, выпущенном Raspberry Pi Foundation в январе 2021 года. У XIAO RP2040 такой же объем ОЗУ и основной памяти, как и у микроконтроллера Pico, так что разница здесь — в размере. В характеристиках было указано, что размер новой системы всего 20 x 17.5 вместо 51 x 21 мм у Pico. Правда, здесь всего 11 GPIO пинов, каждый из которых может использоваться для включения-выключения подключенной сторонней системы. Кроме того, есть и возможность работы с широтно-импульсной модуляцией (PWM), которая обычно применяется для управления скоростью двигателя и яркостью светодиода.
Четыре пина, от A0 до A3 — аналоговые входы, которые могут использоваться c аналоговыми устройствами, такими, как потенциометры. Остальные контакты — UART, SPI и I2C, что позволяет работать с электроникой, совместимой с эими стандартами. По словам разработчиков, выбор контактов был тщательно продуман, с тем, чтобы микроконтроллер можно было использовать в большом количестве проектов — как коммерческих, так и DIY.

XIAO RP2040 — это почти что Adafruit QT PY RP2040, поскольку у них очень схожая распиновка. Можно даже ошибиться, мельком взглянув на один из проектов. Единственное существенное отличие — отсутствие у XIAO RP2040 разъема Stemma QT. У одноплатников Adafruit такой разъем есть, он позволяет использовать стандарт I2C, что расширяет спектр возможностей.
Отсутствие этого коннектора в описываемом микроконтроллере вовсе не означает, что мы не можем подключить надстройку I2C или Adafruit. Контакты P6 и P7 — это I2C, SDA и SCL. Cоответственно, есть возможность подключать к ним устройства I2С. Правда, не напрямую, а через резисторы номиналом от 2,2 до 10 кОм между контактом 3,3 В и SDA и SCL.
Микроконтроллеры — весьма интересная тема, но у нас есть и другие статьи, оцените — мы рассказываем о:
→ Объединение проектов в разных дата-центрах
→ Введение в SSD. Часть 5. Контроллерная
→ Selectel File Storage (Beta): места много не бывает
Что насчет поддержки MicroPython? Мы установили последнюю версию MicroPython для Raspberry Pi Pico, а затем загрузили Thonny. Мы воспользовались нескольким примерам Seeed, и все заработало так, как и должно было заработать. С оборудованием не возникло никаких сюрпризов и подводных камней. Единственная проблема, которую мы обнаружили, была связана с документацией — сразу нужно было обратить пристальное внимание на нумерацию контактов. В самом начале у нас с этим возникла проблема, но потом, после исправления ошибки, все заработало, как нужно, включая встроенный светодиод WS2812 NeoPixel.

После этого этапа мы решили протестировать работу библиотеки NeoPixel CircuitPython со встроенным светодиодом WS2812. И сразу не получилось — несмотря на правильный номер контакта и его использовагние, NeoPixel CircuitPython не желала работать со светодиодом. Все заработало после добавления строки NeoPixels и изменения номера пина в код! В ходе теста испытания проводились с набором NeoPixels, нам удалось запустить целое световое шоу. В общем, если вам нужен недорогой способ добавить немного RGB-подсветки в проект, XIAO RP2040 — жизнеспособное решение.

Если вы предпочитаете Arduino, то проблем нет — XIAO RP2040 работает с Arduino IDE. Мы протестировали версию 1.8.15 с использованием библиотеки Arduino Mbed OS RP2040 и быстро запустили тестовый образец проекта. В целом, каждый раз, когда вам нужно загрузить новый проект на XIAO RP2040, потребуется перевести плату в режим Bootloader, для чего нужно нажать и удерживать кнопку Boot, а затем нажать кнопку Reset. Если этого не сделать, IDE Arduino выдаст ошибку.
В сухом остатке

Если вам нужен небольшой микроконтроллер с RP2040, то XIAO RP2040 от Seeed за $5- как раз то, что нужно. Плата похожа по распиновке с Adafruit QT PY RP2040, но стоит в два раза меньше. Конечно, стоит помнить о потере Stemma QT, который есть на QT PY RP2040, объем памяти снижается с 8 МБ до 2 МБ, но если вам не нужно вводить большой объем данных или подключать устройства Stemma QT, вполне можно обойтись. XIAO RP2040 — впечатляющий микроконтроллер, который заслуживает занять место в вашем инструментарии.
