There are a couple of ways to install UF2 onto your board. The easiest method is to download the pre-generated Arduino code and upload it to your board from the Arduino Integrated Development Environment (IDE). 

The Arduino installation method only works if your board comes pre-loaded with the Arduino bootloader. If you can upload Arduino programs to your board, then you're in luck! Continue with the rest of the guide.

If you cannot upload Arduino code to your board (for example, you designed your own board with a factory-fresh SAMD21 chip), then you will need to install the UF2 .bin file. This will require an Atmel ICE or other JTAG programmer.

Install Arduino

If you have not already done so, head to, download, and install the latest Arduino IDE. Note that this guide was written and tested with Arduino version 1.8.7. If you run into issues uploading code, you might want to try this specific version.

This guide will show you how to install the Arduino software, if you need some assistance.

Add Board Manager URL

Some SAMD21 boards will require additional definition files to be installed. If your board is not found in the Board Manager, you will need to tell Arduino where to find more definition files from the Internet.

Open Arduino, and click File > Preferences. To the right of the Additional Boards Manager URLs, click on the Additional URLs window button.

Take a look at the Board Definition Packages table at the end of this page, and locate your board. If you see a Package URL listed, copy it into a new line in this window. If you do not see a Package URL listed next to your board, you can skip this step.

You are welcome to have multiple board manager URLs listed here. Just note that each one needs to be on a separate line.

Click OK to close the Additional Boards Manager URLs window, and click OK once more to close the Preferences window.

Install Board Definition

A board definition tells the Arduino IDE how to upload code to your particular board, which pins to use, etc. Arduino comes with a number of board definitions installed by default, including the Arduino Uno, Arduino Mega, and Arduino Nano. However, many SAMD21 boards are not supported by default in Arduino, which means we need to add them.

Click Tools > Board > Boards Manager... This will bring up the Boards Manager window.

From the Board Definition Packages table below, find your board, and copy the Package Name. Search for this name, and click on the Install button that appears when you hover your mouse over the package's box.

Once the installation process has completed, click Close to exit the Board Manager.

Board Definition Packages

Adafruit Feather M0 Basic Proto


Package URL:


Package Name:

Adafruit SAMD Boards

Arduino MKRZero


Package Name:

Arduino SAMD Boards

SparkFun SAMD21 Dev Breakout


Package URL:

Click for address


Package Name:

SparkFun SAMD Boards

SparkFun SAMD21 Mini Breakout


Package URL:

Click for address


Package Name:

SparkFun SAMD Boards

This guide was first published on Dec 14, 2018. It was last updated on Nov 16, 2018.

This page (Installing the Arduino Board Definition) was last updated on Nov 16, 2018.

Text editor powered by tinymce.