Skip to content

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

sodaq-autonomo image

MCU

MCUATSAMD21J18A
FamilyARM Cortex-M0+
VendorAtmel
RAM32Kb
Flash256Kb
Frequencyup to 48MHz
FPUno
Timers6 (1x 16-bit, 2x 24-bit, 3x 32-bit)
ADCs1x 12-bit (8 channels)
UARTsmax 6 (SERCOMs shared with SPI and I2C)
SPIsmax 6 (see UART)
I2Csmax 6 (see UART)
Vcc1.8V - 3.6V
DatasheetDatasheet

User Interface

1 LED:

DevicePIN
LED0PA19

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.

DeviceIDSupportedComments
MCUsamd21partlyEnergy saving modes not fully utilized
Low-level driverGPIOyes
PWMyes
UARTyestwo UARTs by now
I2Cyes
SPIyes
ADCyesPA04 & PA05 disabled by default due to EDBG’s use of them for UART, can be enabled from periph_conf.h
USBno
RTTyes
RTCyes
RNGnono HW module
Timeryes

Features of the board

Besides the SAMD21 the board has the following features:

FeatureDescription
CompatibilityArduino M0 compatible
Size58.5 x 33.5 mm
Operating Voltage3.3V
Digital I/O Pins16, with 12 PWM, UART, SPI and TWI (I2C)
Analog Input Pins6, 12-bit ADC channels
Analog Output Pins10-bit DAC
External InterruptsAvailable on all pins except pin 4
DC Current per I/O pin7 mA
EEPROMUp to 16KB by emulation
Clock Speed48 MHz
DebugSerial Wire Interface
CommunicationsBee compatible slot for communication modules with software switchable power
Storage16Mbit Dataflash Module and Micro SD card holder
Power5V USB power and/or 3.7V LiPo battery
Power switchSoftware switchable power for connected devices up to 1A
ChargingSolar charge controller, up to 500mA charge current
LED’sYellow charge LED and green LED on pin 13

Flashing the device

Use BOARD=sodaq-autonomo with the make command.
Example with hello-world application:

make BOARD=sodaq-autonomo -C examples/basic/hello-world flash

Note: If the application crashes, automatic reflashing via USB, as explained above won’t be possible. In this case, the board must be set in bootloader mode by double tapping the reset button before running the flash command.

Accessing STDIO via UART

STDIO of RIOT is directly available over the USB port.

The TERM_DELAY environment variable can be used to add a delay (in second) before opening the serial terminal. The default value is 2s which should be enough in most of the situation.

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