CircuitPython Expectations

CircuitPython runs nicely on the Gemma or Trinket M0 but there are some constraints

Small Disk Space

Since we use the internal flash for disk, and that's shared with runtime code, its limited! Only about 50KB of space. Our Express line of boards have a whopping 2 MB of external Flash, if you need more space

PWM & PulseIO requires v2.1+

As of CircuitPython 2.1 we have added PulseIO support to Trinket & Gemma M0. That means PWM, piezo, servo, DHT22 and Infrared support!

No Audio or NVM

Part of giving up that FLASH for disk means we couldn't fit everything in. There is, at this time, no support for hardware audio playpack or NVM 'eeprom'. For that support, check out the Circuit Playground Express or other Express boards

However, I2C, UART, capacitive touch, NeoPixel, PWM, analog in and out, digital IO, logging storage, and HID do work! Check below for quick starts on all these.

Things to watch out for!

  • The wide body of python libraries have not been ported over, so while we wish you could import numpy, numpy isn't available. So you may have to port some code over yourself!
  • For the ATSAMD21 based boards (Feather M0, Metro M0, Trinket M0, Gemma M0, Circuit PlayGround Express) there's a limited amount of RAM, we've found you can have about 250-ish lines of python (that's with various libraries) before you hit MemoryErrors. The upcoming SAMD51 chipset will help with that a ton but its not yet available)
  • Non-Express boards like Trinket M0 and Gemma M0 and non-Express Feathers do not include all of the hardware support. For example, audioio and bitbangio are not included.
  • Integers can only be up to 31 bits. Integers of unlimited size are not supported.
  • We keep up with MicroPython stable releases, so check out the core 'differences' they document here.

Frequently Asked Questions

How do I check how much memory I have free?

import gc


Will give you the number of bytes available for use.

Last updated on 2018-03-07 at 12.06.26 PM Published on 2017-07-26 at 06.08.30 PM