“Scary” Stuffed Monkey

Last month we went to the zoo with the kids. We played fair games and won a few cheap stuffed animals. They were so crappy we decided we would try to make something fun out of it.

Around the same time, at my son’s summer camp, the instructor was telling them scary stories. That gave him the idea to convert the stuffed monkey into a scary monkey with red bright eyes and playing a spooky melody! This post details the building process. I hope you’ll enjoy!

The plan

A small pressure button will be placed in one hand of the monkey. When pressed, the  monkey’s eyes, two red LEDs, will turn on and a spooky melody will be played.

Since we had more IOs at our disposal, we decided to add a light sensitive resistor at the top of the head that would control a green 3mm LED in the nose. When the light is turned off or when you place your hand on the head, the LED starts blinking.

Finally, I decided it would be nice not to have any power button. Kids always forget to turn these off anyways. This implies some sort of sleep mode for the toy to save power.

The Micro-Controller (08M2)

The project circuit is built around a PICAXE 08M2 micro-controller. This micro-controller has four inputs and outputs. Several reasons have led to the choice of this micro-controller:

  1. Size The PICAXE 08M2 is one of the smallest through hole micro-controller on the market. An Arduino microcontroller board would have been too large for the project.
  2. Power I wanted the circuit to be powered by three 1.5V button cells and run for days beforereplacing the batteries. This micro-controller consumes very little power and offers a sleep mode that almost totally shuts down the chip. Using this great feature I managed to build a circuit that can run for weeks on three LR44 batteries.
  3. Simplicity This microcontroller is very robust and simple to integrate into a circuit without complex power regulation circuit and no external crystal is required to drive the chip clock.
  4. Price Price is always a concern when you build something. The PICAXE 08M2 chip cost around 3.00$ CN. Compared to the 25$ Arduino board this is a bargain!
PICAXE 08M2 micro-controller
PICAXE 08M2 micro-controller

Inputs / Outputs

The circuit must drive three different components. Two red LEDs for the eyes, one green LED for the nose and one piezo for the scary melody are controlled by a pressure button and a photo-resistor.

Scary Monkey components
Scary Monkey components

The two red LEDs are connected in parallel to the same digital output pin of the micro-controller. Each LED is connected to a 220 Oms resistor to reduce the current driven through the LED.

The green LED is connected to an other digital output of the micro-controller. As for the red LEDs, a 220 Oms resistor limits the current passing through the LED.

The piezo needs an output that supports PWM (Pulse With Modulation) to play the different tones of the melody. The PICAXE API offers the function tune() to play music on pin #2 of the 08M2 micro-controller.  The PICAXE IDE offers a simple wizard to  help you program the melody.

Two different inputs are used to interact with the stuffed animal. A pressure button in one hand of the monkey triggers the melody and lights up the eyes. The LED in the nose of the stuffed animal is controlled by a photo-resistor located in the head. When the lights are turned off or when you place your hand over the photo-resistor, the nose of the monkey blinks green.

Since I am using standard electronic components I had to find a way to stitch it to the stuffed animal. I used small pieces of perforated prototyping board and stitched through the holes around the components. Next time I’ll use the Adafruit Wearable Electronics!

The Circuit

The circuit for this project is very simple. Because we are not using motors and because the PICAXE micro-controller is pretty resistant to small power fluctuations, I decided to power the circuit directly from a 4.5V stack of button cell batteries. No need for power supply or power regulation.

Scary Monkey Circuit
Scary Monkey Circuit

At the exception of pin #2 (Serial In) , all the micro-controller pins are used. As recommended by the manufacturer, I connected pin #2 to the ground through a 10KH resistor.

Pin #3 is used as a digital output to control the eyes of the monkey. Both red LEDs are connected in parallel to the micro-controller pin through a 220H resistor to limit the current flowing in.

The micro-controller pin #4 is home for the push button. This is the button that will be fitted in the hand of the stuffed monkey. A 10 KOms pull-down resistor is keeping the input pin to zero when the button is not pressed. When pressed, the button connects the 4.5V trace to pin #4.

The piezo is attached to the PWM output on pin#5 of the micro-controller. Pin #5 is mapped to input #2 of the PICAXE 08M2, the only output supporting pulse with modulation (PWM) required to play music tones.

To detect the level of light we hooked a photo-resistor to pin #6 of the 08M2. In conjunction with a 10 KOms resistor, the photo-resistor acts as a voltage divider connected to pin #6 of the PICAXE.

Finally, the green LED located in the nose is connected to output pin #7 of the micro-controller. As for the eyes LEDs, a 220 Oms resistor is connected in series to LED to limit current.

To power the micro-controller, connect the positive wire of your battery pack to pin #1 of the chip. The negative pole of the batteries goes to pin #8 of the PICAXE 08M2.

 The Printed Circuit Board (PCB)

As mentioned earlier, size was critical in this project. I didn’t want to end-up with a bulky circuit squeezed into the stuffed animal. To minimize the size I decided to make my own PCB.

Custom PCB
Custom PCB

Building a PCB requires a lot of preparation and many steps to complete with success. I used the open source application Fritzing to design the PCB. You will find the schematics on my Githug account at: https://github.com/pchretien/julie.

The first step is to print the circuit onto the copper board. There are many tools and products out there to do that but I used the simplest and cheapest way: toner transfer. Toner transfer consists of printing the circuit on a glossy paper using a laser printer and then using an iron to transfer the circuit onto the copper board. This is made possible because the glossy paper will not absorb the toner. When heated with the iron, the toner can be “transferred” to an other surface.  Here are a few things to remember when doing toner transfer:

  1. Use a glossy and thick paper. I used an empty Avery sticker sheet to build this circuit.
  2. Clean the copper surface before to applying the toner. I used soap and acetone. Do not touch the surface with your fingers.
  3. Stick the piece of paper onto the copper board so they remain aligned. Make sure the toner side touches the copper board.
  4. Use an iron at max temperature and apply pressure on the entire surface of the circuit. This will take several minutes to complete.

After a while, the toner will be transferred to the copper surface. The result will vary from one time to the other. Complete the traces with a Sharpee marker where the toner has not been transferred properly.

The next step is to remove the copper layer where there is no toner or Sharpee. I used ferric chloride to do this. Place your circuit board into a plastic container and cover it with ferric chloride. Gently move the container from one side to the other for a couple of minutes. It may take 10 to 15 minutes for the copper to completely dissolve.

You’re almost done. All that’s left to do is to clean the circuit to remove the toner and drill holes. I used acetone to clean the circuit for this project but I would not recommend it. It spreads the toner all over the circuit surface and makes it look dirty. I would recommend using a brush and soap. It takes longer but the final result is nicer. To drill the holes I used a 1/32″ drill bit. You may have to use a larger bit for some components like a power connector or a USB connector.


It’s now time to assemble the circuit and to fit it into the monkey. You must remove the existing stitches using a utility knife or a proper seam ripper. Start with the back where you will insert the circuit board and wires. You will also need to rip the hand stitches to insert the button. You should be able to insert the eyes and nose LEDs and the photo resistor from the back. If not, remove more stitches.

This part of the project is where you can involve younger kids. Stitching is pretty easy and you don’t really care about the look of the final result. Placing the components in place is something any kids can do and it really gives them the impression that they actually build the whole thing by themselves.

Assembly Of The Scary Monkey
Assembly Of The Scary Monkey

The Code

The PICAXE micro-controller comes with a free to download programming IDE . You connect your computer to a development board using a special cable connected at one end to the development board and at the other end to a USB port of your computer.

The language used is good old Basic. As a software developer I must admit I would have preferred a C compiler as with the Arduino but, hey, to light up a few LEDs and play music, Basic will do the job just fine.

You can download the code from my Github account at: https://github.com/pchretien/julie

It’s open and free

This project is published under the GPL2 license. You can use, make and duplicate this project as you which …


  1. Gilles
    October 9, 2013

    Lucky kid !

  2. Ethan
    December 13, 2013

    I like this idea. My son has been learning programming and you have inspired us to try this, too! He didn’t like the idea of his favorite stuffed dog have flashing eyes, but we could always go the fair and win some crappy stuffed animals.

    1. pchretien
      December 13, 2013

      Hello Ethan. I’m glad you like it! We are fortunate to have kids that like making stuff … Would love to see your project once it’s done!

  3. […] the Scary Monkey Project project with my son has been a lot of fun so I decided to make another project for the kids. I […]


Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top