Build your own

Animatronic Skeleton

by Chuck Rice

Have you ever wanted to build your own Animatronic? This project details how I built an animantronic using a common (around Halloween) skeleton, Hobbie Servos and and a Servo Controller Chip from FerretTronics*.

This is the Skeleton that I started with. I got it at Spencer Gifts last October for $25. From a stamp on the back shoulder blade, it appears that it was made by a company called "The Paper Magic Group" and has a date of 1998. It was made in China and is about three feet tall. I removed the top of the skull by gently prying it apart along the glue seam with an exacto knife. The wire you see sticking up out of the skull is for the LEDs I added to his eyes.

To see a larger version, click on the picture.

The tools I used included a battery powered hand drill and various bits. A Dremel Tool and cutoff bits, wire cutters, pliers, and screwdrivers, exacto knife, and a soldering iron. All parts except the skeleton, gears, and electronics can be purchased at the hardware store and hobby shop.

The Skeleton is made of a very brittle plastic and breaks easily, but can also be easily repaired with a little putty epoxy (there are several brands, any will do)

The Shoulder
  The side view shows the gears used to move the shoulder. The small gear is attached directly to the arm. It is driven by the larger gear which is attached to the servo. The servo is connected to the skeleton with epoxy.
 

To animate the arm, I broke it off at the movable joint (that takes guts!), then I drilled out the joint and filled it with putty epoxy (there are several brands available from most hardware stores, any will do. ). Before the epoxy hardened, I inserted a 3 to 4 inch stove bolt and positioned it correctly, then packed the putty around it. Once the epoxy had hardened (full cure in about half an hour), I threaded a small gear (T30) that I got from All Electronics (CAT# GR-5 $2.75 per set of 5) and snugged it into place with a little more epoxy and a nut.

On the body side, I filled it with epoxy and inserted another stove bolt to align the hole, but befor it hardened, I removed the bolt. Once it was hard, I drilled it out a bit more and inserted a piece of brass tubing just large enough to hold the bolt. You can see the end in the picture below near the large gear.

 

Next I took a CIRRUS CS-60BB servo I purchased from Sheldon's Hobby for $24.99 and replacing the short center screw with a longer one from the servo parts pack, I attached a T40 gear (from the same 5 pack I got above) to the servo horn (the white piece). I drilled a small hole for an additional screw to tie the servo horn and the gear together.

When you choose a servo, there are two numbers that you want to look at. The Torque and the Speed. The shoulder requires a 60 to 100 oz/in servo, but a slower speed servo in this case is better. The servo will only move about 180 degrees. With the gears that I chose, the small gear will turn about 3/4 of a turn, giving the arm a range of over the head to behind the back which is about what a human arm will do. Since even the slowest servos will move the full 180 degrees in less than 1 1/2 seconds, a slow servo will still sling the arm around pretty fast, fast enough for a startle.

The first time I tried this, I used a faster servo and a smaller gear (a T20). The servo had plastic internal gears. The arm moved much faster, but after about an hour of use, the internal gears started breaking off.

I switched to a slower servo with metal internal gears and a T30 gear on the arm. This servo has held up much better even though the oz/in rating was about the same. As of this writing, it has over 20 hours of operation with no problems.

 

To attach the servo to the shoulder, with the gears in place, I mixed up another batch of epoxy putty and shaped it onto the shoulder blade and pressed the servo into it until the gears met, keeping them straight and tight. I had to hold them in place for a few minutes while the epoxy hardened. Then I added more epoxy to fill in the gaps around the edges so that I had a solid base for the servo.

Since the first servo failed, I pried it loose from the epoxy with a screwdriver and attached the new servo to the same place with some gap-filling super glue.

The Skull
  Next I went to work on the skull. The skeleton I chose comes with a skull that has a movable jaw. I got a piece of piano wire from the hardware store and bent it into fit along the jaw and stick up through the jaw hinge holes (I had to make the hole a bit larger with an exacto knife). You can see the wire along the back edge of the jaw in the pictures below. I drilled a small hole in the jaw and bent the piano wire to fit through it. I also bent the top of the piano wire to fit into the linkage to the servo in the skull. (see below)
  When the servos turn the head and the jaw opens and closes, the jaw hits the collar bone. To reduce this problem, I added metal washers on the neck to lift the skull up a bit higher so that when the jaw opens, it will clear the collar bone. Three washers are not quite enough, but any more and the neck does not protrude into the skull enough for control.
  I then covered the piano wire with putty epoxy to prevent the wire from moving in relationship to the jaw when the servo pushed or pulled the wire. This makes the jaw movement much more exact.
 

This is the inside of the skull. If you look hard, you can see the piano wire sticking up out of the jaw hinge near the bottom of the picture. You can also see the wiring of the LEDs for the eyes.

The putty was just some left over from the shoulder work. I knew that I would need to fill in some space for the jaw servo mount.

  To connect the servo to the neck, I used a 2-liter pop bottle cap and a control horn. I hacked a hole into the top of the cap, then I glued the control horn inside the cap with some putty.
 

I glued the two servos that fit into the skull together with some thick super glue. The round control horn gets removed and replaced with the bottle cap I prepared above. I then cut one side of the lever control horn off. This servo controls the jaw.

Here, I am using FMA S355M servos that I got for $21.95 by mail order from FMA Direct. It took about 10 days to get them. I do not need the high 114 oz/in torque here, but the servos were handy. These would have been a good choice for the arm, but I had not received them yet.

  Here are the servos mounted inside the skull. The jaw servo is connected to the jaw lever (piano wire) with a piece of square brass tube with a hole drilled in either end. When I took this picture, I had a spacer between the control horn and the brass link, but I later removed it to make things align better.
  This is another view of the skull servos. Here you can see that the bottle cap is pined to the neck by drilling a hole through it and the neck and inserting a pin. The bottle cap is bigger than the neck which allows it to float. That way, even if the servo and the neck are not aligned exactly, they still work well together as the neck is free to move small amounts along the pin as the skull turns.
  It is a bit hard to see since it is off white, by if this picture shows the putty that I used to form a mounting platform for the servos. I just mixed up a batch of putty, put it in place, then pushed the servo into it until it was in the right position. A few minutes later it was solid and hard.
The Electronics
  Disclaimer: I am a part owner of FerretTronics, Inc. This animatronic uses some of our chips. I may be biased, but I think that they are pretty good chips. Of all the companies mentioned here, FerretTronics is the only one I am involved in. Enough commercial. On with the project!
   Parts List:
Description
 Part Number
 Source
 Approx Cost
 1 - SYNTAX ProtoBoard (cut in fourths)
 PC-462905
 HSC
$3.95
 1 - Servo Control Chip
FT639
$22.95
 1 - 8 pin DIP socket    
 1 - 10K resistor
271-1335
 $0.49
 1 - 22K resistor
 271-1339
 $0.49
 1 - Switching diode
 276-1122
 $1.19
 2 - 0.1 µf capacitors (not shown)    
 1 - 40-pin Snap Apart Headers
 307SS40G
 HSC
 $0.79
 3M Jumper Wire Kit (optional, but nice) 517-923351R
 Mouser
 $20.18
 1 - Surplus PC power supply (+5V@10A)
 ???
 Junk PC
 $0 to $20
 

The SYNTAX PCB board is a good quality board and is relatively inexpensive. I generally keep several around. In this case, I want to put the board inside the Skull, so I cut the board (tin snips) and will only use one corner. The two smaller pictures are the front and back of the corner I chose. After cutting the PC board, take the small piece of sandpaper that comes with the epoxy putty and sand the edges and the board will be much nicer to work with.

If you look at the board, it is arranged the same as a solderless bread board. This allows you to lay out things on the breadboard, then transfer them directly to the PCB. In this case, the circuit is so simple, that we can just solder it up.

The circuit we are building is really quite simple. Click on the picture to see a larger version.

In the picture,

Red is the power (+5V),
Green is ground,
Brown is the RS232 signal from the controlling computer,
Blue is the servo signal.

Although they are often not shown in schematics, as always in digital circuits, we add some 0.1 µf capacitors from +5V to ground. These prevent noise from the motors inside the servos from affecting the logic.

Caution: I think that AirTronic Servos (and maybe others) reverse the ground and +5V lines on their connectors. Make sure that you check polarity.

 

This is the board with the parts in place, ready to be soldered. The blue and orange lines are the servo signal lines. The 3 by 5 array of pins is where you plug the servos in. The center column of 5 pins all carry +5 volts. The left 5 are all ground, and the right 5 are the 5 servo signal lines. Each servo uses three pins, ground, +5, and one of the signal pins.

The small connector in the upper left hand corner is for power (+5V) and the other connector in the left center is for the serial port (2400 bps from the PC or Macintosh).

RS232 is a -12V to +12V signal. We want logic levels (0 to +5V) so we add a diode to clip the voltage, throwing away the negative part, and we use the two resistors as a voltage divider to drop the (up to) +12V down to a max of +5V.

  Here is the board at a different angle. You can see the two 0.1µf (104) capacitors better here. These caps absorb any noise from the power lines.
  The back side of the board. If you have never soldered before, take a look at Harry Lythall's page on basic soldering techniques.
 

 Now we are ready to mount the board. The side of the servo looked like a likely place, so I mixed up a tiny bit of putty epoxy and rolled it into four pea sized balls and stuck them to the side of the servo. Then I pressed the finished PC board into them.

Finally, I plugged the three servos and the LED eyes into the board. The LEDs only use the power and ground pins. If I decide to add two more servos, I will add two more pins for the eyes, but for now, it is handy to just use an unused servo connector to power them.

   Here you can see the routing of the servo wires to the PC board and the putty holding the PC board to the side of the neck servo.
The Software
  Ok, you have gotten this far, and now you get to the Gotcha. I am a Macintosh user. In fact, I joined FerretTronics as the Macintosh programmer. I just do not have the patience to deal with all of the inconsistencies in the PC platform. Not that PCs are not good for some people, they are just not right for me. All is not lost though. Two of my partners are PC programmers and one is a Unix programmer, so in general, there is FerretTronics software for PCs and Unix. The specific software I am going to discuss here is written in REALBasic on a Macintosh.
 

REALBasic is modeled after Microsoft's Visual Basic and so someone who knows VB should be able to take my RB code and convert it.

I tend to stay on the leading edge of technology, so I need to warn you that I am using a developer version of REALBasic. Currently that is DR2r60, but by the second quarter of 1999, it should be released. Note that I have no control over RB, so do not quote me.


Example Source Code
The initial RealBasic code is intended to serve as an example of how you control the animatronic. It allows you to control any of the three servos by sliding one of the three sliders in the Manual Box, or you can press one of the buttons to generate random movements.
   An expanded example is in progress.

 Please note:

I can make no warranties on the methods and procedures presented here. I have built this device, but your tools and skills are unknown to me. Proceed at your own risk.

I also do not endorse any of the products here except the FerretTronics chip. They are just the products I chose to use for this project. You may find that they work better or worse for you. Experiment for yourself. That is half the fun!

On the other hand, if there is a step or procedure here that you do not understand, let me know using the Comments button and I will see what I can do to explain it better. -Chuck-

 

 

 

Accessed:

Valid HTML 4.01!