Tappy Hand

This project combines very basic materials to create an entrancing hand that can be "programmed" to move its fingers in different sequences.

The Electronics

This project is based around the Circuit Playground Express. This board is packed with sensors and is easy to program using the block-based code editor MakeCode.

Circuit Playground Express is the next step towards a perfect introduction to electronics and programming. We've taken the original Circuit Playground Classic and...
Out of Stock
This servo rotates fully forward or backward instead of moving to a position. You can use any servo code, hardware, or library to control these servos. Good for making simple moving...
In Stock
Plastic wheel with a cutout specially designed to allow attachment to our larger continuous rotation servo. Makes it easy to get your...
In Stock
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...
In Stock
When working with unusual non-header-friendly surfaces, these handy cables will be your best friends! No longer will you have long, cumbersome strands of alligator clips. These...
In Stock
By popular request - we now have a way you can turn on-and-off Lithium Polymer batteries without unplugging them.This PH2 Female/Male JST 2-pin Extension...
In Stock


If you'd like to power your project without connecting a USB cable to your computer either of these battery options work well to untether your device.

This battery holder connects 3 AAA batteries together in series for powering all kinds of projects. We spec'd these out because the box is slim, and 3 AAA's add up to about...
In Stock
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 AAA's. This is a...
In Stock
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This...
In Stock

Other Materials

In addition to the electronics, for this project you will need:

Rotating Drum

The central component of this robotic hand is the spinning drum. This drum has different slots that can hold squares of cardboard in different positions. 

Cardboard Tube


Find a cardboard tube about 2.5" wide.


Cut off a section about 4" in length.

Cardboard foundation


Cut a length of cardboard about 16" long and 5" wide. 


Use the section of tube you've cut to measure where to score the fold lines. Fold cardboard into a "U" shape.

Cut a pile of cardboard "ribs" the same length as the cardboard tube and about 1/2" wide.


Add a line of glue to the edges of each rib. This line of glue will provide grip to hold small squares of cardboard. 

Glue these ribs around the cardboard tube.


Leave a small gap between the edge of each rib, just wide enough to slide a piece of cardboard into.

Test your rotating drum out by sliding some bits of cardboard into the gaps. They should grip the cardboard firmly, but still allow you to slide them back and forth without too much effort.

If you find the grip too loose, add another small line of hot glue to the edge. If the grip is too tight, squeeze the cardboard square to flatten it slightly, the corrugation inside should give it enough spring to still fit tightly into place.

Use hot glue to attach servo wheel to cardboard tube.

Mount servo motor


Trace servo outline on one side of the cardboard. Make sure to leave enough room that the rotating drum and slats will be able to rotate freely.

Press servo into cutout.

Use hot glue or screws to hold the motor in place.

Attach drum to motor

Screw servo wheel onto servo horn.

Cardboard spacers


Make a set of 8 cardboard spacers by cutting small squares of cardboard and poking a small hole through the center.

These spacers will make it easy to set the position of the fingers so they line up with the slats inserted in the rotating drum

Adding Fingers


Position pivot point for the fingers.

Push skewer through cardboard.

Add fingers and spacers one by one.

When you're finished you should be able to spin the axle and see it rotate freely within the fingers.

Set the Slats


You can now slide some squares of cardboard into the rotating drum and test how they interact with the fingers.

Complete the Circuit

Connect the Vout pad on Circuit Playground Express (CPX) to the servo's red wire, the A1 pad to the yellow wire, and the GND pad to the brown wire. 

The alligator clip-to-male jumper wire connectors are great for connecting servo motors to CPX.

Your hand is now ready for some MakeCode!

Getting Familiar

Microsoft MakeCode for Adafruit is a web-based code editor that provides a block editor, similar to Scratch or Code.org, and also a JavaScript editor for more advanced users.

If you'd like to learn more about MakeCode, this guide is a good place to start.

How to Upload Code

To upload code, first connect your Circuit Playground Express to your computer using a micro USB cable and press the small reset button in the center of the board. All the LEDs will flash red briefly, then turn green. Your computer should now show a removable drive called CPLAYBOOT. 

Click the Download button in the code window below to download the .uf2 file to your computer, and drag 'n drop that .UF2 file onto the CPLAYBOOT drive in your computer's file explorer 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!


Press button A for the project to run.

Extended Runtime

If you'd like your motor to spin for longer, it's easy to drag some extra pause blocks into your code. 

Exploring Inputs

MakeCode allows you to very quickly adapt a program to respond to different inputs.

Rather than using a button press to trigger the hand, you can set it to start moving when it detects movement, or when light, temperature, or noise levels change.

Motor Speed

Adjusting the speed of a continuous rotation servo can be accomplished by adjusting the potentiometer hidden inside the motor.

Take a small screwdriver and SLOWLY turn the potentiometer screw clockwise, then counter-clockwise, observing how this affects the speed and direction of the motor until you find a spot that works well for you.


Problem: My motor doesn't move!

Solution: Make sure that your Circuit Playground Express is connected to a power source (anywhere between 3V-5V is safe). If you're using a AAAx3 battery pack, check that the switch on the battery pack is set to "ON".


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


  1. Be sure you have a Circuit Playground Express.  The Classic will not work with MakeCode.
  2. Some USB cables are "charge-only" and won't pass data. Try using a different USB cable and try using a different USB port on your computer.  
  3. With the Circuit Playground plugged into your computer with a micro USB cable, click the small reset button in the center of the board. The lights should all turn green. If they don't, try double-clicking the reset button.

If things still aren't working, head over to the Intro to Circuit Playground Express guide for more suggestions.

More MakeCode!

If you enjoy MakeCode and want to continue exploring you can check out lots more MakeCode projects on the Adafruit Learn System.

Want to Get Back to CircuitPython?

If you ever need to convert your Circuit Playground Express back to CircuitPython mode, you can do so by downloading the appropriate .UF2 file from CircuitPython.org and dragging it over onto your CPLAYBOOT drive. See this guide page for the step-by-step instructions.

This guide was first published on Mar 28, 2019. It was last updated on Mar 28, 2019.