Maker.io main logo

Halloween Monsters with CRICKIT and Circuit Playground Express

2025-10-28 | By Adafruit Industries

License: See Original Project Circuit Playground

Courtesy of Adafruit

Guide by Dano Wall and 3 other contributors

Overview

Build your own interactive monsters, powered by Crickit!

It doesn't take exotic materials to build your own animatronic friend, just a few paper cups, craft supplies, a couple of servos, and a Circuit Playground Express with CRICKIT!

This guide shows how program these crafty monsters with both Microsoft MakeCode - a block-based programming system that's easy for anyone to use, and CircuitPython, a Python-based language that is the perfect introduction to higher-level programming.

makecode_six_monster_mosaic

Parts Used

Materials & Tools

To build this project you'll need:

  • Paper cups (this set is a good size and includes many colors)

  • Hot glue and glue gun

  • Pipe cleaners for decoration

  • Scissors

  • Scrap cardboard

  • Optional: googly eyes for facial features, yarn for hair/fur

Werewolf

Here, we will use pipe cleaners to build a furry werewolf.

This werewolf is constructed out of three paper drinking cups with a servo motor controlling the movement.

circuit_playground_projects_werewolf

Create Pivot

Mark an outline of the servo on the bottom of a cup.

Cut a hole in the bottom of the cup.

Insert the servo through the hole.

Use hot glue to glue servo in place.

Attach the servo arm.

create_1

create_2

create_3

create_4

Use hot glue to stick short sections of pipe cleaner on the cup.

Add arms.

Cut a hole for the face.

cup_5

cup_6

cup_7

cup_8

WARNING! BURN HAZARD! Hot glue is very sticky and it's easy to accidentally burn your fingertips. Be careful when using it.

Create a Face

Use a hobby knife to cut out a mouth.

Affix googly eyes with hot glue or glue stick.

Add a nose.

Place colored paper behind the mouth.

face_9

face_10

face_11

face_12

face_13

Join the Cups

Remove the bottom of a cup.

Fit the top cup over the bottom cup.

join_14

join_15

join_16

join_17

Attach Face

Place the trimmed inner cup inside top cup.

Glue a folded riser to the inner cup.

Glue a werewolf face to riser.

attach_18

attach_19

attach_20

attach_21

attach_22

Vampire

This vampire uses two gray paper cups to create the head and cape, and one red cup for the body.

circuit_playground_projects_vampire

Mount the Servo Motor

Cut a hole for a servo motor in the bottom of a cup.

Glue the servo motor in place with hot glue.

servo_23

servo_24

servo_25

Make the Cape

Cut a curved section out of one cup.

This will become the vampire's cape.

You can bend the edges outward to give the cape some more shape and texture.

cape_26

cape_27

cape_28

Make the Vampire Head

Cut out another cup, trimming top and bottom.

This piece will become the vampire's head.

At this stage, you can add some shape to the top edge of the head.

head_29

head_30

head_31

head_32

Test Fit

These three pieces will fit together as pictured.

fit_33

Vampire Face

Cut out two eyes and some fangs out of black cardboard or cardstock.

A thin black collar is a nice addition and will help hold the two cups together.

Glue these vampire features onto the head and attach the cape.

face_34

face_35

face_36

face_37

face_38

face_39

Attach the Arms

Bend two arms out of pipe cleaners.

Use a thin line of hot glue to stick the arms to the edge of the cape.

arms_40

arms_41

arms_42

arms_43

Put the head and cape on the body.

Use a square of double-sided foam tape to stick the head & cape to the servo arm.

body_44

body_45

Your vampire is ready!

vampire_44

Ghost

This spooky ghost pairs two stacked paper cups with a piece of cloth formed around a pipe cleaner to create a ghostly hollow face.

circuit_playground_projects_ghost

Mount the Servo

Cut a hole for a servo motor in the bottom of one cup.

Glue the servo motor in place.

Attach the servo arm.

mount_45

mount_46

mount_47

mount_48

Create the Ghost

Find a piece of tissue paper or cloth about 12" x 12". This will become our ghost's head.

Glue a pipe cleaner diagonally down the middle.

Fold the cloth over the pipe cleaner.

Bend into a U shape.

ghost_49

ghost_50

ghost_51

ghost_52

ghost_53

ghost_54

Now take the ghostly head and fold it over the paper cup.

Use a line a hot glue on either side of the cup to hold the ends of the pipe cleaner to the cup.

Trim the ends off, if necessary.

trim_55

trim_56

trim_57

trim_58

Add Arms

Fashion two arms out of sections of a pipe cleaner.

Hot glue these to the sides of the ghost.

add_59

add_60

add_61

add_62

Use a square of double-sided tape to connect the ghost body to the ghost head.

square_63

square_64

Your ghost is now ready to dance!

ghost_65

Spider

For this monster, we will use two paper cups and some pipe cleaners to create a long-legged spider.

makecode_spider_wiggle

Face

Cut 8 small holes in a black cup.

As with previous monsters, cut a rectangular hole in the bottom of the cup and mount the servo through it.

face_66

face_67

Eyes

Place eyes on inner cup.

Be careful to place them so they line up with the holes you cut!

eyes_68

eyes_69

Legs

Glue eight spidery legs onto outer cup.

Pipe cleaners work best for this, as they can be bent and trimmed to create the effect you want.

Assemble the two cups together, using a piece of double-sided foam tape to secure the inner cup to the servo motor arm.

legs_70

legs_71

legs_72

Your spider is now ready to dance! Spoooooooky!

spider_73

Cat

In this example, three paper cups, a few pipe cleaners and some markers create a cat with shifty eyes.

makecode_cat_test

Eyes

Draw two cat eyes on a brightly colored cup, positioning the eyes around the middle of the cup.

Cut off the top of the cup. This will sit inside the outer cup, allowing the eyes to move independently.

Cut out two eye holes in the outer cup, aligning them with the cat eyes on the inner cup.

draw_74

draw_75

draw_76

Ears

Add two ears to the top edge of the outer cup.

Use a small line of hot glue to hold them in place.

ears_77

ears_78

Whiskers and Nose

Cut some whiskers out of pipe cleaners or yarn. Glue these in place below the eyes with dabs of hot glue.

Add a round pink nose, using rubber, pink craft paper, or a marker.

whiskers_79

whiskers_80

whiskers_81

Paws

Cut the top off another cup to create a base that the head will sit in.

Draw paws on the bottom of the cup, include as much detail on the legs and body of the cat as you like.

paws_82

paws_83

cat_84

Owl

In this example, some cardboard is attached to a paper cup to create the face of an owl, while two more cups make the moving eyes and winged body.

Face

Cut out a faceplate in the shape of an owl's head.

Cut out two matching holes in a cup.

face_85

face_86

Servo Motor

Add a servo motor to the base of the cup.

Place the trimmed inner cup inside.

Add googly eyes.

servo_87

servo_88

Googly eyes work well for this owl, creating a perpetually surprised look.

makecode_IMG_8548 2018-10-19_12_49_07

Body

Cut a base out of another paper cup.

After the bottom has been removed, cutting a zig-zag pattern along the edge of the cup lends a feathery pattern to the animal.

body_89

body_90

Wings

Create two wings from scrap cardboard. Add feathery details with a silver sharpie.

Glue the wings to the sides of the cup.

wings_91

wings_92

Monstrous MakeCode

Wiring Diagram

diagram_93

Each of the monster servos plug into the Crickit in the Servo block. Start with 1, then 2, then 3. The lightest color (white or yellow) wire faces outward, the darkest (black or brown) inward.

The Circuit Playground Express is attached to the Crickit per these instructions.

Code

Now it's time to upload some code! For this we will be using Microsoft MakeCode for Adafruit, a web-based code editor. It provides a block editor, similar to Scratch or Code.org, and also a JavaScript editor for more advanced users.

If you haven't used MakeCode before, this guide is a good place to start.

Getting into Bootloader Mode

To make your board work with MakeCode, we need to put the Circuit Playground Express into "bootloader mode". All that's required to do this is to connect the board to your computer with a micro-USB cable and click the small reset button in the center of the board.

circuit_playground_projects_CPX_bootloader_mode

Click this link or the button below to enter the portal to interact with the code for this project.

Open the code in MakeCode

How to Upload Code

To upload code, connect you Circuit Playground Express to your computer using the micro-USB cable, click the Download button to download the .uf2 file to your computer, and drag 'n drop it onto the CPLAYBOOT drive using your computer's file explorer program or finder.

The drive will automatically eject itself. (Your computer may give you a "failed to eject drive correctly" error, you can ignore this.) The code is now on your Circuit Playground Express and ready to run!

Making Changes

If you'd like to play with this code, click Edit and a new window will open in which you can create your own version.

You can easily click and drag the block of functions around, making it simple to change what will trigger the monsters to start dancing.

circuit_playground_projects_change_input_trigger

You can change the sensitivity of certain triggers in the on-start block.

Settings for both the light threshold and sound threshold can be altered to make your monsters appropriately sensitive to the conditions in which you place them.

settings_94

circuit_playground_projects_sensitivity_setting

Troubleshooting

Problem: My motors aren’t responding!

Solution: Make sure that the small slide switch on the CRICKIT near the DC power connector is set to “ON”.

Problem: My Circuit Playground Express doesn’t show up as CPLAYBOOT!

Solution: Your Circuit Playground Express board comes ready to work with CircuitPython, and will show up as a flash drive named CIRCUITPY the first time it’s connected to your computer. 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.

When Circuit Playground Express is in Bootloader mode, all the LEDs will flash red briefly, then turn green. Your computer should now show removable drive called CPLAYBOOT. Now you can copy the MakeCode file to the CPLAYBOOT flash drive.

Spooky CircuitPython

Rather than using MakeCode, it is also possible to switch your Circuit Playground Express into CircuitPython mode with one single press of the reset button in the middle of the board.

In this example, we'll learn how to use CircuitPython to control each monster.

Getting Familiar

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.

CircuitPython is easiest to use within the Mu Editor. If you haven't previously used Mu, this guide will get you started.

If you haven't used Circuit Playground Express with CRICKIT before, make sure you've updated it with the latest special 'seesaw' version of the CPX firmware. This guide will show you how.

Sample code

To start, copy and paste the code below into your Mu editor.

Download File

Copy Code
import time
from adafruit_crickit import crickit
from adafruit_circuitplayground.express import cpx


# Create three servos on Crickit
def dance_monster1():
    crickit.servo_1.angle = 80
    time.sleep(0.100)
    crickit.servo_1.angle = 100
    
def dance_monster2():
    crickit.servo_2.angle = 80
    time.sleep(0.100)
    crickit.servo_2.angle = 100    

def dance_monster3():
    crickit.servo_3.angle = 80
    time.sleep(0.100)
    crickit.servo_3.angle = 100
    
def dance_monster4():
    crickit.servo_4.angle = 80
    time.sleep(0.100)
    crickit.servo_4.angle = 100

while True:
    if cpx.light < 1000: 
        dance_monster1()
    if cpx.light < 1000:
        dance_monster2()
    if cpx.shake:
        dance_monster3()
    time.sleep(1.5)  

code_95

Uploading

Make sure you've connected the Circuit Playground Express to your computer and have Mu open and connected to your board.

board_96

Once the code is copied into Mu, press the Save button - your code should be saved to the CIRCUITPY disk drive (which appears when the Circuit Playground Express is plugged into your computer) as code.py.

code_97

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 CIRCUITPY when you connect the CPX to your computer. If it is showing up as CPLAYBOOT on your computer, you can follow the steps in this guide to ensure CircuitPython is loaded and you see the CIRCUITPY drive.

Problem: My servo isn't moving!

Solution: Check that the switch on CRICKIT is set to "ON".

Problem: My servo still isn't moving!

Solution: Make sure you've updated your Circuit Playground Express with the latest special 'seesaw' version of the CPX firmware. This guide will show you how.

Trick or Treat!

Set this trio of monsters in a darkened room and wait for someone to enter and turn on the lights. Suddenly they all spring to life!

These monsters are fun to leave somewhere like on a porch with an automatic light, so they'll start dancing whenever a guest approaches in response to the change in brightness or the sound of their approaching footsteps, depending on which trigger mechanism you prefer.

circuit_playground_projects_IMG_8393 2018

makecode_cat_spider_owl 2018-10-19

Mfr Part # 3093
CRICKIT CIRCUIT PLAYGROUND EXP
Adafruit Industries LLC
NT$1,041
View More Details
Mfr Part # 3333
CIRCUIT PLAYGROUND EXPRESS
Adafruit Industries LLC
Mfr Part # 169
SERVOMOTOR RC 5V TOWERPRO
Adafruit Industries LLC
Mfr Part # 592
CABLE A PLUG TO MCR B PLUG 3'
Adafruit Industries LLC
Mfr Part # EN91
BATTERY ALKALINE 1.5V AA
Energizer Battery Company
Mfr Part # 3842
BATTERY HOLDER AA 3 CELL LEADS
Adafruit Industries LLC
Add all DigiKey Parts to Cart
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.