User Manual

This applies to any kind of serial output whether it be error messages or print statements. So before you start trying to
debug your problem on the hardware side, be sure to check that you haven't simply missed the serial messages due to
serial output panel height.
CircuitPython RGB Status Light
The Feather M0 Express, Feather M4 Express, Metro M0 Express, Metro M4 Express, ItsyBitsy M0 Express, ItsyBitsy M4
Express, Gemma M0, and Trinket M0 all have a single NeoPixel or DotStar RGB LED on the board that indicates the
status of CircuitPython.
Circuit Playground Express does NOT have a status LED. The LEDs will pulse green when in the bootloader. They do
NOT indicate any status while running CircuitPython.
Here's what the colors and blinking mean:
steady GREEN: code.py (or code.txt , main.py , or main.txt ) is running
pulsing GREEN: code.py (etc.) has finished or does not exist
steady YELLOW at start up: (4.0.0-alpha.5 and newer) CircuitPython is waiting for a reset to indicate that it should
start in safe mode
pulsing YELLOW: Circuit Python is in safe mode: it crashed and restarted
steady WHITE: REPL is running
steady BLUE: boot.py is running
Colors with multiple flashes following indicate a Python exception and then indicate the line number of the error. The
color of the first flash indicates the type of error:
GREEN: IndentationError
CYAN: SyntaxError
WHITE: NameError
ORANGE: OSError
PURPLE: ValueError
YELLOW: other error
These are followed by flashes indicating the line number, including place value. WHITE flashes are thousands' place,
BLUE are hundreds' place, YELLOW are tens' place, and CYAN are one's place. So for example, an error on line 32
would flash YELLOW three times and then CYAN two times. Zeroes are indicated by an extra-long dark gap.
ValueError: Incompatible .mpy file.
This error occurs when importing a module that is stored as a mpy binary file that was generated by a different
version of CircuitPython than the one its being loaded into. In particular, the mpy binary format changed between
CircuitPython versions 2.x and 3.x, as well as between 1.x and 2.x.
So, for instance, if you upgraded to CircuitPython 3.x from 2.x you’ll need to download a newer version of the library
that triggered the error on import . They are all available in the Adafruit bundle (https://adafru.it/y8E).
© Adafruit Industries https://learn.adafruit.com/adafruit-metro-m4-express-featuring-atsamd51 Page 101 of 172