• 10 x mini NeoPixels, each one can display any color • 1 x Motion sensor (LIS3DH triple-axis accelerometer with tap detection, free-fall detection) • 1 x Temperature sensor (thermistor) • 1 x Light sensor (phototransistor). Can also act as a color sensor and pulse sensor. • 1 x Sound sensor (MEMS microphone) • 1 x Mini speaker with class D amplifier (7.5mm magnetic speaker/buzzer) • 2 x Push buttons, labeled A and B • 1 x Slide switch • Infrared receiver and transmitter - can receive and transmit any remote control codes, as well as send messages between Circuit Playground Expresses. Can also act as a proximity sensor. • 8 x alligator-clip friendly input/output pins • Includes I2C, UART, 8 pins that can do analog inputs, multiple PWM output • 7 pads can act as capacitive touch inputs and the 1 remaining is a true analog output • Green "ON" LED so you know its powered • Red "#13" LED for basic blinking • Reset button • ATSAMD21 ARM Cortex M0 Processor, running at 3.3V and 48MHz • 2 MB of SPI Flash storage, used primarily with CircuitPython to store code and libraries. • MicroUSB port for programming and debugging • USB port can act like serial port, keyboard, mouse, joystick or MIDI!
Can program with Python (with CircuitPython), MakeCode (with Javascript), or Arduino IDE
CircuitPython
Running & Editing Code
Naming
CircuitPython looks for a code file on the board to run. There are four options: code.txt, code.py, main.txt and main.py. CircuitPython looks for those files, in that order, and then runs the first one it finds.
Library Dependencies
You can install your own libraries by just copying them to the folder /lib. Just create it if it doesn’t already exist.
Your code changes are run as soon as the file is done saving. There's just one warning we have to give you before we continue... Don't Click Reset or Unplug! The CircuitPython code on your board detects when the files are changed or written and will automatically re-start your code. This makes coding very fast because you save, and it re-runs. However, you must wait until the file is done being saved before unplugging or resetting your board!On Windows using some editors this can sometimes take up to 90 seconds, on Linux it can take 30 seconds to complete because the text editor does not save the file completely. Mac OS does not seem to have this delay, which is nice! This is really important to be aware of. If you unplug or reset the board before your computer finishes writing the file to your board, you can corrupt the drive. If this happens, you may lose the code you've written, so it's important to backup your code to your computer regularly. There are a few ways to avoid this: 1. Use an editor that writes out the file completely when you save it. Recommended editors: • mu is an editor that safely writes all changes (it's also our recommended editor!) • emacs is also an editor that will fulIy write files on save • vim / vi safely writes all changes • Sublime Text safely writes all changes • Visual Studio Code appears to safely write all changes • gedit on Linux appears to safely write all changes Recommended only with particular settings or with add-ons: • The PyCharm IDE is safe if "Safe Write" is turned on in Settings->System Settings->Synchronization (true by default). • If you are using Atom, install this package so that it will always write out all changes to files on CIRCUITPY. • SlickEdit works only if you add a macro to flush the disk. We don't recommend these editors: • notepad (the default Windows editor) and Notepad++ can be slow to write, so we recommend the editors above! If you are using notepad, be sure to eject the drive (see below) • IDLE does not force out changes immediately • nano (on Linux) does not force out changes • Anything else - we haven't tested other editors so please use a recommended one! 2. Eject or Sync the Drive After Writing If you are using one of our not-recommended-editors, not all is lost! You can still make it work. On Windows, you can Eject or Safe Remove the CIRCUITPY drive. It won't actually eject, but it will force the operating system to save your file to disk. On Linux, use the sync command in a terminal to force the write to disk. Oh No I Did Something Wrong and Now The CIRCUITPY Drive Doesn't Show Up!!! Don't worry! Corrupting the drive isn't the end of the world (or your board!). If this happens, follow the steps found on the Troubleshooting page of every board guide to get your board up and running again.
Serial Console Output
Builtin to Mu
REPL
Ctrl-C from the serial console output
Ctrl-D to return to serial console. Code in memory will auto resume as normal.
Download the latest version for your firmware (2.x, 3.x, 4.x, etc.) and copy the lib and examples folder over. Most boards have enough memory to copy all libraries and examples.