Severed fingers Halloween prop

Posted by Amanda on 31 October 2014

At Halloween parties, it is common to see a punch bowl with one or more eyeballs floating in it and stomach-churning decorations like severed fingers or gelatin worms lining the festive dishes. However, the problem with most of these is that they are motionless and bland. Inspired by Thing, the disembodied hand from The Addams Family, I decided to make a creepy animatronic hand to add some thrill to an otherwise boring table display.

Mechanical structure

Since the severed fingers that I picked up from the Halloween store were light-weight, I decided to use five mini servos to move the fingers individually. I glued the fingers onto popsicle sticks of varying lengths to mimic the structure and shape of a hand. The biggest challenge was figuring out how to position one servo on the base without it colliding with the others, since each one needed to lie on its side in order to move the attached finger in an up-and-down motion. After mulling over a few ideas, I ended up rolling strips of cardboard length-wise to create columns supporting each servo. This setup allowed me to stagger the servos as well as situate them closer together:

Behavior programming

To control the servos, I used a Mini Maestro 18-channel servo controller for two reasons: I wanted the option of expanding the project with more features, and I happened to already have one in my office. The Maestro Control Center made it easy for me to pick out the default positions for each finger by adjusting the slider bar for each servo channel. Once I had selected the desired positions, I began modifying the example script from the “Making smooth sequences with GET_MOVING_STATE” section of the Maestro user’s guide to get the behavior I wanted.

After getting the simple code to work, I thought it would be exciting to incorporate some other behaviors such as scaring, waiting, and twitching. I modified the code so that each finger movement was defined by its own subroutine and implemented delays for finger hold duration. Doing so made the code more adaptable for programming those behaviors.

Below is code for moving each finger with a servo in an arbitrary sequence:

30 4 acceleration
80 4 speed

80 3 acceleration
100 3 speed

80 2 acceleration
100 2 speed

80 1 acceleration
100 1 speed

30 0 acceleration
80 0 speed


  2000 movePinky
  2000 moveThumb
  500 movePinky
  1000 moveIndexFinger
  500 moveThumb
  2000 moveRingFinger
  500 moveMiddleFinger
  500 wait_until_not_moving_and_delay
  2000 moveMiddleFinger

sub wait_until_not_moving_and_delay

sub default_positions
  6336 4 servo
  5612 3 servo
  5824 2 servo
  5628 1 servo
  5592 0 servo

sub movePinky
  5708 4 servo
  6336 4 servo

sub moveRingFinger
  6396 3 servo
  5612 3 servo

sub moveMiddleFinger
  6272 2 servo
  5824 2 servo

sub moveIndexFinger
  6240 1 servo
  5628 1 servo

sub moveThumb
  6120 0 servo
  5592 0 servo

Parts list

Potential improvements

Since the structure was made out of cardboard, it caused the prop to be unable to press down on the piano keys without some extra help holding down the base; it would be better to redesign the mechanical structure using heavier and sturdier material so that constant reinforcement is not required. Some other improvements might include adding motion-detection such as that used in Brandon’s Motion tracking skull Halloween prop or the possible incorporation of buttons to control each finger for a Simon Says game. A more ambitious future feature would be to add five more servos and be able to move the fingers in two axes (x-axis and y-axis).


Post a comment

Using your Pololu account allows you to customize your avatar and manage your comments; you can also post anonymously.

Related Products

Power HD Mini Servo HD-1160A
Mini Maestro 18-Channel USB Servo Controller (Assembled)
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors