Board: sodaq autonomo
WARNING: This entry will be deprecated. All content has been moved to doc.riot-os.org
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.
|Frequency||up to 48MHz|
|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|
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.
|MCU||samd21||partly||Energy saving modes not fully utilized|
|UART||yes||two UARTs by now|
|ADC||yes||PA04 & PA05 disabled by default due to EDBG's use of them for UART, can be enabled from
|RNG||no||no HW module|
Features of the board
Besides the SAMD21 the board has the following features:
|Compatibility||Arduino M0 compatible|
|Size||58.5 x 33.5 mm|
|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.
To build software for the autonomo board we strongly recommend the usage of the GNU Tools for ARM Embedded Processors toolchain.
Known Issues / Problems
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