Elmwood no more, long live Elmwood! Elmwood Electronics and PiShop are now together!
Please order via PiShop.ca, as we are no longer taking orders through this site.
More details are in our blog!

First Glance with Gemma M0

May 25, 2018

First Glance with Gemma M0

Gemma M0 .  A loonie-sized wearable computing solution.

Feels FAST, great value, onboard ; 

  • power switch
  • reset button
  • three conductive touch pads,
  • 1 full RGB LED
  • LED for blinking
  • JST connector
  • SUPER EASY to LOAD & test code with MU environment. 
gemma m0



  • Onboard memory more than enough for the purpose, but need to manage it carefully.  256KB Flash, 32 KB RAM


  • 1/3rd size of an Arduino + (some) Makey-Makey functionality + (some) RGB goodness. 
  • M0 is the third iteration of Gemma. ( Gemma v1, Gemma v2. Gemma M0) which was originally introduced as a miniaturized FLORA (wearable Adafruit platform). Gemma v2 product line still continuing in parallel. 


  • Uses CircuitPython (*new*) or can use the standard the ArduinoIDE (like Gemma v2).
  • CircuitPython + MU is a very integrated development flow once you download and install MU editor (...not ANOTHER CODE EDITOR/IDE. YES!) 
  • You may be familiar with Mu if you've tried to do Micro:BIT coding outside of a browser. 
  • Has serial debugging ( Gemma v1 & v2 don't). 
  • Supported under linux.


  • You plug it in & can read the code.py file at any point in the future & use any text editor & see what 'sketch' is stored on the board. This is an end to the torturous process of old, needing the exact development chain environment to recover or dump micro-controller memory. 


We'll be following along with the Adafruit guide with some extra notes under OSX.

The Gemma m0 has two 'hard drives' on it, a firmware style boot-loader GEMMABOOT & a workspace where you can load and save code to named CIRCUITPY.

For normal use you only need to interact with CIRCUITPY.

The gemma m0 is good to go out of the tiny pink plastic bag.

1. Install MU

1b. ( *sidequest* ) 

If you are the kind of person who wants/likes/needs to update the firmware a guide is here :

It's probably unnecessary for normal use.

You need to double click the onboard reset button which will mount the GEMMABOOT volume instead of CIRCUITPY
Then replace the firmware with a (possibly) newer version off the Adafruit site.

PRO TIP : OSX keyboard shortcut : COMMAND + SHIFT + PERIOD will show hidden files.

Ran into this fascinating error under 10.13.4

Didn't effect the firmware update, so Reset, & back to CIRCUITPY world.

**end Sidequest**

2. GOTCHA : When testing dragging & dropping code.py from OSX to the CIRCUITPY volume, I initially was running into OSX permission errors. It seemed like a unix read-write permission problem BUT, it was actually out of space on the flash memory. I discovered this from deleting the ReadMe.txt and was able to write the the volume. 

3.  PRO TIP : Only edit code.py from within the Mu editor. At this time running through the circuitPython m0 + MU tutorial is the best starter.

Why should you use ANOTHER new text editor ?

With MU+CircuitPython, you can simply fly through development, the iteration cycle is very fast. Type some code, save to the board, see the result. 
mu editor
If that's TOO SLOW, you can use the interactive python REPL interpreter and see results as you type (these aren't saved, more for testing output to console). 

mu repl
What's REPL anyway ? 
Read Evaluate Print Loop. A computer science term where code is essentially executed interactively ( historically LISP, SCHEME, PYTHON, etc ) VS. the more traditional ; write text file, parse, compile, execute of more static-typed languages. A fine explanation of that HERE

Stay tuned for PART TWO of this ongoing series where we take MU+CircuitPython for a spin and test out the basic board I/O features.

Further Reading:

Over the course of the summer I'll be choosing a few of these ^ tutorials to build and document with extra notes on PROTIPS & GOTCHAS.


Also in News

Elmwood no more, long live Elmwood! Elmwood Electronics and PiShop are now together!

October 03, 2022

Elmwood no more, long live Elmwood! Elmwood Electronics and PiShop are now together! Please see our blog for more info.

Continue Reading

Adding RGB LEDs to an illuminated arcade button

March 14, 2022

Continue Reading

We Made a Media Controller!

October 12, 2021

Continue Reading