Skip to content

Atmel SAM D21 Xplained Pro

Support for the Atmel SAM D21 Xplained Pro board.

Support for the Atmel SAM D21 Xplained Pro board.

Overview

The SAMD21 Xplained Pro is an ultra-low power evaluation board by Atmel featuring an ATSAMD21J18A SoC. The SoC includes a SAMD21 ARM Cortex-M0+ micro- controller. For programming the MCU comes with 32Kb of RAM and 256Kb of flash memory.

Hardware

samd21-xpro image

MCU

MCUATSAMD21J18A
FamilyARM Cortex-M0+
VendorAtmel
RAM32Kb
Flash256Kb
Frequencyup to 48MHz
FPUno
Timers5 (16-bit)
ADCs1x 12-bit (20 channels)
UARTsmax 6 (shared with SPI and I2C)
SPIsmax 6 (see UART)
I2Csmax 6 (see UART)
Vcc1.62V - 3.63V
DatasheetDatasheet
Board ManualBoard Manual

User Interface

1 User button and 1 LED:

DevicePIN
LED0PB30
SW0 (button)PA15

Implementation Status

DeviceIDSupportedComments
MCUsamd21yes
Low-level driverGPIOyes
ADCyes
PWMyes
UARTyes
I2Cyes
SPIyes
USByes
RTTyes
RTCyes
Timeryes

Flashing the device

Connect the device to your Micro-USB cable using the port labeled as DEBUG USB.

The standard method for flashing RIOT to the samd21-xpro is using edbg. by calling:

Terminal window
make BOARD=samd21-xpro -C tests/leds flash

Note that on Linux, you will need libudev-dev package to be installed.

Users can also use openOCD to flash and/or debug the board using:

Terminal window
PROGRAMMER=openocd make BOARD=samd21-xpro -C tests/leds flash

On Linux you will have to add a udev rule for hidraw, like

Terminal window
echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' \
| sudo tee -a /etc/udev/rules.d/99-usb.rules
sudo service udev restart

Arch Linux

With yaourt:

Terminal window
yaourt -S libudev0
yaourt -S hidapi-git
yaourt -S openocd-git
# edit PKGBUILD, add "cmsis-dap hidapi-libusb" to "_features"

Ubuntu

Although this refers to setting up the SAMR21, this guide is still very helpful to understanding how to set up a solid RIOT development environment for the SAMD21: http://watr.li/samr21-dev-setup-ubuntu.html