Halloween Pumpkin

This pumpkin lights up, shifts its eyes and makes spooky noises when someone approaches it.

I used ideas and code from the following projects to complete this halloween pumpkin.

The pumpkin was painted by my niece Prairie

The following parts are used to make this project.

  • Arduino Duemilanove (UNO should work too)
  • Wave Shield (adafruit)
  • Shield Stacking Headers for the Wave Shield (adafruit)
  • Adafruit Proto Shield PCB (adafruit)
  • 2 Micro Servos (adafruit)
  • 2 Ping Pong balls (or toy eyeballs)
  • 5 LEDs (sparkfun)
  • 5 Resisters 560 ohm
  • Headers (Sparkfun)
  • Hook up wire
  • Speaker

Male header pins are needed for the Proto Shield PCB, since we will be using the stacking headers with the Wave shield we can use the header pins included in the Wave Shield for the Proto Shield.


Build the Proto Shield first, when complete we can use it for positioning when soldering the stacking headers on the Wave Shield.

Build the Proto Shield as shown in the above wiring diagram. Solder the resisters, headers and the connecting wires. I added a reset button. I didn't have the appropriate connectors so I hardwired the LED wires to the proto shield. Not my preferred approach but it's not terrible.

Solder the header pins to the Proto Shield. First, place the 6 and 8 pin headers into the female sockets of your Arduino. Place the Proto shield PCB onto the Arduino so that all the holes match up with the header. Solder all the pins. This will ensure the headers are lined up correctly.

Build the Wave Shield kit (Adafruit instructions). Use the stacking headers instead of the included headers, this will allow us to stack the proto shield on top. When soldering the stacking headers, first insert the stacking headers into the proto shield headers and then place the proto shield pcb on the pins. This will ensure the headers are lined up correctly.

Connect the Wave Shield to your Arduino and then the Proto Shield to the Wave Shield. Connect the motion detector, servos and LEDs to the Proto Shield.


You will need a couple additional libraries for this project. WaveHC and ServoTimer2. The servo library built into the Arduino IDE uses the same interrupt as the Wave Shield, so we must use the ServoTimer2 library instead.

The main loop of the program checks the motion detector and continues looping until motion is detected. When motion is detected the program calls a function that starts the action.

The DoScaryStuff function plays the sound file and then loops while the wav file is playing. While the sound file is playing the servos for the eyes are moved to random positions, the eye LEDs flicker and the mouth LEDs blink.

I drew eyes on the ping pong balls using a permanent marker and drilled a hole on the back of each ball. I cut perfboard to make two small squares. I soldered an LED on each square and a 2 pin header on the opposite side, connection the pin headers to the LED leads.

An LED was hot glued to the eyeball and the eyeball hot glued to the servo arm.

I cut out an arduino-size piece of styrene and bolted on some 4-40 bolts to use for mounting the Arduino to the pumpkin.

Using double sided adhesive I attached the Arduino mount, servos and leds to the back of the pumpkin and taped the motion detector into place. I bolted on the Arduino and attached the Wave and Proto shields. Attach a speaker, connect power supply and you have a fun Halloween prop.