XIAO - SAMD21 48 МГц Cortex M0 32 бит.
Сегодня рассмотрим микроконтроллере Seeeduino XIAO купленном мной на aliexpress.
Seeeduino XIAO
Контроллер предназначен в основном для небольших носимых устройств, имеет очень маленькие размеры всего 17,5 на 20 на 3,5 миллиметров.
На борту имеет 11 контактов ввода-вывода которые можно использовать как для обработки цифровых, так и аналоговых сигналов, а так же один ЦАП выход.
Внимание! Логика данного чуда 3.3 вольта превышение этого напряжения может привести к порче контроллера.
Контакты можно использовать как I2C, UART, или SPI интерфейсы, подключая к контроллеру дисплеи, модемы, i2c расширения и многое другое.
Пины предназначенные под I2C, UART, или SPI можно переконфигурировать, жертвуя одним интерфейсом получать другой.
Т.е небольшими манипуляциями мы можем из I2C сделать второй UART или наоборот.
Данное свойство не указанно явно в документации, методом проб и ошибок опробовано - работает.
Питание и программирование производится через USB Type-C интерфейс.
Можно запитать и от пина VIN от 5 вольт.
Программирование производится из среды Arduino IDE.
Arduino IDE берем тут: https://www.arduino.cc/en/software
Примеры проектов на Seeeduino XIAO тут: https://www.seeedstudio.com/blog/2020/05/08/seeeduino-xiao-community-projects-collection-whats-your-next-project-idea-made-by-seeeeduino-xiao/
Что-то для себя можно найти по Seeeduino XIAO на гитхабе тут: https://github.com/search?q=Seeeduino-XIAO
Страничка о Seeeduino XIAO на официальном сайте вот: https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html
Ну и наконец, ссылка на алиэкспресс – Я, брал тут (оригинал): http://alii.pub/5r8hcn
Стоимость: 695,31 руб. Я, брал 2 штуки со скидкой 31%, мне обошлось 1152,64 рублей с доставкой СДЭК.
До Питера дошло всего за 8 дней! Супер!
Да там можно приобрести не только контроллер Seeeduino XIAO но и платы для удобной разработки и платы расширения.
Дешевле тут (не оригинал): http://alii.pub/5r8hgc
Ну и само собой вам потребуется кабель USB Type-C с возможностью передачи данных!
Некоторые кабели с алиэкспресс используются только для зарядки, и вы не сможете залить программу в контроллер с таким кабелем!
Ну а вот и сам USB кабель: http://alii.pub/5r8hkm
Стоимость: 192,37 руб. по акции с доставкой мне обошлось в 115,11 рублей (скидка была 40%).
Распиновка Seeeduino XIAO - SAMD21.
Питание 5 вольт подключаем к ноге VIN.
Остальные контакты 3,3 вольта или сгорит!
На плате имеются контакты Reset.
Индикация: один диод показывает наличие питания, один пользовательский диод – можно использовать как вывод D13, и два диода RX и TX UART.
Seeeduino XIAO против Arduino NANO, Arduino Pro Micro сравнение.
Seeeduino XIAO | Arduino NANO | Arduino Pro Micro | |
Размеры | 17,5x20 | 43,18x17,78 | 33х18 |
Архитектура | 32-bit | 8-bit | 8-bit |
Быстродействие | 48 МГц | 16 МГц | 16 МГц |
Аналоговых входов | 10 | 6 | 4 |
flash | 256 KB | 32 KB | 32 KB |
Sram | 32 KB | 2 KB | 2,5 KB |
Подключение Seeeduino XIAO к Arduino IDE.
1.Запускаем Arduino IDE.
2. Переходим Файл->Настройки.
3. В поле “Дополнительные ссылки для Менеджера плат:” – вставляем https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json жмем “OK”.
4. Переходим в менеджер плат – Инструменты->Плата->Менеджер плат…
5. В поле поиска вводим “XIAO” – Скачиваем и устанавливаем.
6. Выбираем плату – Инструменты->Плата->Seeeduino XIAO
7. Проверяем – Инструменты->Порт – Если порты не появились, значит не встал драйвер USB for Seeeduino XIAO.
Попробуем исправить.
Качаем драйвер тут: https://github.com/Seeed-Studio/Signed_USB_Serial_Driver/blob/master/seeed_usb_serial.inf
И подставляем его в диспетчере устройств Windows.
Ну вроде и все.
Да в “Примерах” появились примеры программ для Seeeduino XIAO!
Документация, примерчики, как сделать сброс, питание и другую информацию вы найдете на странице: https://wiki.seeedstudio.com/Seeeduino-XIAO/
Если очень хочется купить Seeeduino XIAO побыстрее воспользуйтесь предложениями отечественных интернет магазинов ниже.
На платке стоит стабилизатор XC6206 дающий возможность питать периферию на 3.3 вольта с потолком потребления 200mA.
При использование ноги 3.3 вольта для питания периферии конверт Seeeduino немного греется, но не критично.
Макрос для Sprint Layout тут: https://nonano.ru/files/seeduino/seeduino-xiao.zip
Seeeduino XIAO - как сделать второй UART из I2C?
// Скетч создает второй Serial на пинах D4 и D5 жертвуя(вместо) I2C.
// Соеденить перемычками пины D6 и D4
и пины D7 и D5
// Скетч посылает в стандартный uart на пинах D6 и D7 строку "Hello"
// по средствам физического соединения пинов строка должна поступить на mySerial на пинах D4 и D5.
// если строка приходит на mySerial выводим в монитор порта.
#include "wiring_private.h"
// Библиотека даёт возможность изменения функций пинов
Uart mySerial (&sercom2, 4, 5, SERCOM_RX_PAD_0, UART_TX_PAD_0);
// Инициализация объекта класса UART на пинах I2C - 5(TX) и 4(RX)
// &sercom2 - смотрим тут \..\packages\Seeeduino\hardware\samd\1.8.1\variants\XIAO_m0\variant.cpp
// i2c == sercom2
// SERCOM_RX_PAD_0, UART_TX_PAD_0 - смотрим тут \..\packages\Seeeduino\hardware\samd\1.8.1\variants\XIAO_m0\variant.h
byte ask[5] = {0x48, 0x65, 0x6C, 0x6C, 0x6F}; // Hello
void setup()
{ // Выполняется один раз при загрузке
pinPeripheral(4, PIO_SERCOM_ALT); // RX uart 2
pinPeripheral(5, PIO_SERCOM_ALT); // TX uart 2
mySerial.begin(9600);
Serial1.begin(9600); // Стандартный сериал на пинах D4 и D5.
Serial.begin(9600); // Монитор порта
} // --------------------------------------------------------------
void loop() { // Цикл основной программы
Serial1.write(ask, 5);
// Шлем в стандартный serial строку "Hello"
while (mySerial.available()) {
// Если что-то пришло на второй serial
Serial.print((char)mySerial.read());
// Шлем пришедшие данные в монитор порта
}
Serial.println(); delay(100);
}
// Подключаем к SERCOM обработчик прерываний:
void SERCOM2_Handler(){mySerial.IrqHandler();}
XIAO - SAMD21 48 МГц Cortex M0 32 бит. Фото галерея.




Комментарии
Данный текст доступен только зарегистрированным пользователям
Сервисные светодиоды там маломощные, можно сдуть прость, можно наверное и программно попробовать - не знаю.
Про потребление напишу позже, не мерял :) Цитировать