CircuitPython is a programming language based on Python, and it is designed to work with low-cost microcontroller boards to make learning and tinkering easier. The Microchip ATSAMD21 is an inexpensive chip with the power to run CircuitPython.

Some SAMD21-based boards, like the Circuit Playground Express, METRO M0 Express, and Feather M0 Express, are designed to work with CircuitPython out of the box. Others, like the Arduino MKRZero, require a little more work.

This guide will show you how to install CircuitPython on a variety of SAMD21-based boards!

The easiest method for installing CircuitPython is through the UF2 bootloader. UF2 is a slick piece of code that runs on your microcontroller, and it allows the board to appear as a drive on your computer. From there, you can simply drag-and-drop the CircuitPython installer! We will need to take the following steps to install CircuitPython on a SAMD21 board:

  • Install Arduino and the appropriate board definition
  • Download the UF2 bootloader Arduino code for your board
  • Upload the UF2 bootloader code to your board from Arduino
  • Download the CircuitPython installer for your board
  • Copy the CircuitPython installer to your board
  • Test it!

Note that you only need to perform these steps once. Once you have installed CircuitPython on your board, you write CircuitPython code for it over and over again!

Not every SAMD21 board is covered in this guide. We try to cover the most popular ones, and CircuitPython is being updated all the time to support new boards, so keep checking back!
This guide was first published on Dec 14, 2018. It was last updated on Dec 14, 2018. This page (Overview) was last updated on Dec 14, 2018.