The Adafruit Gemma M0—the First Board to Run CircuitPython Out of the Box

Alasdair Allan
3 min readAug 18, 2017

A couple of weeks ago Adafruit quietly did something rather interesting. They launched a new board, called the Adafruit Gemma M0. It’s a miniature board—about the size of a quarter—and with the alligator-clip sew pads, it’s aimed squarely at the wearables market.

While it might look pretty similar to its predecessor, the new board has swapped out the lightweight ATtiny85 for an ATSAMD21E18. However that’s not the most interesting thing about the update. While it’s Arduino compatible, the new board ships out of the box running CicuitPython.

The Adafruit GEMMA M0 (📷: Adafruit)

CicruitPython is an an open source derivative of MicroPython which supports several Adafruit boards—including the new Gemma M0—and can also be run on the Arduino Zero, and it hugely simplifies development.

When you plug it in, [the board] will show up as a very small disk drive with on it. Edit with your favourite text editor to build your project using Python, the most popular programming language. No installs, IDE or compiler needed, so you can use it on any computer, even ChromeBooks or computers you can’t install software on. When you’re done, unplug the Gemma M0 and your code will go with you.

In other words Adafruit has just shipped a board that doesn’t need any infrastructure to program. Out of the box so long as you have a micro USB cable and a computer—or even a phone or tablet capable of mounting a USB disk and inspecting the files on it—then you can program the board. That’s a powerful simplification over having to install software, and massively lowers the barriers to entry to getting started with microcontrollers and wearables.

The Adafruit GEMMA pin out. (📷: Adafruit)

The new board is based around the ATSAMD21E18, 32-bit ARM Cortex-M0+ running at 48MHz. It has 256KB of flash and 32KB of RAM onboard, and a built in RGB LED. Each of I/O pad can be used for 12-bit analog input, or for digital input and output, with one pad capable of analog output and two with high speed PWM outputs. All three of these pads can be used as hardware capacitive touch sensors with no additional components required. While I2C and native serial is also available on two of the pads, so no annoying bit-banging is needed to talk to serial hardware.

The Adafruit GEMMA M0 is priced at $9.95, and like most Adafruit products comes is thoroughly documented—including datasheets for the components and CAD and PCB data files for the board itself.