empowering creative people

Our Adafruit Circuit Playground Express Overview

Adafruit has done it again with the new and improved Circuit Playground Express. This new version of the Circuit Playground is packed with even more sensors, and capacitive touch ready connection pads. This is a great board for makers and educators as it's a small package with enough potential to create hundreds of different projects with just the board alone. No soldering or sewing is required, alligator clips can be used on the connection pads for easy prototyping and reusing. If your interested in the Circuit Playground Express or accessories check out the store page!

The Circuit Playground Express can be programmed with MakeCode block-based or Javascript programming, CircuitPython or Arduino IDE! This allows any skill level programmer from absolute beginner to seasoned veteran to unleash the project potential of this board. 

Hardware Heavy

Adafruit Circuit Playground Express w Labels

The Circuit Playground Express comes packed with enough features and sensors to keep any maker busy:

  • 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 a serial port, keyboard, mouse, joystick or MIDI!

Programming the Adafruit Circuit Playground Express

Programming the Circuit Playground Express is made to be easy and there are three different options depending on your skill level and preference. For the those just starting out with programming or those who would like to program in Javascript, there is MakeCode. CircuitPython based on the popular Python language is still a great option for the beginner/intermediate programmer, and the Arduino IDE can be used for the lowest level control over the board.

MakeCode Overview

MakeCode interface is designed with the beginner or educator in mind. There is no software that needs to be installed to run, just a web browser. There is also a Windows App version of the editor that allows you to work completely offline and adds the option of viewing live readings from a connected Circuit Playground Express! MakeCode offers a unique drag and drop block-based interface that makes it easy to learn the fundamentals of coding without getting bogged down with errors. The blocks are made of shapes that only allow them to snap into place in positions that work for the code.
MakeCode is made for the Circuit Playground Express and displays a virtual board with clickable buttons and sensors so you can test your code before even flashing to the board. Once you are ready you can download the code in the form of a UF2 file. Speaking of flashing, getting your new code on the board is easy.

  • Simple plug your board into the computer via a USB,
  • Enter bootloader mode on the board by pressing the reset button once or twice. The lights will turn red then green when ready. (Instructions on entering bootloader mode)
  • Drag your just downloaded UF2 file into the board drive. This is the code that you just made.

You’ve done it! Now your board is running your program and will run it anytime its powered up.
For more advanced users, MakeCode can also be programmed in Javascript, and you can easily switch back and forth between the two to see how adding a block in the visual interface changes the code in Javascript.

MakeCode Adafruit CPX example siren

CircuitPython Overview

CircuitPython is a language based on the very popular Python programming language. It is very easy to use, and there are many different editors available. We recommend using Mu, its free and made specifically for Adafruit and the Circuit Playground Express. CircuitPython has the advantage of simple development and easier coding without needing to worry about compiling or memory management, then this might be the language for you.
One of the big advantages of CircuitPython is that it connects over serial to let you live code, and see your code working in real time. This allows for easier troubleshooting of any errors you might encounter. CircuitPython is still in development, so things may change to make it quicker and easier to use as time goes on.
Before we get started editing code, we need to install or update CircuitPython on our Circuit Playground Express!

Installing CircuitPython on the Circuit Playground Express

The first step to programming with CircuitPython is loading the software onto the Circuit Playground Express. The firmware file you need is called a UF2 file, loading it is easy.

You can find the latest Circuit Playground Express CircuitPython UF2 here!

  • Download the latest UF2 file for the Circuit Playground express (use the above link and get the most recent stable version)
  • Connect the Circuit Playground Express via USB and enter bootloader mode by pressing the reset button once or twice. The lights will turn red for a few moments, and then green when its ready.
  • The Circuit Playground Express will appear as a new drive called CPLAYBOOT. Just drag your UF2 file into the CPLAYBOOT drive.

CPLAYBOOT should now change to CIRCUITPY. Once you see that the drive has changed to CIRCUITPY you have successfully installed the software on the Circuit Playground Express.

Installing the Circuit Playground Express Library

Now that CircuitPython is installed you need to install the library. Start out by getting the latest stable release of the library bundle. Unzip the file and open the folder named lib. Create a folder on your CIRCUITPY drive on the Circuit Playground Express and copy everything from the to your lib folder on the drive, CIRCUITPY/lib

Now you’re done! You can now edit code in Mu or another CircuitPython editor of your choice. There are many editors available for CircuitPython, you can even use a text editor! We recommend using Mu, because it is specifically made to interface with CircuitPython and the Circuit Playground Express. 

You can download the latest version of Mu here!

Mu CircuitPython Blank

Arduino Overview

Arduino is the third programming language supported by the Circuit Playground Express. Although Arduino isn’t quite as accessible to the beginner programmer as MakeCode or CircuitPython, it has been around for over ten years and has been the programming language of choice for many makers. This means that there is a lot of existing code out there and a huge knowledge base of people able to help if you run into any issues. Arduino is the language to use if you want to squeeze the absolute most out of your board. In order to use Arduino, you will need to use the Arduino IDE. Fortunately, the Arduino IDE has native support for the Circuit Playground Express. It’s easy to install, all you need to do is get the latest version of the Arduino IDE and select your board in the menu. If you want more information Check out our Arduino IDE Tutorial.

Arduino IDE

Now that you know how easy it is to get started with the Adafruit Circuit Playground Express, pick up your own and start making! In this tutorial, we were introduced to the variety of sensors and features packed into this board. We also learned about the three different types of programming that you can use in order to program a Circuit Playground Express. If you want to learn more, check out more Circuit Playground Express tutorials. If you are an advanced user and want to learn more about unlocking the full potential of this board, you can check out our Arduino Tutorials page for information on programming in Arduino. This is truly the most educator friendly boards on the market and perfect for any skill level!

Adafruit has done it again with the new and improved Circuit Playground Express. This new version of the Circuit Playgro...

Have a question? Ask the Author of this guide today!