# Sparky the Blue Smoke Monster Automaton

## Gather Materials

https://youtu.be/Xwwgg2vGWhM

Wouldn't you like to have a best buddy by your side at the workbench? Someone to keep your spirits up and give you positive feedback while you work on your electronics? _(Ok well maybe not the positive feedback part...)_

Here we'll be building a Sparky the Blue Smoke Monster robot friend! He'll be there when you put the chip in backwards, swap power and ground, or forget the decoupling cap. You might be a little crestfallen when you let the blue smoke out of your chips, but at least you have someone by your side.

This project shows you how to build a talking automaton using cardboard, popsicle sticks and some other household materials, paired with Adafruit's [CRICKIT for Circuit Playground Express](https://www.adafruit.com/product/3093) and a micro servo motor.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/742/medium800thumb/circuitpython_2018-06-19_16_31_04.jpg?1529515289)

# Project Parts
## Household materials you will need

- Scotch tape
- Glue stick
- Double sided foam tape
- Pieces of cardboard (one 8.5" x 11", one 3"x6")
- 2 sheets printer paper
- Popsicle stick
- Scissors or X-acto knife

![](https://cdn-learn.adafruit.com/assets/assets/000/055/789/medium800/circuitpython_AF6C7635-43E5-459D-9785-528D76ECAECE.jpg?1529525181)

## Materials from Adafruit
### Part: Circuit Playground Express
quantity: 1
Circuit Playground Express is the perfect introduction to electronics and programming
[Circuit Playground Express](https://www.adafruit.com/product/3333)

### Part: Adafruit CRICKIT for Circuit Playground Express
quantity: 1
Creative Robotics and Interactive Construction Kit is an add-on to our popular Circuit Playground Express that lets you #MakeRobotFriend using CircuitPython
[Adafruit CRICKIT for Circuit Playground Express](https://www.adafruit.com/product/3093)

### Part: Micro Servo
quantity: 1
This little servo can rotate approximately 180 degrees (90 in each direction). Works just like standard servos you're used to but smaller.
[Micro Servo](https://www.adafruit.com/product/169)

### Part: USB cable - A/MicroB - 3ft
quantity: 1
Standard A to micro-B USB cable
[USB cable - A/MicroB - 3ft](https://www.adafruit.com/product/592)

### Part: Mini Metal Speaker
quantity: 1
1" diameter speaker cone with an 8 Ω impedance and 0.5W or less of power draw.
[Mini Metal Speaker](https://www.adafruit.com/product/1890)

### Part: 3 x AA Battery Holder 
quantity: 1
With On/Off Switch, JST, and Belt Clip
[3 x AA Battery Holder ](https://www.adafruit.com/product/3287)

### Part: Male DC Power adapter
quantity: 1
2.1 mm plug to screw terminal block
[Male DC Power adapter](https://www.adafruit.com/product/369)

### Part: Alkaline AA batteries - 3 pack
quantity: 1
These batteries are good quality at a good price, and work fantastic with any of the kits or projects that use AAs.
[Alkaline AA batteries - 3 pack](https://www.adafruit.com/product/3521)

If your Circuit Playground Express and CRICKIT aren't already connected, now is the time to do that.

The animation below demonstrates how the two become one.

![](https://cdn-learn.adafruit.com/assets/assets/000/057/788/medium800thumb/makecode_2018-07-19_12_53_23.jpg?1532031010)

# Sparky the Blue Smoke Monster Automaton

## Create Sparky

First, download the image of Sparky by clicking on the green box below. Print out two copies. We'll use the second copy to create his mouth.

[Sparky.pdf](https://cdn-learn.adafruit.com/assets/assets/000/055/745/original/Sparky.pdf?1529515430)
Next, you'll need some pieces of cardboard, scissors, and a glue stick.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/790/medium800/circuitpython_59FFB575-6977-43B3-B5B2-49BE5A905ABB.jpg?1529525213)

For best results, add glue to **both** &nbsp;the paper and the cardboard.&nbsp;

&nbsp;

Place Sparky on cardboard base.&nbsp;Press these two together firmly, smoothing out any creases.&nbsp;

&nbsp;

Cut out Sparky's teeth from second printout. Glue this jaw to a small piece of cardboard.

![circuitpython_IMG_4142.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/781/medium640/circuitpython_IMG_4142.jpg?1529523583)

![circuitpython_IMG_3991.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/783/medium640/circuitpython_IMG_3991.jpg?1529523608)

![circuitpython_IMG_3992.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/784/medium640/circuitpython_IMG_3992.jpg?1529523623)

![circuitpython_IMG_3988.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/537/medium640/circuitpython_IMG_3988.jpg?1529360467)

![circuitpython_IMG_3990.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/539/medium640/circuitpython_IMG_3990.jpg?1529360489)

It can be helpful to place Sparky under [a very heavy book](https://www.adafruit.com/product/2356)&nbsp;(or multiple smaller books, etc.) while the glue dries.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/055/543/medium800/circuitpython_IMG_3993.jpg?1529360608)

After waiting for about 10-15 minutes for the glue to dry, you're ready to start cutting the outline!

Cut out Sparky's blue-flame outline.

&nbsp;

Cut around the outline of the jaw.

&nbsp;

Outline a slot on Sparky's chin through which the jaw will be attached.

&nbsp;

Cut out the slot in Sparky's chin carefully with points of scissors or an X-acto blade.

![circuitpython_IMG_3998.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/574/medium640/circuitpython_IMG_3998.jpg?1529363076)

![circuitpython_IMG_4005_copy.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/575/medium640/circuitpython_IMG_4005_copy.jpg?1529363090)

![circuitpython_IMG_4146.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/786/medium640/circuitpython_IMG_4146.jpg?1529523694)

![circuitpython_IMG_4147.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/785/medium640/circuitpython_IMG_4147.jpg?1529523668)

![circuitpython_IMG_4001.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/572/medium640/circuitpython_IMG_4001.jpg?1529363051)

![circuitpython_IMG_3997.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/573/medium640/circuitpython_IMG_3997.jpg?1529363066)

# Sparky the Blue Smoke Monster Automaton

## Give Sparky a Soapbox 

Now it's time to give Sparky a place to stand. An Adafruit packing box is great for this purpose (but any box or other cardboard will be fine). This will also provide a place to house the electronics and make Sparky portable.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/762/medium800/circuitpython_IMG_4153.jpg?1529520878)

Cut out two supports to hold up Sparky. Trim the corners just enough so that they don't extend off the back of the box.

&nbsp;

IMPORTANT: Use your servo to measure the distance from the the hole to where you'll place the right support. Add a little extra distance to account for the thickness of the foam tape.

&nbsp;

Allow the supports to extend beyond Sparky's outline by about 1 inch. This will give clearance for the mouth to move.

&nbsp;

Tape supports firmly in place.&nbsp;

![circuitpython_IMG_4132.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/764/medium640/circuitpython_IMG_4132.jpg?1529520957)

![circuitpython_supports.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/767/medium640/circuitpython_supports.jpg?1529521091)

![circuitpython_IMG_4159.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/775/medium640/circuitpython_IMG_4159.jpg?1529522412)

![circuitpython_IMG_4164.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/777/medium640/circuitpython_IMG_4164.jpg?1529522530)

![circuitpython_IMG_4156.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/779/medium640/circuitpython_IMG_4156.jpg?1529522837)

![circuitpython_IMG_4158_copy.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/792/medium640/circuitpython_IMG_4158_copy.jpg?1529525463)

Now Sparky is ready to be mounted on his box.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/773/medium800/circuitpython_IMG_4163.jpg?1529522362)

Add strips of tape to the bottom of the supports.

&nbsp;

Align the back edge of the box with the back edges of the supports, and tape Sparky in place.

&nbsp;

Cut a small hole in the space between the supports. This hole will allow you to thread the motor cable into the box and store the electronics inside.

&nbsp;

Now you're&nbsp;ready for the next step! Onwards!

![circuitpython_IMG_4165.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/793/medium640/circuitpython_IMG_4165.jpg?1529525989)

![circuitpython_IMG_4166.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/794/medium640/circuitpython_IMG_4166.jpg?1529525998)

![circuitpython_IMG_4167_copy.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/795/medium640/circuitpython_IMG_4167_copy.jpg?1529526013)

![circuitpython_IMG_4169.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/796/medium640/circuitpython_IMG_4169.jpg?1529526020)

![circuitpython_IMG_4175.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/803/medium640/circuitpython_IMG_4175.jpg?1529534181)

![circuitpython_IMG_4177.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/804/medium640/circuitpython_IMG_4177.jpg?1529534193)

# Sparky the Blue Smoke Monster Automaton

## Add the Mouth

Start by (CAREFULLY!) chopping off one end of your popsicle stick.

&nbsp;

Position the mouth where you'd like it on Sparky.

&nbsp;

Then, holding it carefully in place, flip it over and mark the location where you'll attach the popsicle stick.

&nbsp;

Tape popsicle stick in place. It's OK to use lots of tape.

![circuitpython_IMG_4016.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/756/medium640/circuitpython_IMG_4016.jpg?1529520398)

![circuitpython_IMG_4017.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/757/medium640/circuitpython_IMG_4017.jpg?1529520427)

![circuitpython_IMG_4020.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/758/medium640/circuitpython_IMG_4020.jpg?1529520440)

![circuitpython_IMG_4021.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/759/medium640/circuitpython_IMG_4021.jpg?1529520455)

![circuitpython_IMG_4022.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/760/medium640/circuitpython_IMG_4022.jpg?1529520464)

# Calibrating the Servo
This servo can only rotate about 180 degrees back and forth. When we create that slot, we limit it to about 10 or so degrees. Because of this, it's important that we find the limits so we can avoid damaging the motor or our automaton.

Take the servo arm and place it on the servo horn. Use the arm to rotate the motor until you find its extents (limits).&nbsp;

&nbsp;

Find the middle zone, the spot where you can rotate the arm about 90 degrees in either direction. This is where we want it!&nbsp;

&nbsp;

You can now remove the arm from the servo motor.

![circuitpython_IMG_4060.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/680/medium640/circuitpython_IMG_4060.jpg?1529436953)

![circuitpython_IMG_4061.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/681/medium640/circuitpython_IMG_4061.jpg?1529436971)

![circuitpython_IMG_4062.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/682/medium640/circuitpython_IMG_4062.jpg?1529437008)

![circuitpython_IMG_4063.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/683/medium640/circuitpython_IMG_4063.jpg?1529437024)

# Attach the Servo
Add some small strips of double sided foam tape to the base of the motor and the top of the servo arm.

&nbsp;

Stick the servo motor to the inside wall of the support leg, making sure to position it in the middle of the slot.

&nbsp;

Remove the covering from the tape on the servo arm. Place the popsicle stick attached to the mouth through the slot and affix it to the servo arm.

![circuitpython_IMG_4023.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/684/medium640/circuitpython_IMG_4023.jpg?1529437559)

![circuitpython_IMG_4027.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/685/medium640/circuitpython_IMG_4027.jpg?1529437576)

![circuitpython_IMG_4184.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/805/medium640/circuitpython_IMG_4184.jpg?1529534359)

![circuitpython_IMG_4182.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/808/medium640/circuitpython_IMG_4182.jpg?1529534720)

![circuitpython_IMG_4183.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/809/medium640/circuitpython_IMG_4183.jpg?1529534747)

![circuitpython_IMG_4173.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/812/medium640/circuitpython_IMG_4173.jpg?1529552658)

A battery pack supplying 4.5V can be connected to make Sparky portable.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/810/medium800/circuitpython_IMG_4189.jpg?1529534802)

# Connecting the Servo to CRICKIT

Connect your servo to CRICKIT on the Servo group of pins position 1. The orange wire towards the front, the brown or black wire towards the Circuit Playground Express.

**Make sure 4.5 to 5 volt power is supplied via the&nbsp;DC jack&nbsp;on CRICKIT** &nbsp;and the Circuit Playground Express is connected to your computer with the micro USB cable.

Now we're ready for some code!

![](https://cdn-learn.adafruit.com/assets/assets/000/055/761/medium800/circuitpython_69024FDD-481A-4309-89FA-364C80669B54.jpg?1529520504)

# Sparky the Blue Smoke Monster Automaton

## Make it Move with MakeCode

If you haven't used MakeCode before, [this guide is a good place to start](https://learn.adafruit.com/makecode/downloading-and-flashing?embeds=allow).

# Noise Activated!

This example demonstrates how to make Sparky's mouth move in response to noise. MakeCode doesn't currently have a way to play back sounds from wav files. So instead, we'll make the sounds and Sparky will 'talk' along!

[MakeCode](https://learn.adafruit.com/makecode/what-is-makecode) is used to turn the microphone on your CPX into a trigger for the servo motor.&nbsp;

# But before you move on...

...you will need to make sure you have the CRICKIT extension installed in MakeCode. Detailed instructions on how to do that can be&nbsp;[found in this guide](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit?view=all#adding-crickit-extension "MakeCode Crickit Extension").

Once you've got that taken care of, get the Makecode below or via&nbsp;[this link](https://makecode.adafruit.com/39339-64408-92826-32609).

[Click here for code!](https://makecode.adafruit.com/39339-64408-92826-32609)
![](https://cdn-learn.adafruit.com/assets/assets/000/055/699/medium800/circuitpython_Screen_Shot_2018-06-19_at_5.52.21_PM.png?1529445470)

# What's going on here?

This block of code tells the Circuit Playground Express that sits on top of CRICKIT to use its microphone to listen for sounds above a certain loudness threshold.

If it hears a noise, it's told to move the servo motor back and forth between 100-80 degrees.

There are also a couple&nbsp;`pause 100ms` placed in the code to help smooth out the motion of the motor.

Info: 

Danger: 

![](https://cdn-learn.adafruit.com/assets/assets/000/055/802/medium800/circuitpython_IMG_4173.jpg?1529533968)

# Making changes

You can change the value in the `if sound level > 10 then` to change how sensitive Sparky is to noises.&nbsp;

Decrease it to 1 and he'll start chattering at even the slightest whisper.

Increase it to 100 and it'll take a loud clap to set Sparky off.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/700/medium800/circuitpython_Screen_Shot_2018-06-19_at_4.28.19_PM_copy.png?1529445678)

The default value of 10 is already quite sensitive, even quiet sounds like tapping on his box will make Sparky start chattering.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/055/820/medium800thumb/circuitpython_2018-06-21_12_18_53.jpg?1529597975)

If you'd like to make Sparky portable, you can use 3 AA batteries in a battery pack as a power supply. This should provide power to Sparky for about 3 hours of continuous interaction.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/055/813/medium800/circuitpython_IMG_4187.jpg?1529552735)

# Troubleshooting

**Problem** : My servo isn't moving!

**Solution** : Make sure you have 5V power connected and that the small slide switch on the **&nbsp;** CRICKIT is set to "ON".

&nbsp;

**Problem:&nbsp;** My Circuit Playground Express doesn't show up as **CPLAYBOOT**!

**Solution:&nbsp;** Your Circuit Playground Express board comes ready to work with CircuitPython, and will show up on your computer as a flash drive named&nbsp; **CIRCUITPY** &nbsp;when the Circuit Playground Express is connected via USB. To switch over to work with MakeCode, **connect the board to your computer** with a micro USB cable and **click the small reset button** in the center of the board.&nbsp;&nbsp;

When the Circuit Playground Express is in Bootloader mode, all the LEDs will turn&nbsp; **red briefly, then green. Verify your status LED is also pulsing red****.&nbsp; **Your computer should show a new removable drive called** CPLAYBOOT. **Now you can copy the MakeCode file to the** CPLAYBOOT** flash drive.

# Exploring further

If you enjoy MakeCode and want to continue exploring you can check out&nbsp;[lots more MakeCode projects on the Adafruit Learn System](https://learn.adafruit.com/category/makecode).

# Sparky the Blue Smoke Monster Automaton

## Make it Talk with CircuitPython

This example demonstrates how to attach a speaker to CRICKIT to make Sparky talk.

# Getting Familiar

This uses CircuitPython, which requires installing Mu. If you haven't previously used Mu, [this guide will get you started](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

CircuitPython is a programming language based on Python, one of the fastest growing programming languages in the world. It is specifically designed to simplify experimenting and learning to code on low-cost microcontroller boards.

If you haven't used Circuit Playground Express with CRICKIT before, make sure you've updated it with the latest&nbsp;special 'seesaw' version of the CPX firmware. [This guide will show you how](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-code).

# Mount the speaker

Time to give Sparky a voice. This small [0.5 Watt speaker](https://www.adafruit.com/product/1890) is just right, although larger 4 and 8 ohm speakers work also.

Cut out a small square of double sided foam tape.

&nbsp;

Use this to stick the speaker to the outside edge of the box.&nbsp;

&nbsp;

Then connect the speaker wires to CRICKIT as depicted.

![circuitpython_IMG_4134.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/751/medium640/circuitpython_IMG_4134.jpg?1529517765)

![circuitpython_IMG_4135.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/752/medium640/circuitpython_IMG_4135.jpg?1529517780)

![circuitpython_IMG_4137.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/753/medium640/circuitpython_IMG_4137.jpg?1529517796)

![circuitpython_IMG_4139.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/754/medium640/circuitpython_IMG_4139.jpg?1529517810)

![circuitpython_IMG_4140.jpg](https://cdn-learn.adafruit.com/assets/assets/000/055/755/medium640/circuitpython_IMG_4140.jpg?1529517826)

Connect the speaker wires to CRICKIT as shown in the diagram below.

![](https://cdn-learn.adafruit.com/assets/assets/000/055/800/medium800/circuitpython_Dano.png?1529527320)

# Audio Files

Click the button below to download a collection of audio clips for Sparky.

Unzip, then drag and drop these audio clips&nbsp;onto your **CIRCUITPY** drive.

[sparky.zip](https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Crickits/Crickit_Sparky_Automaton/sparky.zip)
If you want to create and use your own wav files, [see this guide](https://learn.adafruit.com/microcontroller-compatible-audio-file-conversion "wav file guide") to ensure they are formatted for playing on CRICKIT.

# Load the Code

The CircuitPython code for this project is available below.

Copy and paste this code into your Mu editor.

Save the code to your&nbsp; **CIRCUITPY** &nbsp;drive in your computer's file exploration program as **code.py**.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Crickits/Crickit_Sparky_Automaton/code.py

Info: Make sure the file saved to **CIRCUITPY** is named **code.py**, this will allow it to run automatically when your CPX is powered on.

# How The Code Works

We start by `import`ing all our helper libraries

```python
import os
import time
import random
import board
import audioio
import audiocore
from adafruit_crickit import crickit
```

Then we look on the little flash drive with `os.listdir("/")` to find all `".wav"` audio files. We have a check to make sure we don't include any `"._"` files, these are special macOS files we ought to ignore

```auto
# Find all Wave files on the storage
wavefiles = [file for file in os.listdir("/")
             if (file.endswith(".wav") and not file.startswith("._"))]
print("Audio files found: ", wavefiles)
```

We get from the `crickit` library access to the Servo #1 port, where we have our micro-servo plugged in. The tiny TowerPro SG-9x servos we're using work best with a 500us to 2500us pulse width, so we let the servo know that.

Then we define some helper variables for the angles that correspond to where the mouth starts and ends when the automaton speaks:

```auto
# mouth servo
mouth_servo = crickit.servo_1
# TowerPro servos like 500/2500 pulsewidths
mouth_servo.set_pulse_width_range(min_pulse=500, max_pulse=2500)

# Servo angles
MOUTH_START = 100
MOUTH_END = 90

# Starting servo location
mouth_servo.angle = MOUTH_START
```

Our helper function play\_file will use the audio capabilities of the CircuitPlayground to play the audio file. _As it is playing_ we also move the servo up and down by assigning `mouth_servo.angle` to those helper variables above! When the audio is done, the servo stops moving

```python
# Audio playback object and helper to play a full file
a = audioio.AudioOut(board.A0)

# Play a wave file and move the mouth while its playing!
def play_file(wavfile):
    print("Playing", wavfile)
    with open(wavfile, "rb") as f:
        wav = audiocore.WaveFile(f)
        a.play(wav)
        while a.playing:  # turn servos, motors, etc. during playback
            mouth_servo.angle = MOUTH_END
            time.sleep(0.15)
            mouth_servo.angle = MOUTH_START
            time.sleep(0.15)
```

Finally, in our loop we will play a random wavefile that we found on the disk and then pause in between.

```auto
while True:
    # Play a random quip
    play_file(random.choice(wavefiles))
    # then hang out for a few seconds
    time.sleep(3)

```

# Save and Run!

Your CIRCUITPY drive should include the code file and audio files.&nbsp;

If you have all these covered, you're ready to rock with Sparky!

![](https://cdn-learn.adafruit.com/assets/assets/000/055/838/medium800/makecode_Screen_Shot_2018-06-21_at_2.14.46_PM.png?1529604910)

https://youtu.be/Xwwgg2vGWhM

# Troubleshooting

**Problem** : My Circuit Playground Express isn't recognized by Mu!

**Solution** : Make sure your board is set up with CircuitPython, which has the Circuit Playground Express show up as a flash drive named&nbsp; **CIRCUITPY** &nbsp;when you connect the CPX to your computer. If it is showing up as&nbsp; **CPLAYBOOT** on your computer, you can&nbsp;[follow the steps in this guide](https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-quickstart)&nbsp;to ensure CircuitPython is loaded and you see the&nbsp; **CIRCUITPY** &nbsp;drive.

&nbsp;

**Problem** : My motor isn't moving!&nbsp;

**Solution** : Make sure you've updated your Circuit Playground Express with the latest&nbsp;special 'seesaw' version of the CPX firmware. [This guide will show you how](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit/circuitpython-code).

# Exploring further

If you enjoy CircuitPython and want to continue learning you can find&nbsp;[lots more CircuitPython projects on the Adafruit Learn System](https://learn.adafruit.com/category/micropython-slash-circuitpython).


## Featured Products

### Circuit Playground Express

[Circuit Playground Express](https://www.adafruit.com/product/3333)
 **Circuit Playground Express** is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and made it even better! Not only did we pack even more sensors in, we also made it even easier to...

In Stock
[Buy Now](https://www.adafruit.com/product/3333)
[Related Guides to the Product](https://learn.adafruit.com/products/3333/guides)
### Adafruit CRICKIT for Circuit Playground Express

[Adafruit CRICKIT for Circuit Playground Express](https://www.adafruit.com/product/3093)
Sometimes we wonder if robotics engineers ever watch movies. If they did, they'd know that making robots into servants always ends up in a robot rebellion. Why even go down that path? Here at Adafruit, we believe in making robots our&nbsp; **friends!**

So if you find...

In Stock
[Buy Now](https://www.adafruit.com/product/3093)
[Related Guides to the Product](https://learn.adafruit.com/products/3093/guides)
### Micro servo

[Micro servo](https://www.adafruit.com/product/169)
Tiny little servo can rotate approximately 180 degrees (90 in each direction) and works just like the standard kinds you're used to but _smaller_. You can use any servo code, hardware, or library to control these servos. Good for beginners who want to make stuff move without...

Out of Stock
[Buy Now](https://www.adafruit.com/product/169)
[Related Guides to the Product](https://learn.adafruit.com/products/169/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)
### 3 x AA Battery Holder with On/Off Switch, JST, and Belt Clip

[3 x AA Battery Holder with On/Off Switch, JST, and Belt Clip](https://www.adafruit.com/product/3287)
This battery holder connects 3 AA batteries together in series for powering all kinds of projects. We spec'd these out because the box is compact, and 3 AA's add up to about 3.3-4.5V, a very similar range to Lithium Ion/polymer (Li-Ion) batteries, plus it has&nbsp;a nifty&nbsp;on-off...

In Stock
[Buy Now](https://www.adafruit.com/product/3287)
[Related Guides to the Product](https://learn.adafruit.com/products/3287/guides)
### Male DC Power adapter - 2.1mm plug to screw terminal block

[Male DC Power adapter - 2.1mm plug to screw terminal block](https://www.adafruit.com/product/369)
If you need to connect a battery pack or wired power supply to a board that has a DC jack - this adapter will come in very handy! There is a 2.1mm DC plug on one end, and a screw terminal block on the other. The terminals are labeled with positive/negative assuming a positive-tip configuration...

In Stock
[Buy Now](https://www.adafruit.com/product/369)
[Related Guides to the Product](https://learn.adafruit.com/products/369/guides)
### Alkaline AA batteries (LR6) - 3 pack

[Alkaline AA batteries (LR6) - 3 pack](https://www.adafruit.com/product/3521)
Battery power for your portable project! These batteries are good quality at a good price, and work fantastic with any of the kits or projects in the shop that use AAs. This is a pack of **3 AA batteries**.  
  
These batteries are Alkaline (MnO2) chemistry, with a voltage...

In Stock
[Buy Now](https://www.adafruit.com/product/3521)
[Related Guides to the Product](https://learn.adafruit.com/products/3521/guides)

## Related Guides

- [Adafruit Circuit Playground Express](https://learn.adafruit.com/adafruit-circuit-playground-express.md)
- [Comparison and Experimentation with Flammable Gas Sensors](https://learn.adafruit.com/gas-sensor-comparison.md)
- [Anatomical 3D Printed Beating Heart with MakeCode](https://learn.adafruit.com/anatomical-3d-printed-beating-heart-with-makecode.md)
- [Introducing Adafruit Crickit #MakeRobotFriend](https://learn.adafruit.com/adafruit-crickit-creative-robotic-interactive-construction-kit.md)
- [Paper Airplane Launcher](https://learn.adafruit.com/paper-airplane-launcher-with-crickit.md)
- [Case for Circuit Playground](https://learn.adafruit.com/case-for-circuit-playground.md)
- [Personal UV HotSpot Parasol](https://learn.adafruit.com/personal-blacklight-uv-parasol.md)
- [Crickit Powered Minerva Owl Robot](https://learn.adafruit.com/crickit-powered-owl-robot.md)
- [UART Communication Between Two CircuitPython Boards](https://learn.adafruit.com/uart-communication-between-two-circuitpython-boards.md)
- [Improve the Low Speed of Brushed DC Motors](https://learn.adafruit.com/improve-low-speed-performance-of-brushed-dc-motors.md)
- [Circuit Playground Express Spooky Laughing Box](https://learn.adafruit.com/spooky-circuit-playground-express-mystery-box.md)
- [Hammer Time Mini Golf Hazard with Crickit](https://learn.adafruit.com/mini-golf-hammer-time-circuit-playground-crickit.md)
- [Tightrope Unicycle Bot](https://learn.adafruit.com/tightrope-unicycle-bot.md)
- [Fireflies with MakeCode](https://learn.adafruit.com/circuit-playground-fireflies-makecode.md)
- [Perfect Pitch Machine](https://learn.adafruit.com/perfect-pitch-machine.md)
- [How to Program SAMD Bootloaders](https://learn.adafruit.com/how-to-program-samd-bootloaders.md)
