Have two Circuit Playgrounds communicate

Connecting to external LEDs

Animated pseudo-lights

This video used some variables I cut and pasted from Wolfram programming lab. If you want to use them in your project, here they are:

var xPoints = [193, 248, 270, 248, 193, 126, 71, 50, 71, 126];
var yPoints = [120, 160, 225, 289, 329, 329, 289, 225, 160, 120];

Timed loops Code Studio projects


  • Move a circle around the screen based on how level you hold the Circuit Playground.


  • This adds collision detection to the Fly project, for a makeshift video game.

Digital writes

  • This is a simple demo of setting a pin to digital write mode, and toggling it on and off with a button.


  • Show the Circuit Playground’s current pitch, inclination, and roll values.

Lowest Light

  • Use the accelerometer to displays the inclination value, and light up the ColorLED that is lowest.


  • This shows a timed loop iterating through each ColorLED, and draws on a canvas a representation of which light on the board should be lit.

Cyclons talking

  • Working code from the “Have two Circuit Playgrounds communicate” video.


  • Simple Pong-like game where one player is controlled with Circuit Playground buttons, the with arrow keys

Arduino projects


  • The firmware that allows Code Studio to talk to the Circuit Playground. After playing with the Arduino projects below, you can load the Firmata firmware back onto your Circuit Playground to use Code Studio again.

Star Trek comm badge

  • Tap the Circuit Playground to hear the Trek comm badge sound

Simon client

  • Play a game of Simon with multiple Circuit Playgrounds each acting as a single button. Requires loading the Simon server project onto an Adafruit Gemma M0… which I haven’t written yet. Coming soon, I hope.

Serial Send

Serial Receive

  • A simple demo of using Serial1 to transmit a word (“button”) over alligator-clip cable from one Circuit Playground to another. Use the serial port monitor on the receiving board to see what it receives. Press the left button of the sending board to send the message.