Free Domestic Shipping on orders over $150!

News

Things We Sell ! Wearable Electronics : Adafruit Flora, Gemma & CPX

A new regular Blog series.
Featuring quick overviews of the various platforms Elmwood offers.

Intro to Wearable/Sewable Electronics aka 'e-textiles' : Adafruit.


Common Elements:

  • Conductive thread instead of copper wire or circuit board traces.
  • Sewing
  • Fun !


Different Product lines:

  • [Adafruit's evolving wearable ecosystem explained with Starbucks Sizes.]
CircuitPythonExpress aka 'CPX' ( Venti )
Flora ( Grande )
Gemma m0 ( short )
Trinket m0 ( tiny ! )  m0 uses Circuit Python Language. 

     

    Older models, aka 'counting all the chickens' :

    There were non-CircuitPython ArduinoIDE 'C' based versions of most boards in the past.

    Flora is still ArduinoIDE based.  Adafruit has slowly moved it's product line to be programmable with CircuitPython (a smaller subset of the Python language targeted to small microcontrollers).
    Also slightly confusing, there are a handful of previously existing (& still amazing) Trinket Boards : 
    1501 - Standard Trinket 5V - ArdunioIDE / C
    2010 - Pro Trinket 3V - ArdunioIDE / C
    2000 - Pro Tinket 5V - ArdunioIDE / C
     
    The Circuit Playground Express  Board (CPX) is the most versatile learning tool, as you can start with Microsoft MakeCode block-based tool, then move to Javascript , or Circuit Python and for the low level coders,  ArduinoIDE. 
    CPX is quickly becoming a favorite in North American schools, giving the Micro:Bit a run for it's money. 


    Important People in wearables from Adafruit :

      Becky Stern & Lady Ada


    Adafruit's Wearable World :

    Adafruit originally went big with wearables with the FLORA arduino based product line. They have been slowly transitioning to CircuitPython based boards such as the Circuit PythonExpress, Gemma m0 and Trinket m0.

    However, if you WANT TO, you can still flash the firmware on those & use good old Arduino 'C'. 


    CircuitPythonExpress is flagship board which can hold all the CircuitPython Library Functions at once. Gemma m0 is a similar board with a smaller set of features & onboard memory for specific use smaller wearable projects. 


    Ideally, learn & prototype with the larger CircuitExpress first, then for build-specific-use projects switch to the smaller Gemma m0 which can hold one or two libraries of code.
    ( Libraries are pre-written code that utilize expanded features of the boards.)

    'Neopixel' is the most commonly promoted library which can drive LED strips to make things like the FIREwalker sneakers
    or the Flora RGB Neopixel button sized lights.

    One could as easily start with Gemma and work with that for quite a while before needing the expanded feature set of the Circuit Playground Express. 


    Adafruit Kits

    Circuit Playground Express Educators Pack

     

    Gemma
    Gemma v2 Starter Pack 


     

    Gemma sensor starter pack

     

    Gemma talking toy guts sound pack



    Flora v2 (ArduinoIDE  / not python based)

    Flora budget pack

    Flora sensor pack

    Getting started with adafruit flora book pack





    Suggested Companions Out of the box:
    • Many scraps of practice Fabric
    • Sewing skills
    • Clear Nail Polish for sealing ends of conductive circuit knots.

    Recommended Viewing:

    Powering Wearables

    Conductive thread basics


    Intended Use :
    Learning & creating wearable electronics.
    CPX start with Blocks visual language, then move on to Javascript or Python or even C. 

    If you want to make more out of the box ideas with many lights or UV sensors or larger projects, choose CircuitPythonExpress to prototype.
    Then miniaturize to Gemma m0.
    Or begin with any of the Gemma starter kits.
    Adafruit has a vast library of tutorials over many years with a huge selection of projects to learn from. No (reasonable) upper limit on what you can eventually build. 

     

    Performance :

    These devices seek to be as low powered as possible, so integer performance isn't really a valid measure here. CircuitPythonExpress and Gemma m0 have very snappy processors for the purpose.

    Hackery Tips :

    Good generic platforms for about anything soft & flexible you can imagine.
    Avoid water.

    First Glance with Gemma M0

    Gemma M0 .  A loonie-sized wearable computing solution.

    HIGHLIGHTS :
    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

     

    OF NOTE :

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


    WHERE DOES IT FIT IN PRODUCT LINES ?

    • 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. 


    HOW IS IT DIFFERENT?

    • 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.


    SO AWESOME :

    • 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. 



    FIRST STEPS:

    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
    https://learn.adafruit.com/adafruit-gemma-m0/installing-mu-editor

    1b. ( *sidequest* ) 


    If you are the kind of person who wants/likes/needs to update the firmware a guide is here :
    https://learn.adafruit.com/adafruit-gemma-m0/circuitpython

    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

    invisible
    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.

    PURCHASE GEMMA m0 on Elmwood site. 

    Further Reading:
    https://blog.adafruit.com/2018/03/29/even-more-gemma-circuit-python-guides/

    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.

    -Rob