Comprei há uns tempos duas boards mini com o mcu atmel SAMD21 m0. Chegou a altura de as experimentar e ver como funcionam.
Exemplo board SAMD21 M0 Mini
Este documento é um sumário do que aprendi de fundamental. Algumas notas rápidas sobre o primeiro contacto com estes micro controladores.
Contempla o aspecto fisico e o pinout, a instalação e uso no Arduino IDE, e outras particularidades de relevo.
3.3V TTL device
Instalar e usar no Arduino IDE
Instalar o software adequado no gestor de boards do Arduino IDE, identificado como: “Arduino SAMD Boards (32-bits ARM Cortex-M0+) by Arduino”
A board a selecionar é a: “Arduino/Genuino Zero (Native USB Port)”
Serial Port ou Comunicações Serie
Existem 3 portas, SerialUSB, Serial e Serial1, com exemplos de exploração abaixo.
SerialUSB
SerialUSB.begin(9600);
while (!SerialUSB);
SerialUSB.println(“Test SerialUSB”);
Serial
Serial.begin(9600);
while (!Serial);
Serial.println(“Test Serial”);
Não consegui implementar a comunicação serial nesta porta. Julgo que não existe no mini.
Serial1
Serial1.begin(9600);
while (!Serial1);
Serial1.println(“Test Serial1”);
Pinos digitais 0 e 1 (RX e TX), é necessário um conversor USB para TTL (3.3V)


Internal LED
Não está implementado nenhum user LED na placa. Por isso o LED interno não está bem definido no código exemplo. Podem testar a saida no pino 13.
Li no repositório do github indicado abaixo que podermos usar um dos leds usados pelo tx/rx das comunicações serie.
Boards de exploração do atmel SAMD21 M0
Pelo que eu percebi existem várias boards com pelo menos dois formatos.

Um com o formato e dimensões de um arduino uno e o outro mais parecido com o arduino nano.

Pinout das boards SAMD21 M0

/* * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * + Pin number + ZERO Board pin | PIN | Label/Name | Comments (* is for default peripheral in use) * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | Digital Low | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 0 | 0 -> RX | PA11 | | EIC/EXTINT[11] ADC/AIN[19] PTC/X[3] *SERCOM0/PAD[3] SERCOM2/PAD[3] TCC0/WO[3] TCC1/WO[1] * | 1 | 1 <- TX | PA10 | | EIC/EXTINT[10] ADC/AIN[18] PTC/X[2] *SERCOM0/PAD[2] TCC0/WO[2] TCC1/WO[0] * | 2 | 2 | PA14 | | EIC/EXTINT[14] SERCOM2/PAD[2] SERCOM4/PAD[2] TC3/WO[0] TCC0/WO[4] * | 3 | ~3 | PA09 | | EIC/EXTINT[9] ADC/AIN[17] PTC/X[1] SERCOM0/PAD[1] SERCOM2/PAD[1] *TCC0/WO[1] TCC1/WO[3] * | 4 | ~4 | PA08 | | EIC/NMI ADC/AIN[16] PTC/X[0] SERCOM0/PAD[0] SERCOM2/PAD[0] *TCC0/WO[0] TCC1/WO[2] * | 5 | ~5 | PA15 | | EIC/EXTINT[15] SERCOM2/PAD[3] SERCOM4/PAD[3] *TC3/WO[1] TCC0/WO[5] * | 6 | ~6 | PA20 | | EIC/EXTINT[4] PTC/X[8] SERCOM5/PAD[2] SERCOM3/PAD[2] *TCC0/WO[6] * | 7 | 7 | PA21 | | EIC/EXTINT[5] PTC/X[9] SERCOM5/PAD[3] SERCOM3/PAD[3] TCC0/WO[7] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | Digital High | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 8 | ~8 | PA06 | | EIC/EXTINT[6] ADC/AIN[6] AC/AIN[2] PTC/Y[4] SERCOM0/PAD[2] *TCC1/WO[0] * | 9 | ~9 | PA07 | | EIC/EXTINT[7] ADC/AIN[7] AC/AIN[3] PTC/Y[5] SERCOM0/PAD[3] *TCC1/WO[1] * | 10 | ~10 | PA18 | | EIC/EXTINT[2] PTC/X[6] +SERCOM1/PAD[2] SERCOM3/PAD[2] *TC3/WO[0] TCC0/WO[2] * | 11 | ~11 | PA16 | | EIC/EXTINT[0] PTC/X[4] +SERCOM1/PAD[0] SERCOM3/PAD[0] *TCC2/WO[0] TCC0/WO[6] * | 12 | ~12 | PA19 | | EIC/EXTINT[3] PTC/X[7] +SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] *TCC0/WO[3] * | 13 | ~13 | PA17 | LED | EIC/EXTINT[1] PTC/X[5] +SERCOM1/PAD[1] SERCOM3/PAD[1] *TCC2/WO[1] TCC0/WO[7] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | Analog Connector | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 14 | A0 | PA02 | A0 | EIC/EXTINT[2] *ADC/AIN[0] DAC/VOUT PTC/Y[0] * | 15 | A1 | PB08 | A1 | EIC/EXTINT[8] *ADC/AIN[2] PTC/Y[14] SERCOM4/PAD[0] TC4/WO[0] * | 16 | A2 | PB09 | A2 | EIC/EXTINT[9] *ADC/AIN[3] PTC/Y[15] SERCOM4/PAD[1] TC4/WO[1] * | 17 | A3 | PA04 | A3 | EIC/EXTINT[4] *ADC/AIN[4] AC/AIN[0] PTC/Y[2] SERCOM0/PAD[0] TCC0/WO[0] * | 18 | A4 | PA05 | A4 | EIC/EXTINT[5] *ADC/AIN[5] AC/AIN[1] PTC/Y[5] SERCOM0/PAD[1] TCC0/WO[1] * | 19 | A5 | PB02 | A5 | EIC/EXTINT[2] *ADC/AIN[10] PTC/Y[8] SERCOM5/PAD[0] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | Wire | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 20 | SDA | PA22 | SDA | EIC/EXTINT[6] PTC/X[10] *SERCOM3/PAD[0] SERCOM5/PAD[0] TC4/WO[0] TCC0/WO[4] * | 21 | SCL | PA23 | SCL | EIC/EXTINT[7] PTC/X[11] *SERCOM3/PAD[1] SERCOM5/PAD[1] TC4/WO[1] TCC0/WO[5] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | |SPI (Legacy ICSP) | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 22 | 1 | PA12 | MISO | EIC/EXTINT[12] SERCOM2/PAD[0] *SERCOM4/PAD[0] TCC2/WO[0] TCC0/WO[6] * | | 2 | | 5V0 | * | 23 | 4 | PB10 | MOSI | EIC/EXTINT[10] *SERCOM4/PAD[2] TC5/WO[0] TCC0/WO[4] * | 24 | 3 | PB11 | SCK | EIC/EXTINT[11] *SERCOM4/PAD[3] TC5/WO[1] TCC0/WO[5] * | | 5 | | RESET | * | | 6 | | GND | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | LEDs | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 25 | | PB03 | RX | * | 26 | | PA27 | TX | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | USB | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 27 | | PA28 | USB_HOST_ENABLE | EIC/EXTINT[8] * | 28 | | PA24 | USB_NEGATIVE | *USB/DM * | 29 | | PA25 | USB_POSITIVE | *USB/DP * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | EDBG | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 30 | | PB22 | EDBG_UART TX | *SERCOM5/PAD[2] * | 31 | | PB23 | EDBG_UART RX | *SERCOM5/PAD[3] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 32 | | PA22 | EDBG_SDA | Pin 20 (SDA) * | 33 | | PA23 | EDBG_SCL | Pin 21 (SCL) * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 34 | | PA19 | EDBG_MISO | EIC/EXTINT[3] *SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] TCC0/WO[3] * | 35 | | PA16 | EDBG_MOSI | EIC/EXTINT[0] *SERCOM1/PAD[0] SERCOM3/PAD[0] TCC2/WO[0] TCC0/WO[6] * | 36 | | PA18 | EDBG_SS | EIC/EXTINT[2] *SERCOM1/PAD[2] SERCOM3/PAD[2] TC3/WO[0] TCC0/WO[2] * | 37 | | PA17 | EDBG_SCK | EIC/EXTINT[1] *SERCOM1/PAD[1] SERCOM3/PAD[1] TCC2/WO[1] TCC0/WO[7] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 38 | ATN | PA13 | EDBG_GPIO0 | EIC/EXTINT[13] SERCOM2/PAD[1] SERCOM4/PAD[1] *TCC2/WO[1] TCC0/WO[7] * | 39 | | PA21 | EDBG_GPIO1 | Pin 7 * | 40 | | PA06 | EDBG_GPIO2 | Pin 8 * | 41 | | PA07 | EDBG_GPIO3 | Pin 9 * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | GND | | | * | 42 | AREF | PA03 | | EIC/EXTINT[3] *[ADC|DAC]/VREFA ADC/AIN[1] PTC/Y[1] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | 43 | | PA02 | | Alternate use of A0 (DAC output) * | 44 | | PA30 | | SWCLK, alternate use EXTINT[10] TCC1/WO[0] SERCOM1/PAD[2] * | 45 | | PA31 | | SWDIO, alternate use EXTINT[11] TCC1/WO[1] SERCOM1/PAD[3] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | |32.768KHz Crystal | | | * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- * | | | PA00 | XIN32 | EIC/EXTINT[0] SERCOM1/PAD[0] TCC2/WO[0] * | | | PA01 | XOUT32 | EIC/EXTINT[1] SERCOM1/PAD[1] TCC2/WO[1] * +------------+------------------+--------+-----------------+-------------------------------------------------------------------------------------------------------- */
Conheço pelo menos dois fabricantes destas boads.
A sparkfun cujos guides, que apresentam os dois formatos, estão disponíveis no seguinte endereço: https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide
A Wemos, ou pelo menos apresentada com esta marca. Neste caso a informação está disponível nos seguintes links:
https://github.com/inaciose/SAMD21-M0-Mini
https://startingelectronics.org/articles/arduino/wemos-arduino-m0/