SODAQ Autonomo

Support for the SODAQ Autonomo board.

Overview

The SODAQ Autonomo is a board by SODAQ featuring a ATSAMD21J18A. The SAMD21 is a ARM Cortex-M0+ micro-controller. It has 256Kb of flash memory and 32Kb of RAM.

The Autonomo is available from the SODAQ shop.

Hardware

MCU

MCU ATSAMD21J18A
Family ARM Cortex-M0+
Vendor Atmel
RAM 32Kb
Flash 256Kb
Frequency up to 48MHz
FPU no
Timers 6 (1x 16-bit, 2x 24-bit, 3x 32-bit)
ADCs 1x 12-bit (8 channels)
UARTs max 6 (SERCOMs shared with SPI and I2C)
SPIs max 6 (see UART)
I2Cs max 6 (see UART)
Vcc 1.8V - 3.6V
Datasheet Datasheet

User Interface

1 LED:

Device PIN
LED0 PA19

MCU

MCU ATSAMD21J18A
Family ARM Cortex-M0+
Vendor Atmel
RAM 32Kb
Flash 256Kb
Frequency up to 48MHz
FPU no
Timers 6 (1x 16-bit, 2x 24-bit, 3x 32-bit)
ADCs 1x 12-bit (8 channels)
UARTs max 6 (SERCOMs shared with SPI and I2C)
SPIs max 6 (see UART)
I2Cs max 6 (see UART)
Vcc 1.8V - 3.6V
Datasheet Datasheet

User Interface

1 LED:

Device PIN
LED0 PA19

Implementation Status

Please refer to this tracker to see which projects are work in progress and who is the contact person for this. Notice that the initial support for the Autonomo was based on samr21-xpro. At some point we will add a separate issue to track changes for this board.

Device ID Supported Comments
MCU samd21 partly Energy saving modes not fully utilized
Low-level driver GPIO yes
PWM yes
UART yes two UARTs by now
I2C yes
SPI yes
ADC yes PA04 & PA05 disabled by default due to EDBG’s use of them for UART, can be enabled from periph_conf.h
USB no
RTT yes
RTC yes
RNG no no HW module
Timer yes

Features of the board

Besides the SAMD21 the board has the following features:

Feature Description
Compatibility Arduino M0 compatible
Size 58.5 x 33.5 mm
Operating Voltage 3.3V
Digital I/O Pins 16, with 12 PWM, UART, SPI and TWI (I2C)
Analog Input Pins 6, 12-bit ADC channels
Analog Output Pins 10-bit DAC
External Interrupts Available on all pins except pin 4
DC Current per I/O pin 7 mA
EEPROM Up to 16KB by emulation
Clock Speed 48 MHz
Debug Serial Wire Interface
Communications Bee compatible slot for communication modules with software switchable power
Storage 16Mbit Dataflash Module and Micro SD card holder
Power 5V USB power and/or 3.7V LiPo battery
Power switch Software switchable power for connected devices up to 1A
Charging Solar charge controller, up to 500mA charge current
LED’s Yellow charge LED and green LED on pin 13

Flashing the device

The Autonomo has a 10 pin header compatible with the Atmel-ICE. The standard method for flashing RIOT to the sodaq-autonomo is using OpenOCD. For this to work properly, you have to make sure to use a very recent version of OpenOCD. Arduino-IDE comes with openocd v0.9.0 which is known to work. Also Ubuntu 16.04 has openocd v0.9.0.

Refer to https://github.com/RIOT-OS/RIOT/wiki/OpenOCD for building OpenOCD and make sure “cmsis-dap” and “hidapi-libusb” are enabled.

Supported Toolchains

To build software for the autonomo board we strongly recommend the usage of the GNU Tools for ARM Embedded Processors toolchain.

Known Issues / Problems

Stack sizes

The default stack sizes have not been tuned properly yet. If in doubt why your application crashes try increasing the default stack sizes and use ps to find out how much stack is being used. Tracked in https://github.com/RIOT-OS/RIOT/issues/2228

Stack sizes

The default stack sizes have not been tuned properly yet. If in doubt why your application crashes try increasing the default stack sizes and use ps to find out how much stack is being used. Tracked in https://github.com/RIOT-OS/RIOT/issues/2228