SAMD51 Thing Plus Hookup Guide
Setting Up the Arduino IDE
Download/Install Arduino
You can download the Arduino IDE from their website. They have installation instructions, but we will also go over the installation process as well. Make sure you download the version that matches your operating system.
The installation procedure is fairly straightforward, but it does vary by OS. Here are some tips to help you along. We've also written a separate Installing Arduino tutorial in case you get stuck.
- We recommend using a computer with a full desktop operating system like Windows 10 (avoid Windows 7/8 due to driver issues), Mac OSX, and certain flavors Linux (check the Arduino FAQ page for compatibility).
- We do NOT recommend using a Chromebook, Netbook, tablet, phone, or the Arduino Web IDE in general. You will be responsible for troubleshooting any driver or Arduino Web IDE issues.
- As of writing this tutorial (05-21-2019), the most recent and stable release of the Arduino IDE is version 1.8.5. We recommend using that version of the Arduino IDE; you can download the previous releases here.
- On Windows 10, we do NOT recommend installing the Arduino IDE from the app store. You may run into issues because the OS will automatically update to the most recent release of the Arduino IDE, which may have unknown bugs (like the compiler errors in versions 1.8.6 and 1.8.7).
- Raspberry Pi users with Raspbian installed should use the Linux ARM download. We do not recommend using the command line installation. It will install the oldest release of Arduino, which is useless when it comes to installing new boards definitions or libraries.
- For additional troubleshooting tips, here is a troubleshooting guide from Arduino.
Windows Install Tips
The Windows version of Arduino is offered in two options: an installer or a zip file. The installer is the easier of the two options, just download that, and run the executable file to begin the installation.Windows install steps. Click the image to get a bigger view.
When you're prompted to install a driver during installation, select "Install". This will install drivers for Arduino specific boards (like the Uno, Nano, etc.) that you may use in the future.
- If you choose to download the zip file version of Arduino, you'll need to extract the files yourself. Don't forget which folder you extract the files into! You will need to run the executable Arduino file in the folder to start the Arduino IDE.
- On Windows 10, there is an option to install Arduino through their app store. we do not recommend installing the Arduino IDE from the app store. You may run into issues because the OS will automatically update to the most recent release of the Arduino IDE, which may have unknown bugs.
Mac Install Tips
The Mac download of Arduino is only offered in a zip file version. After the download is finished, simply double-click the .zip file to unzip it.Mac OSX Arduino.app
Following that, you'll need to copy the Arduino application into your applications folder to complete the installation.
Linux Install Tips
As Linux users are no doubt aware, there are many flavors of Linux out there, each with unique installation routines. Check out the FAQ section of the Arduino webpage for more details. Otherwise, you can also use the Linux section of our Installing Arduino tutorial for some helpful links for an assortment of Linux distributions.Raspbian Stretch
Raspberry Pi users with Raspbian installed should use the Linux ARM download. Do not use the command line installation process. For more information, please refer to this blog post from Arduino.Ubuntu and Debian
For Ubuntu and Debian users, installing Arduino should only need a simple "apt-get" command like:sudo apt-get update && sudo apt-get install arduino arduino-core
Other Distributions
Other Linux distros aren't too dissimilar from the Ubuntu and Debian instructions.With Arduino downloaded and installed, the next step is to plug the board in and test it out! Pretty soon you'll be blinking LEDs, reading buttons, and doing some physical computing!
Board Definitions for the SAMD Core
While the SAMD MCU alone is a powerful tool, what truly makes it special is its growing support in the Arduino IDE. With just a couple clicks, copies, and pastes, you can add support for our SAMD core to your Arduino IDE. This page will list every step required for adding the SAMD51 Thing Plus board definition into your Arduino IDE.
Include SparkFun's Cores
Lets begin by making SparkFun's cores available to the Arduino IDE. This doesn't install the core/board definitions, but it does make them available for ease of use for future installations. Open the Arduino preferences (File > Preferences). Then find the Additional Board Manager URLs text box, and copy the below link in:
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/main/IDE_Board_Manager/package_sparkfun_index.json
For additional details, check out this guide on how cores work in the Arduino IDE.
Install the Arduino SAMD Core
To get a SAMD board working in the Arduino IDE, you'll need to install a variety of tools, including the low-level ARM Cortex libraries full of generic code, the arm-gcc to compile your code, and the Bossa flash utility to upload over the bootloader. These tools come packaged along with Arduino's SAMD board definitions for the Arduino Zero.
To install the Arduino SAMD board definitions, navigate to your board manager (Tools > Board > Boards Manager...), then find an entry for Arduino SAMD Boards (32-bits ARM Cortex-M0+). It may help to enter SAMD into the search bar. Select the Arduino SAMD core and install the latest version (recently updated to v1.6.21).
Downloading and installing the tools may take a couple minutes -- arm-gcc in particular will take the longest, it's about 250MB unpacked. Once installed, the INSTALLED text should appear next to the SAMD boards list entry.
Install the SparkFun SAMD Add-on
Now that your ARM tools are installed, one last bit of setup is required to add support for the SparkFun SAMD boards. You should be able to find an entry for SparkFun SAMD Boards (dependency: Arduino SAMD Boards 1.6.19) at the end of the SAMD search results. If you don't see it, close the board manager and open it again. Select the add-on package and install the latest version (*recently updated to v1.6.1, but any version after should still work). Again, the INSTALLED text should appear next to the SparkFun SAMD boards list entry.
Select the Board and Serial Port
Once the board definition for the SAMD51 Thing Plus is installed, you should see a new entry in your Tools > Board list under SparkFun SAMD51 Thing Plus.
The bootloader is what allows us to load code over a simple USB interface. To upload code, you will need to manually enter bootloader mode by rapidly double-tapping the reset button. The board will remain in bootloader mode until power cycles, which happens automatically after uploading code.
On the SAMD51 Thing Plus, the there are a clues to if it is in bootloader mode:
- The D13 LED indicator will be a solid blue (may appear to be slowly fading or blinking).
- Board will show up under a different COM port; make sure you select this COM port after the board in the bootloader mode.
- The board will appear as a USB mass storage device under the name 51THINGBOOT.
Finally, select your board's port. Navigate back up to the Tool > Port menu. The port menu may magically know which of your ports (if you have more than one) is the SAMD51 Thing Plus board. On a Windows machine, the serial port should come in the form of "COM#". On a Mac or Linux machine, the port will look like "/dev/cu.usbmodem####".
Once you find it, select it! That is all you need to get started in the Arduino IDE. In the next section we will go over the hardware and capabilities of the board. However, if you are eager to upload your first Arduino sketch (and review the hardware information later), you can jump over to the Hardware Assembly and Examples sections.