This repository containts the source code and configuration files of the Arduino Core for Atmel's SAM D21 and R21 (E variant) processor (used on the FemtoUSB and FemtoBeacon board).
Please use Arduino IDE 1.8.1 or higher. Install the Arduino SAMD Boards (32-bits ARM Cortex-M0+) board package first.
On Ubuntu, you will need to add your user to the dialout group, and the plugdev group. You will need to add the following to /etc/udev/rules.d/98-openocd.rules
(create if needed)
ACTION!="add|change", GOTO="openocd_rules_end"
SUBSYSTEM!="usb|tty|hidraw", GOTO="openocd_rules_end"
ATTRS{product}=="*CMSIS-DAP*", MODE="664", GROUP="plugdev"
LABEL="openocd_rules_end
Run the following command to reload udev, unplug and plug your board back in after:
sudo udevadm control --reload
(See [http://arduino.stackexchange.com/questions/28566/arduino-zero-error-unable-to-find-cmsis-dap-device] )
Add the following package URL to the Additional Boards Manager URLs field in your Arduino IDE via File > Preferences (Settings tab).
The stable release URL is:
https://downloads.femtoduino.com/ArduinoCore-atsamd21e18a/package_atsamd21e18a-release-build_index.json
The hourly build URL is:
https://downloads.femtoduino.com/ArduinoCore-atsamd21e18a/package_atsamd21e18a-hourly-build_index.json
This core is now available as a package in the Arduino IDE cores manager. Just open the Boards Manager and install the package called:
"Atmel SAM D21/R21 core (ATSAMD21E18A/ATSAMR21E18A)" by Femtoduino
For SAM R21 support (ATMEL LwMesh), you will need our fork of library-atmel-lwmesh
library, "at86rf233" branch. Simply add it to your Arduino library folder as "at86rf233"
See https://github.com/femtoduino/library-atmel-lwm/tree/at86rf233
You will also need the FreeIMU libraries (except "MotionDriver") from our fork of FreeIMU-Updates ("FemtoBeacon" branch). Remember to configure FreeIMU/FreeIMU.h
See https://github.com/femtoduino/FreeIMU-Updates
This package is derrived from the Arduino Zero bootloader and core. It has been modified to work with the E variant of the SAM D21 chips.
There is a dedicated section of the Arduino Forum for general discussion and project assistance:
http://forum.arduino.cc/index.php?board=98.0
If you find a bug with the SAM D21/R21 core, you can submit an issue here on github:
https://github.com/femtoduino/ArduinoCore-atsamd21e18a/issues
Before posting a new issue, please check if the same problem has been already reported by someone else to avoid duplicates.
Contributions are always welcome. The preferred way to receive code cotribution is by submitting a Pull Request on github.
The original Arduino Zero core has been developed by Arduino LLC in collaboration with Atmel.
Copyright (c) 2015 Arduino LLC. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA