Guides for product: Adafruit Feather M0 Express - Designed for CircuitPython

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! CircuitPython is our beginner-oriented flavor of MicroPython - and as the name hints at, its a small but full-featured version of the popular Python programming language specifically for use with circuitry and electronics.

Please note, CircuitPython does not come preloaded. See the full guide linked below for instructions on installing it.

That doesn't mean you cant also use it with Arduino IDE! At the Feather M0's heart is an ATSAMD21G18 ARM Cortex M0+ processor, clocked at 48 MHz and at 3.3V logic, the same one used in the new Arduino Zero. This chip has a whopping 256K of FLASH (8x more than the Atmega328 or 32u4) and 32K of RAM (16x as much)! This chip comes with built in USB so it has USB-to-Serial program & debug capability built in with no need for an FTDI-like chip.

Here's some handy specs!

  • Measures 2.0" x 0.9" x 0.28" (51mm x 23mm x 8mm) without headers soldered in
  • Light as a (large?) feather - 5 grams
  • ATSAMD21G18 @ 48MHz with 3.3V logic/power
  • 256KB of FLASH + 32KB of RAM
  • No EEPROM
  • 32.768 KHz crystal for clock generation & RTC
  • 3.3V regulator with 500mA peak current output
  • USB native support, comes with USB bootloader and serial port debugging
  • You also get tons of pins - 20 GPIO pins
  • Hardware Serial, hardware I2C, hardware SPI support
  • PWM outputs on all pins
  • 6 x 12-bit analog inputs
  • 1 x 10-bit analog ouput (DAC)
  • Built in 100mA lipoly charger with charging status indicator LED
  • Pin #13 red LED for general purpose blinking
  • Power/enable pin
  • 4 mounting holes
  • Reset button

The Feather M0 Express uses the extra space left over to add a Mini NeoPixel2 MB SPI Flash storage and a little prototyping space. You can use the SPI Flash storage like a very tiny hard drive. When used in CircuitPython, the 2 MB flash acts as storage for all your scripts, libraries and files. When used in Arduino, you can read/write files to it, like a little datalogger or SD card, and then with our helper program, access the files over USB.

Easy reprogramming: the Feather M0 comes pre-loaded with the UF2 bootloader, which looks like a USB storage key. Simply drag firmware on to program, no special tools or drivers needed! It can be used to load up CircuitPython, PXT MakeCode or Arduino IDE (it is bossa-compatible)

Comes fully assembled and tested, with the UF2 USB bootloader. We also toss in some header so you can solder it in and plug into a solderless breadboard. 

Lipoly battery and USB cable not included (but we do have lots of options in the shop if you'd like!)

Wanna get started with this fancy new Feather? We have a full guide with details on using it with both Arduino IDE and CircuitPython. The guide also has wiring information, drivers, Fritzing objects, schematics, datasheets and more!

 

Feather M0, DotStars, and CircuitPython. What happens when you put them all together?
Dotstar Featherwing in CircuitPython
13
Beginner
*beep* *beep* *boop*
Using Piezo Buzzers with CircuitPython & Arduino
6
Beginner
Program your favorite AVR chips directly from CircuitPython
Stand-alone programming AVRs using CircuitPython
11
Beginner
How to connect and use a DS18B20 one-wire temperature sensor with CircuitPython!
Using DS18B20 Temperature Sensor with CircuitPython
13
Beginner
How to build CircuitPython yourself on different platforms
Building CircuitPython
19
Intermediate
LEDs are made of silicon - pretty much digital sand - so this just makes sense.
Dotstar + CircuitPython Digital Sand
6
Intermediate
How to use the MPL3115A2 barometric pressure sensor with CircuitPython
Using MPL3115A2 with CircuitPython
2
Beginner
Dial in the perfect color for your NeoPixel projects
RGB & HSV NeoPixel Dialer
20
Intermediate
The next step in learning CircuitPython.
CircuitPython Essentials
69
Beginner
How to wire up and use the MCP230xx I2C I/O extender with CircuitPython!
Using MCP23008 & MCP23017 with CircuitPython
10
Beginner
It's log, it's log, it's big, it's data, it's good!
Data Logging with Feather and CircuitPython
11
Beginner
Plot all the things!
Sensor Plotting with Mu and CircuitPython
35
Beginner
Build a 1980s-style synthesizer with DSP-G1 synth-on-a-chip, a Feather, and Trellis keypads and knobs for control!
Trellis Feather DSP-G1 Synthesizer
17
Intermediate
A gentle guide for choosing a controller for your project
How to Choose a Microcontroller
16
Beginner
Interact with CircuitPython Code from within a Jupyter Notebook
CircuitPython with Jupyter Notebooks
14
Advanced
Provide accelerometer information for your Feather-based robotics project.
Adding an Accelerometer to your FeatherWing Crickit
7
Intermediate
Tuples, Lists, and Dictionaries! Oh My!
CircuitPython 101: Basic Builtin Data Structures
11
Intermediate
Make a simple color match game.
NeoTrellis Game
8
Beginner
This device has many names: function generator, waveform generator, and signal generator. As we all know... you can't stop the signal.
Feather Waveform Generator in CircuitPython
15
Intermediate
A MakeCode editor for breadboard friendly boards
MakeCode Maker
2
Beginner
Need the teacher's attention? This solder-free project makes it easy!
CircuitPython Powered AT Hand-Raiser
1
Beginner
Turn the dials to 11 by writing CircuitPython modules in C.
Extending CircuitPython: An Introduction
7
Advanced
Test a servo's range and movement and find it's pulse width limits.
CircuitPython Servo Tester
5
Beginner
How to install the UF2 bootloader and CircuitPython on a variety of SAMD21 microcontroller boards.
Installing CircuitPython on SAMD21 Boards
5
Intermediate