CircuitPython

All of our Feathers support Arduino and C/C++ using a gcc toolchain. But not everyone wants to write C/C++ code. Thanks to the bigger and faster chips available, it is now possible to run a full Python interpreter directly in the microcontroller itself!

*mind blown*

The original version of this embedded Python is called MicroPython, written a feat of magic by Damien George. Please help support him by purchasing from his shop! We also stock MicroPython boards, books and badges in the Adafruit shop all of which directly help Damien's efforts.

CircuitPython is a variant of MicroPython which is designed specifically for beginners, and use the chipsets on Adafruit boards, like the SAMD21 and SAMD51. They are 98% the same and use the same interpreter core, just some of the helper libraries vary in naming.

Feathers designed for CircuitPython

Adafruit Feather M0 Express - Designed for CircuitPython

PRODUCT ID: 3403
We love all our Feathers equally, but this Feather is very special. It's our first Feather that is specifically designed for use with CircuitPython!...
$19.95
IN STOCK

Adafruit Feather M4 Express - Featuring ATSAMD51

PRODUCT ID: 3857
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox,...
$22.95
IN STOCK

Adafruit Feather nRF52840 Express

PRODUCT ID: 4062
The Adafruit Feather nRF52840 Express is the new Feather family member with Bluetooth Low Energy and native USB support featuring the nRF52840!  It's...
OUT OF STOCK

Adafruit HalloWing M0 Express

PRODUCT ID: 3900
This is Hallowing..this is Hallowing... Hallowing! Hallowing! Are you the kind of person who doesn't...
OUT OF STOCK

The Feather M0 Express and M4 express are the first in a line of products specifically designed for CircuitPython. The SAMD21 and SAMD51 microcontrollers are inexpensive while still being full featured with native USB, multi serial (I2C and SPI) engines called SERCOMs and a 10 bit DAC. Its 256k on board flash is supplemented with an external flash chip that gives a huge two megabytes for your code and all of our CircuitPython libraries. The status NeoPixel gives you information on the state of CircuitPython even when its unplugged from a computer. Its perfect for rapid prototyping of sensor driven projects.

The Feather nRF52840 Express is a newer board that leverages both a Cortex M4F processor and a Bluetooth radio.

Contrary to its name, the Adafruit HalloWing M0 Express is a Feather (not a FeatherWIng) in a modified form factor with an LCD display. The closeness of HalloWing and Halloween was too good to pass up.

Pros

  • UF2 bootloader for easy drag and drop flashing
  • 2MB SPI Flash for storing all your code, libraries and data files
  • Status NeoPixel for debugging in a pinch
  • Built-in USB support enabling CIRCUITPY drive, USB HID (mouse and keyboard) and easy serial

Cons

  • No built in radio on the SAMD boards. Bluetooth for the nRF52840. Additional radios are available on FeatherWings.
  • Not compatible with MicroPython, only CircuitPython
  • M0: CircuitPython interpreter uses half the 32KiB RAM — only 16KiB for the user

CircuitPython-Compatible Feathers

These Feathers weren't designed for CircuitPython, but they work just fine!

The Huzzah does not have native USB so you don't get the nice "USB drive with source code on it". The non-Express M0's don't have a 2MB SPI Flash so the USB drive you get is quite small, and gets wiped if you update the firmware.

So if you really want to have an easy CircuitPython experience, we suggest the M0 Express, above!

Adafruit Feather M0 Basic Proto - ATSAMD21 Cortex M0

PRODUCT ID: 2772
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller...
$19.95
IN STOCK

Adafruit Feather M0 Adalogger

PRODUCT ID: 2796
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller...
$19.95
IN STOCK

Adafruit Feather M0 Bluefruit LE

PRODUCT ID: 2995
Feather is the new development board from Adafruit, and like its namesake it is thin, light, and lets you fly! We designed Feather to be a new standard for portable microcontroller...
$29.95
IN STOCK

Adafruit Feather M0 RFM69HCW Packet Radio - 433MHz

PRODUCT ID: 3177
This is the Adafruit Feather M0 RFM69 Packet Radio (433 MHz). We call these RadioFruits, our take on an...
$24.95
IN STOCK

Adafruit Feather M0 RFM69HCW Packet Radio - 868 or 915 MHz

PRODUCT ID: 3176
This is the Adafruit Feather M0 RFM69 Packet Radio (868 or 915 MHz). We call these RadioFruits, our take on an...
$24.95
IN STOCK

Adafruit Feather M0 with RFM95 LoRa Radio - 900MHz

PRODUCT ID: 3178
This is the Adafruit Feather M0 RFM95 LoRa Radio (900MHz). We call these RadioFruits, our take on an microcontroller with a...
$34.95
IN STOCK

Adafruit Feather M0 RFM96 LoRa Radio - 433MHz

PRODUCT ID: 3179
This is the Adafruit Feather M0 RFM96 LoRa Radio (433 MHz). We call these RadioFruits, our take on an microcontroller with a "
$34.95
IN STOCK

Prior to CircuitPython, the SAMD21 M0 microcontroller wasn't supported by MicroPython. However, it was supported by Arduino and that lead to a wide variety of M0 based feathers. Now, all of these can run CircuitPython but are more limited in the functionality available. They run the same speed as the Feather M0 Express but are missing the extra space for code on the SPI flash which also means that there is less room internally for functionality in the CircuitPython core.

So, if you already have one and want to try CircuitPython, then you can! They can do smaller code tasks just fine. Just beware that it won't be quite as easy as the Feather M0 Express.

Also note that the extra functionality on these boards, such as the SD card, radios and Bluetooth modules, is not yet supported in CircuitPython. Some of them will require additional core CircuitPython work while others will only require a new library or two.

Pros

  • Additional functionality on-board
  • Built in USB support for CircuitPython drive
  • If you already have one, you can try CircuitPython

Cons

  • Very small file storage 64KiB max
  • No UF2 bootloader
  • No CircuitPython libraries for extra functionality
  • CircuitPython version is reduced functionality to share flash with file storage
This guide was first published on May 14, 2017. It was last updated on May 14, 2017. This page (CircuitPython) was last updated on Sep 20, 2019.