1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards/sodaq-autonomo/doc.txt
2018-08-01 15:24:54 +02:00

119 lines
4.4 KiB
Plaintext

/**
@defgroup boards_sodaq-autonomo SODAQ Autonomo
@ingroup boards
@brief 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](http://shop.sodaq.com/).
## Hardware
![sodaq-autonomo image](http://static.webshopapp.com/shops/104792/files/050759716/sodaq-sodaq-autonomo.jpg)
### 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](http://www.atmel.com/Images/Atmel-42181-SAM-D21_Datasheet.pdf) |
### User Interface
1 LED:
| Device | PIN |
|:------ |:--- |
| LED0 | PA19 |
## Implementation Status
Please refer to [this tracker](https://github.com/RIOT-OS/RIOT/issues/1646)
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](https://launchpad.net/gcc-arm-embedded) 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
*/