Instructables

How to create simple animatronics- part one: using the MAKE controller

Featured
Here's how to build simple animatronics using inexpensive hobby servos and the MAKE controller kit. I wanted to keep this as simple as possible so there is no programming required and the electronics are kept to a minimum so that anyone should be able to do this with a minimum of tools and experience.

I wanted to create a animatronic head for a costume I'm constructing. I wanted it to be entirely self contained- no exposed wires, etc. and unlike many animatronics used in movies, I didn't want to use radio control due to complexity/control issues. I also couldn't afford a commercial animatronics controller.

Enter the MAKE controller! This piece of hardware allows you to connect readily available hobby servos (as well as motors, lights, etc.) to simple analog input devices (I'm using flex sensors) to control movements. I have this set up running the controller in POLY mode, which doesn't require any computer programming and is very easy to configure. Of course you can always program the controller later on to maximize its potential- it's a pretty amazing piece of hardware.

Here's what the finished animatronic armature looks like (it's mounted to an old welding helmet as a test rig) along with a movie clip and what the finished costume will look like- it's a Horus guard from Stargate.

Here's a video of it working-


There are a ton of possibilities using this controller for animatronics:
Make a Predator costume with animatronic head and shoulder cannon
Build a giant dinosaur with a moveable head, eyes and tail that reacts to movements or goes through a pre programmed routine
Create interactive displays and haunted house attractions

Follow along and I'll show how the mechanism for the Horus head is constructed and maybe you'll be inspired to create your own animatronics....

UPDATE: Makingthings.com, the manufacturer of the MAKE controller has removed the POLY mode firmware necessary for this instructable from their website and it no longer is included in the firmware for the controller. If I can find an earlier version of the firmware necessary I'll post it here. They have also removed all tutorials regarding the POLY functions. Bummer. I have started working with the Arduino platform due to it's lower cost, smaller size and ease of use and have created another animatronics tutorial here:
http://www.instructables.com/id/Arduino-animatronics-make-your-awesome-costumes-m/
 
Remove these adsRemove these ads by Signing Up

Step 1: Materials and tools

Picture of Materials and tools
MakeController.jpg
Battery.jpg
Materials:
Hobby servos- I'm using Hitec HS 300 and HS 605BB standard size servos. Many standard size servos are available on eBay for under $10 each.

MAKE controller kit- available from Making Things: http://www.makingthings.com

Materials for armature- I use printed circuit boards (PCB's) for the main construction along with some plywood, brass and aluminum.

Power source- I use a 9.6V battery to power the controller and a 4.8V battery to power the servos.

22ga wire- three seperate colors are needed

Flex sensors- these are available from Jameco (part #150551): http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&storeId=10001&catalogId=10001&productId=150551

Miscellaneous hardware- brass hinges, small screws/bolts, zip ties, heat shrink tubing

Miscellaneous servo hardware: http://dubro.com/hobby

Tools:
Dremel tool or saw to cut servo mounting boards and aluminum
Drill bits
Tap to cut threads in aluminum
Soldering iron/solder
Multimeter
Small phillips screwdriver
Wire cutters

Step 2: Design and layout

Picture of Design and layout
ArmatureDesign.jpg
ArmatureServos.jpg
HelmetLayout.jpg
I wanted my animatronic head to move up/down, turn right/left, rotate and have eyes that light up. What is really important is to keep everything as light weight as possible to avoid overloading the servos. The finished Horus helmet will be constructed entirely from blue foam and cardboard to save weight (and cost!)

I used standard sized servos: two Hitec HS300 servos for the rotation and turning movements and a HS605BB servo to move the head up and down. THe 605BB servo has twice the load rating of the HS 300 servo- it needs to be stronger because it's moving the entire weight of the head.

The first thing is to figure out the movements and range of motion. Working from a base plate, I figured I'd need one hinge for my up/down movement, one hinge for my turn right/left movement and a pivot for my rotational movement. I also wanted my head movements to be grouped together so as the head turned it would rotate and as it moved up and down the eyes would light up. By grouping functions together I would be able to control everything with only two flex sensors.

There are also two sets of "fans" located on the sides of the helmet. I wanted these to be linked to the up/down head movement- the servos for these aren't shown on the finished animatronic armature as they will be added when the foam helmet is constructed. I do show them on the diagrams and will demonstrate how to reverse the rotation of one of the servos- this is necessary to get the fans on opposite sides of the helmet to rotate in the same direction at the same time.

How it works:
Using the POLY function/FOLLOWER mode, the controller takes the analog input from the flex sensor and assigns it a value between 0 and 1023 based on input voltage corresponding to 0 to 3.3v. The servo outputs ( labeled 0 and 2) are PWMs (pulse width modulation) that reflect the assigned values, so when the input voltage is 0v the servo is at one end of its travel and when the input voltage is 3.3v the servo will move to the opposite end of its travel, tracking the bend in the flex sensor. The digital outs on the board also reflect this so you can also control the speed of a motor or brightness of a lamp. At the time of this writing, the firmware for the controller only allows the servos to rotate 90 degrees (most standard servos can rotate 130 degrees.) I've read on the MakingThings forum that full 130 degree rotation could be included in a future firmware update.

Note that the final configuration of the battery and controller mounting will be slightly different than what I have done on my test rig.

Step 3: Construction- servo mounting plates and pivot

The main servo mounting boards are cut from PCB material. The base plate is thin plywood and the pivot is a brass tube and plate that rotates on an aluminum rod. I first remove the copper plating from the circuit board material before cutting it to shape- this can be done either by etching or sanding it off. I like using this board as it's thin, light, pretty strong and it's easy to work with. The other cool thing is that if you want to use micro servos or actuators to build really tiny animatronics you can etch your wire traces directly on your servo mounting boards to minimize wiring and save space.

Be sure to use proper safety equipment when working with circuit board material- wear a dust mask when sanding and cutting it. The board can be cut with a Dremel and a cut off wheel or even a small saw. If you don't want to use PCB material then thin aluminum or plywood sheet will also work.

I made the plate that is sandwiched between the two servos from aluminum as it needed to have threads cut into it so it could be bolted to the main servo plate. Once the servos are installed a zip tie is run around them and fed through holes in the aluminum plate.

The pivot to allow the head to rotate as it turns is made from an aluminum rod and a section of brass tubing. A circlip is placed in a cut groove on each end of the aluminum rod to retain the brass tubing. A flat section is filed on the end of the aluminum rod and has two mounting holes drilled and threaded so it can be bolted to the servo mountig plate.

The brass tube has a wide plate soldered to it. This brass plate is what the finished foam head will be attached to. The brass plate also has a small hole drilled in it to connect the servo linkage that drives it.

I used standard R/C hobby servo linkages to connect the servos to the contol points. I try to make use of adjustable control arms and linkages whenever possible to allow some room for future adjustments. I also needed to add a helper spring to take some of the load off the servo that moves the head up and down.

Once the armature was finished I mounted it to an old welding helmet using an angle bracket so I could approximate the finished height.

Step 4: Electronics- flex sensors and lights

The flex sensors are soldered in to a simple volage divider circuit to provide a variable input voltage to the MAKE controller's analog inputs.

You can play around with different resistor values but the voltage to be input to the controller should not exceed 3.3V

Cut three equal lengths of 22ga wire- one red, one black and another color for the signal wire. Solder them to the flex sensor as shown on the diagram. Generally speaking, the shorter you can keep the wires the better- flex sensors tend to lose resolution and get "noisy" as the lead wires get longer. I was able to make the wires long enough to reach all the way to my hand and still get good results.

I put heat shrink tubing over my soldered connections and I glued some flexible rubber tubing onto a glove and slid the sensors into the tubing. It is important to note that the sensors only work when bent in one direction- the printed side of the sensor goes on the outside of the bend.

While I used a glove for my test rig, the finished costume will have the sensors mounted on my elbows to keep them hidden.

The lights for the eyes are just a couple of super bright 2.4v 5000mcd red LED's (Radio Shack part#276-086) that are hot glued into a couple of old halogen lamp reflectors that had the bulbs removed. The LED's are wired in series with a momentary switch that is activated when the head drops all the way down. The power for the LED's comes directly from the 5v output on the MAKE controller board. I left the wires for the lights extra long so it would be easier to mount them in the finished head and the lamp housings are held onto the brass plate with some hot glue and zip ties.

Step 5: Setting up the controller/ connecting sensors and servos

Picture of Setting up the controller/ connecting sensors and servos
AnalogInputVoltage.jpg
DigitalOuts.jpg
Time to set up the MAKE controller! First you have to load the firmware HEAVY to the controller. There is a step by step on how to do this here:
http://www.makingthings.com/resources/tutorials/getting-started/index_html/introduction

This is done by connecting the controller to a computer with a USB cable, downloading the Heavy.bin file and the mchelper application and using mchelper to upload the firmware Heavy to the controller- it only takes a couple of minutes to upload the firmware and make sure the controller is functioning properly.

Now unplug the controller from your computer. There are some things that need to be configured on the controller board to connect the flex sensors and servos and enable the POLY mode.

First, you have to set the DIP switches on the board (there are eight of them) to put the controller into POLY mode and activate the FOLLOWER program. This is done by positioning switches 1, 3, 6 and 8 to the ON position. Switch 3 activates the FOLLOWER mode for the first set of analog inputs and switch 6 activates the second set of analog inputs. There is more info on the POLY mode functions here:
http://www.makingthings.com/resources/tutorials/poly-functions/index_html/introduction

Now you have to set the analog input power to 5v (the default setting is 3.3v)- this is required by the flex sensors. This is done by moving a couple of jumpers on the controller board located by each of the analog inputs.

The servos are powered by their own 4.8v battery. This is because I found that when I powered the servos directly from the controller board they had some glitches due to the electrical noise they generate. To power the servos from a seperate battery you need to position the jumper located near the servo outs so that it is closest to the VExtS label on the board and connect the power leads to the external servo power connector . The servos are connected to the servo outs on the board labeled 0 and 2, paying attention to the direction the ground wire from the servo is facing. Note that the servos that rotate the head and move it left/right are connected together. This can be done with a "Y" cable adapter or by splicing the servo wires together.

The lights are connected to the controller board's digital outs Gnd and VOut1. The controller board's default setting is to provide 5v at Vout so that doesn't need to be changed.

There is a complete breakdown of the inputs and outputs of the controller board here:
http://www.makingthings.com/resources/tutorials/application-board-overview/index_html/introduction

Now connect the 9.6V battery to the controller's main power input. The controller can use anywhere between 6v and 12v but they recommend 9v as the board doesn't have to work as hard converting the voltages for its inputs and outputs.

Now connect the flex sensors. First connect the Vin and Gnd wires. Now use a multimeter to test your input from the flex sensor. Touch the positive multimeter lead to the signal wire from the flex sensor and the negative lead to the to the Gnd contact on the controller board. When you bend the sensor the voltage should change according to how much you bend the sensor. The voltage reading should not go above 3.3v. If all is good connect the signal wires from the flex sensors to the analog inputs 0 and 4 (directly next to the Gnd wires.)

That's it! Now when you flex the sensors the servos should move according to how much and how fast the sensor is bent.

Step 6: Servo reversing

Picture of Servo reversing
Servo2.jpg
Servo3.jpg
Sometimes it's necessary to have a servo that turns in a direction opposite of the other servos you're using. I needed to do this for one of the servos that will raise and lower the "fans" on the side of the helmet since that servo is flipped around. If I didn't do this then one fan would rotate upward while the other one rotated downward.

There are two ways to reverse a servo's rotation: buy a special connecting cable or modify the wiring in the servo. I chose to modify the wiring. These instructons apply to the Hitec HS 300 servo but most servos are similar in construction.

1- Remove the screw holding the servo wheel/bellcrank
2- Remove the screws holding the servo case together
3- Remove the bottom portion of the servo case, exposing the drive motor
4- Reverse the position of the two motor wires
5- Remove top of servo case, paying attention to the gears and their positioning
6- Remove the retaining nut for the potentiometer
7- Remove circuit board from bottom of servo
8- Remove potentiometer
9- There are three wires connected to the potentiometer- swap the two end wires. Do not touch the center wire
10- Reassemble servo

That's it!

Step 7: Additional info

This barely scratches the surface of the capabilities of the MAKE controller. There is a ton of info on the MakingThings website: http://www.makingthings.com

The digital ouputs of the controller's application board can be used to hook up everything from lights and motors to actuators and solenoids so if you want to build a 1000lb. animatronic dinosaur that moves and roars as people walk by your house it's definitely possible. You could even use solenoid/electronic air valves and use air muscles.

As for the analog inputs, they can accept switches, motion sensors, gyroscopes, potentiometers, etc. Just about anything that can generate a sigal up to 3.3v can be used since the board has a built in analog to digital converter. One of the things I've been looking at is using a two axis accelerometer.

It could be hot glued to a cap on the top of your head and as your head tilted forward and back or side to side it would put out a corresponding voltage from 0 to 3.3v and its input voltage is 3.3v which is perfect for connecting to the MAKE controller. Accelerometers like this are often used in video game controllers as tilt sensors.

There is a really great page on all kinds of sensors here:
http://itp.nyu.edu/physcomp/sensors/Reports/Reports

Both the inputs and outputs are powered but they can only provide so much power. Each of the outputs is limited to 1amp. Fortunately you can just move a jumper on the application board to provide a seperate power source for both inputs and outputs. All in all, the MAKE controller is a dream come true for anyone that wants to build animatronics/motion control systems.
1-40 of 67Next »
goldenshuttle3 months ago

impressive

astral_mage7 months ago
hey makingthings.com site is down as of this posting just to let u know. in fire fox i get (problem loading page)..........
sbgiftshop2 years ago
hi Honus,
I have a project on hand and would like to discuss with you, can you call me (Harry) at 340-513-1995.
tinker2343 years ago
where did you get that hours guard helmet where plese tell i need to make one to go with my jafa armor on my work bench
Honus (author)  tinker2343 years ago
That's pic from the show- I still haven't made mine yet but I'm working on it. It's probably going to be primarily cardboard to keep the weight and cost down. The original movie helmets were fiberglass and I do know of one guy that made a run of Anubis/Horus helmets and they were big bucks- over $1000.00 as they were a tremendous amount of work to make.
tinker234 Honus3 years ago
ohh sorry looked like you in costume should thought about that
Hey I had an idea for an animatronic wolf. Any sggestions on how to make this?
Honus (author)  Jaden Vynark3 years ago
There are a huge number of variables here- it depends on how complicated you want to make it. Is it just an animatronic or a costume? Do a search for wolf costume or animatronc wolf and go from there.
ScottDC3 years ago
Finally got video of my Horus costume.

See the video over at YouTube:
http://www.youtube.com/watch?v=pKf9VMGt540
Honus (author)  ScottDC3 years ago
That is awsome!! I really need to get working on mine. I redesigned the mechanism a bit and of course it's now Arduino controlled.
sunnywork3 years ago
Great work! I'm really glad to find it! spidesk.ru
spartan19963 years ago
is there a cheep (probaly not but cheap as in under £30/$30 controller kits with 8 flex sensors??? thanks im just about to make a few prothsthetics of predator and figured id use an animatronic head :) (never made 1 before)
Honus (author)  spartan19963 years ago
The best inexpensive controller out there in my opinion is the Arduino. There's a wide variety of models available and most are $30 or less. I don't know of any flex sensor kits- the sensors themselves cost about $13 each.

The Arduino Nano and Fio both have eight analog inputs and the Mega has even more but it's much more expensive. The Fio is the only Arduino that has eight analog inputs that costs under $30.

There's a spreadsheet here that shows all the different Arduino versions-
http://jmsarduino.blogspot.com/2009/03/comprehensive-arduino-compatible.html

I've actually already designed an animatronic Predator head (I haven't yet built it) so if you need help with it let me know. I'll have my Arduino animatronics tutorial up soon- I'm just putting the finishing touches on all the code examples and organizing all the photos, etc. It's going to be a fun one!
thanks I have never even looked into animatronics so I'll probably start with an arm lol but still can at least try :).
N3v3rm0r33 years ago
Can you add more than two flex sensors? If yes, how?
Honus (author)  N3v3rm0r33 years ago
The board supports up to eight analog inputs so you can have up to eight bend sensors. You connect them just like the other two regarding power and then put the sensor's output signal into each additional analog input pin. In order to use them you would need to write your own firmware for the controller, which I haven't done.

I am almost finished writing all the code for my Arduino animatronics tutorial and I've designed a board that will allow you to connect six bend sensors to six servos (amongst other things) so stay tuned!
N3v3rm0r3 Honus3 years ago
One question: the firmware is some kind of code concerning the MAKE controller?
Honus (author)  N3v3rm0r33 years ago
The firmware is the code that tells the controller what to do.
N3v3rm0r3 Honus3 years ago
Aha, can you find the controller somewhere else than the Making Things site? I'm asking because they are out of stock :(
ChaoBreeder4 years ago
Hey, how's the Horus costume going? I heard you were swamped with projects. I picked up the original Stargate at Walmart for $5, and was wondering, how the hell are you gonna make the mask shrink up into the back? :p
Honus (author)  ChaoBreeder4 years ago
It's going well- I'm redesigning the electronics right now. The mask doesn't shrink up up the back. The only thins that move are the head and the fans on the side of the helmet. The eyes light up as well.
Haha, I was just joking about the mask shrinking up in the back. I have a question for the costume, are you going to do the Movie or TV series armor considering the cold weather?
Honus (author)  ChaoBreeder4 years ago
Probably the TV series- unless I get in REALLY good shape!
Sorry for the constant questions but, how are you going to see out of this costume?
Honus (author)  ChaoBreeder4 years ago
There's a mesh screen on the upper section right below the head- that's how they did it on the TV show helmets.
Thanks! That'll help me with the scaling of the pepakura file.
ScottDC5 years ago
I had this idea to make an animatronic Horus costume from Stargate... so I started searching for reference material - I couldn't believe it when I found this site. Ordered a MAKE Controller within 10 minutes of reading about it. One problem is that the latest firmware does not have POLY mode, so you would need older firmware for these instructions to work. I've started writing my own controller code...so far so good.
Honus (author)  ScottDC5 years ago
That's a bummer about the firmware issue. Lately I've been using the Arduino a lot- it's nowhere near as powerful but it moves servos around just fine (I'm currently using it on my Predator project) and they're dirt cheap.

As for some help with the Horus you may want to have a look here:
http://skipspepakuracostumes.blogspot.com/2008_06_01_archive.html

This guy does unbelievable work!
ScottDC Honus4 years ago
I did finish my Horus costume for Easter 2009, had issues with the flex sensors so switched to an old PC analogue joystick mounted in the head with mouth/chin control.

http://www.facebook.com/photo.php?pid=5355459&l=3d1b1a886a&id=642109656

It didn't win any prizes, but it was popular at the Swancon Masquerade.

About a week later it almost got destroyed when a car crashed into our house.

My latest project was an flexing tongue for another costume using an Arduino, cheaper, smaller and less power hungry.

Thanks for a great Instructable.
Honus (author)  ScottDC4 years ago
That is freaking fantastic! Did you make it so the fans moves up and down? I figured I'd have to make mine using Pepakura but I still haven't got around to modeling it since I've been so busy with other projects.

Bend sensors can get pretty noisy, especially when you have to use them with long wires. I've redesigned my Horus control system to be wireless using the Arduino platform.
vfitch4 years ago

how much should the total price be around.

Honus (author)  vfitch4 years ago
For what? It depends on what you're trying to do...

Servos can be purchased for around $10 or so unless you need a servo that is very fast or strong. The MAKE controller with application board costs $109. Lately I've been using the Arduino platform, which is much easier (for me) to use and is significantly less expensive. When I finish the Stargate helmet project that is what I'll be using.


mskogly Honus4 years ago
I read that the i-cybie robot dog was supposed to have 16 servos on board, so I was a little disappointed when I opened it up and found this cheapo elektrical motors you find in every other toy. I got one that had short circuited, and wanted to try to bring it back to life with an arduino as a servo controller, but i ended up just connecting it up to a toy keyboard to be able to trigger some kind of movement. Can be checked out here http://pappmaskin.no/2009/11/frankendog-diy-animatronics/
Sorry, I just have another question. You mentioned that as the wires to the flex sensors get longer, there is an increase in noise and therefore a decrease in the accuracy of the sensors. How long were the wires which ran from your hand to the MAKE controller? and approximately how long would you suggest I allow the wires to be?
Thanks =)
Honus (author)  metal slug 24 years ago
The wires I used were probably around four feet long and I didn't have any problems.
weevil4 years ago
I'd love an arduino animatronics tutorial. I've used an arduino to make a servo move before, but the subtleties of building something like say, an eye mech, are a mystery to me. I'd love to be able to cheaply throw together some potentiometer or wiimote controlled eyes (left right, up down, maybe even blink) with an arduino, a few servos, and some chunks of shapelock.
Honus (author)  weevil4 years ago
I'm working on it- it's still going to be a bit.... A good book to check out is No Strings Attached. It's the story of the Henson Creature Shop- they were the guys that really invented the animatronic character. The Stan Winston Studio book is also excellent. Physical Computing by Tom Igoe is a must have. There is surprisingly little information available about animatronics. And not only can you make eyes blink but you can also make the pupil dilate- and it's easier than you think.
weevil Honus4 years ago
Wow! I'll check out those books...
Very nice! I am currently working on an animatronic mechanical hand, each finger being controlled by its corresponding finger on my hand. I am using the same sensors that you used (SpectraSymbols 4.5" flex sensors are the only ones out there I could find anyways, I got mine from Sparkfun.com), and will be utilizing them through a glove setup, as you have done. @Weevil, I will be using the Roboduino, which is a robot-oriented version of the Arduino. I might (if time allows) document my results and create an instructable on it. @Honus, is there any optimal value for the resistor used for the flex sensor? My friend suggested I use 14k.
Honus (author)  metal slug 24 years ago
I used a 10K resistor and that seemed to work pretty well.
1-40 of 67Next »
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!