Gemma M0

by Adafruit

Image of Board

The Adafruit Gemma M0 is a super small microcontroller board, with just enough built-in to create many simple projects. It may look small and cute: round, about the size of a quarter, with friendly alligator-clip sew pads. But do not be fooled! The Gemma M0 is incredibly powerful! Adafruit used the same form factor from the original ATtiny85-based Gemma and gave it an upgrade. The Gemma M0 has swapped out the lightweight ATtiny85 for a ATSAMD21E18 powerhouse.

The Gemma M0 will super-charge your wearables! It’s just as small, and it’s easier to use, so you can do more.

The most exciting part of the Gemma M0 is that it ships with CircuitPython on board. When you plug it in, it will show up as a very small disk drive with code.py on it. Edit code.py with your favorite 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.

Gemma M0 features:

  • Same size, form-factor, and pinout as classic Gemma
  • Updating ATtiny85 8-bit AVR for ATSAMD21E18 32-bit Cortex M0+
  • 256KB Flash - 8x as much as 8 KB on ATtiny85
  • 32 KB RAM - 64x as much as 512 bytes on ATtiny85
  • 48 MHz 32 bit processor - 6x as fast as ATtiny85 (not even taking into account 32-bit speedups)
  • Native USB supported by every OS - can be used in CircuitPython as USB serial console, Keyboard/Mouse HID, even a little disk drive for storing Python scripts. (ATtiny85 does not have native USB)
  • Built in RGB DotStar LED
  • Three big-hole sew-pads can be used for conductive thread or alligator-clips for fast prototyping
    • Each I/O pad can be used for 12-bit analog input, or digital input/output with internally connected pullups or pulldowns
    • True analog output on one I/O pad - can be used to play 10-bit quality audio clips
    • Two high speed PWM outputs on other two I/O Pads - for servos, LEDs, etc
    • All three pads can also be used as hardware capacitive touch sensors with no additional components required
    • Can drive NeoPixels or DotStars on any pins, with enough memory to drive 8000+ pixelsDMA-NeoPixel support on one pin so you can drive pixels without having to spend any processor time on it.
    • Native hardware I2C or Serial available on two pads so you can connect to any I2C or Serial device with true hardware support (no annoying bit-banging)
  • Same Reset switch for starting your project code over
  • On/Off switch built in
  • JST battery connector for plugging in AAA’s or LiPoly battery (no built-in LiPoly charging so it is safe to use with NiMH/Alkalines)

Fully assembled and tested Gemma M0 with CircuitPython & example code programmed in.

Purchase

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 4.1.0

This is the latest stable release of CircuitPython that will work with the Gemma M0.

Start here if you are new to CircuitPython.

Release Notes for 4.1.0

CircuitPython 5.0.0-alpha.4

This is the latest unstable release of CircuitPython that will work with the Gemma M0.

Unstable builds have the latest features but are more likely to have critical bugs.

Release Notes for 5.0.0-alpha.4

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for it. They are stored on Amazon S3 by language (some which may be unreleased.) Try them if you want the absolute latest and are feeling risky.

Past Releases

All previous releases are available on GitHub. They are handy for testing but we recommend the latest stable otherwise.