Arduino Theremin Singing Muppet




Introduction: Arduino Theremin Singing Muppet

For a school project about Arduino I created a muppet with a built-in theremin to make it a singing muppet. Inside its mouth is a photocell which connects to a Piezo buzzer so that when you open and close its mouth, the pitch will change (the brighter the light on the photocell, the higher the pitch).

Step 1: Materials

* Arduino UNO

* Breadboard

* Piezo buzzer

* Photocell

* 220R resistor

* 8 wires

* Fleece fabric

* Cloth

* Sticky googly eyes

* 0.5mm cardboard

* black and red construction paper

* Yarn

* Stuffing wool

* Needle and thread

* Glue

* Tape

* Scissors

* Pocket knife (for precision cutting and hole-making)

Step 2: Arduino Circuit

To make sure the project would actually work as intended when assembled, I started with making the circuit and coding the theremin.

I first mounted the buzzer to the breadboard and connected one end with a wire to digital PIN 8 on the Arduino and the other to the negative rail. I then added the photocell and connected one end with a wire to the positive rail and the other to analog A0. In line with the photocell and wire connecting to A0, I added the resistor which goes to the negative rail. Lastly I added two wires to power the Arduino: one on the negative rail connecting to the ground, the other on the positive rail connecting to 5V.

Note: the circuit only requires 6 wires, but since the photocell is going to be in the muppet's mouth and the rest of the breadboard will be in its back, you will need 2 additional wires to bridge the distance and connect the photocell to the rest of the circuit. In that case, the additional wires replace the photocell on the picture above and both connect to the photocell.

Step 3: Coding

int sensorValue; 
int sensorMin = 1023;
int sensorMax = 0; 

void setup() {
  while (millis()<5000)
    sensorValue = analogRead(A0);
    if(sensorValue > sensorMax)
      sensorMax = sensorValue;
    if(sensorValue < sensorMin)
      sensorMin = sensorValue;
} void loop() {
 sensorValue = analogRead(A0);
 int pitch = map(sensorValue, sensorMin, sensorMax, 500,1500);
 tone(8, pitch, 20);


Step 4: The Muppet Head

Working on the muppet, I started out with cutting cardboard in two semicircles, making sure the shapes were big enough for my hand to fit in. I then traced these shapes on black construction paper which I cut out and glued on top of the cardboard. With red construction paper I cut out a simple tongue shape and glued this on the black construction paper. Now you already have a movable mouth.

Inside the mouth, just in front of the tongue, I pierced a hole for the photocell to go through, so that the sounds the muppet will make actually change with the movements of its mouth.

(On the first pictures you might notice a hole back where the muppet's throat would be, that's because I first wanted to place the photocell there. However I found out that way the mouth couldn't close properly so I decided to move the photocell forward, just in front of the tongue.)

Next I cut out strips from the construction paper, each about 2-3cm wide, and glued them to the backside of the mouth to create the rough shape of a head. Between steps I kept making sure my hand would fit inside the head.

When the glue was dry and the strips are fixed in place, I cut out the fleece fabric and glued it to the top half of the head. I started with gluing it to the inside of the mouth (about 1cm in to make it look like an upper lip) and tracing around the top half of the mouth and then draping it over the construction paper on top of the head, gluing it in place. I kept cutting away fabric so that there is as little overlap as possible while every part of the head is covered.

The hair I made by crafting a pompom which is pretty easy: cut two large donut shapes from the cardboard, put them on top of each other and start wrapping yarn around it. Continue wrapping until you have what looks like a large yarn donut, then cut it between the two cardboards. tie a piece of yarn around it in between the cardboards to tie the strings together (don't immediately cut it once you tied the strings, you'll need it to fasten the pompom to the head). When you remove the cardboard pieces you can fashion the tied up strings into a spherical pompom. To secure the "hair" on top of the muppet head, I made two holes in the top of the head for the string of yarn (used earlier to tie the pompom together) to go through. Inside the head I tied this in a knot. The pompom is now attached to the head, albeit pretty wobbly. Use some glue to keep it from bouncing all over the place.

The googly eyes I got had sticky backs so I simply stuck them to the head.

Before I finished the lower half of the head, I attached two wires to the photocell so they could connect it to the rest of the breadboard. Because soldering in between paper and fabric seemed like quite the fire hazard, connecting all arduino parts was done mostly with tape.

After the wires were connected to the photocell I could glue the fleece fabric to the bottom half of the face, again starting with the lower lip and working towards the construction paper. I made sure there was enough fabric hanging loose from the bottom of the head so that I'll have a large enough surface to glue it to the t-shirt later.

Step 5: The Muppet Body

Now that the head is mostly done, I made a t-shirt from a piece of
old cloth by simply folding it in half, drawing a t-hsirt shape on it (remember to always add a cm or so to the outlines as you can't sew the edge of the cloth), cutting it out and sewing it together. After the front and back are sewn together I folded the edge of the sleeves, the neckline and the bottom and sewed it to the rest of the t-shirt to make a hem. When the hems were done I added a leftover piece of fabric and sewed it to the inside of the back of the shirt, so that the Arduino UNO and the breadboard can stay in place while being out of sight. After this I folded the shirt inside out. You'll notice that when sewing this way (sewing the inside, then folding it inside out) you'll get nice clean seams on your work.

I put the fleece fabric hanging from the muppet neck inside the neckline of the t-shirt and glued the two together. When the glue had dried I connected the wires hanging from the photocell in the mouth to the breadboard, taped the Arduino UNO and the breadboard together back to back, taped all the wire in place (making sure the buzzer wasn't covered) and put the Arduino UNO and breadboard in the pocket in the back of the t-shirt.

Now the muppet is basically done, but it still misses some details. I traced the shape of an arm on the fleece fabric (again making the outline about a cm wider than were I'm going to sew the parts together). Also important is to take into account that when you stuff the arm, it will get narrower than when it is just a flat shape, so when you are sewing things to stuff later, remember to draw it a lot thicker than you think is necessary. Using the same tactics as making the t-shirt, I sewed the arm together, leaving the upper arm open to be able to fold it inside out after sewing. When the good side is out I stuffed the inside and sewed it shut. I then put the arm inside the sleeve of the t-shirt and glued the two together, and repeated this for the other arm. (Note: you can make actual movable muppet arms (like Kermit's) by cutting about 2x40cm of iron wire and attaching each piece of wire to each wrist of the muppet. Now you can move the muppet's head and mouth with one hand while moving its arms with your other hand.)

I also wanted the muppet to have some ears, so I sewed some fleece fabric in semicircles, folded them inside out and glued them to the head.

Step 6: Done!

With the muppet done and the Arduino in place, you now have your very own singing muppet friend!

Be the First to Share


    • Pocket-Sized Speed Challenge

      Pocket-Sized Speed Challenge
    • Audio Challenge 2020

      Audio Challenge 2020
    • Maps Challenge

      Maps Challenge

    2 Discussions


    2 years ago

    It's a little bit scary but that's a pretty cool idea! :)


    2 years ago

    Jaaa coooool!!!