3D Printed Animatronic Puppet




Introduction: 3D Printed Animatronic Puppet

About: I'm an inventor / maker / designer based in the Bay Area. My background is in residential architecture, film set design, animatronics, media arts, exhibit design, and electronics. I use digital design and fa...

Meet Baby Bastion, the Overwatch inspired animatronic puppet! There's a huge variety of DIY robot projects on the internet, but a lot of them lack a means to express emotion. This instructable has lots of useful mechanisms that will help you take your robot to the next level.

Image source: http://gameranx.com/features/id/54847/article/overwatch-how-to-counter-every-hero-tips-strategies/

Bastion has a lot of personality for not having a face, but most of it is expressed through complex head and body movements and its responses to a little bird friend it's fascinated by. I wanted to come up with a new character with a human-like face based on this one.

Step 1: How I Learned This Stuff

Through a very strange turn of events, I had the privilege of learning from John Criswell, the lead animatronics designer / fabricator / artist / mad scientist at Jim Henson Studios. To make a long story short, he spent a week with me explaining the process, gave me a pile of half finished puppets, and left me as the supervisor on a low-budget children's movie called Labou.

The eye mechanism came straight from Criswell- it's based on the one he used on everything from the Dinosaurs TV show to Where the Wild Things Are.

I haven't been able to use these skills since I quit working in special effects in 2006, so this was a really fun project.

Step 2: Tools + Materials

All of the parts are 3D printed except the ones listed below. It's designed with cheap, small servo motors but it would work much better with expensive metal gear ones. I'll get onto the control system later, but keep in mind that the classic animatronic control method is an off-the-shelf R/C controller and receiver that's comparable with the servos.

Step 3: Design + 3D Modeling

Here's a link to the Fusion 360 file- you can download the archive and upload it to Fusion to edit it on your own: http://a360.co/2vn94pq

The STL files in this step are ready-to-print, just bring them into any slicer and prepare them for printing.

The PDF file in this step is a multi-page template for the paper craft base. The blue lines are crease lines and the red lines are cut lines.

The design took quite a bit of time to complete, but Fusion was a great tool because I was able to use mechanical joints to test the movement of the parts. The ball joints get a bit finicky when you're previewing the motion, but testing one joint at a time works well with this model.

Step 4: Painting

I wanted this puppet to look weathered like the Bastion character does, so I did some digging and found some really cool weathering techniques.

This instructable by Ossum has some great advice on this topic, but by far the best resource I found was Scale War Machines. It's a goldmine of realistic painting, finishing, and model making techniques.

Source: http://gameranx.com/features/id/54847/article/overwatch-how-to-counter-every-hero-tips-strategies/

The head is designed as though it's been through some abuse, so it's got chipped paint, grease stains, and warn corners.

To get this effect I did the following:

  1. Paint the parts to be weathered with a base coat. Based on the character design, this is chrome. For other kinds of weathering the base coat might want be rust colored.
  2. Once that coat dries, dab some water on the part then sprinkle salt onto the water. Push the salt into any desired shape.
  3. Paint the part with a finish coat. I used green to match the character design.
  4. Once this coat dries, use a stiff brush (a toothbrush would work well) to scrub off the salt. This will come off fairly easily and leave a splotchy base coat showing through with a fuzzy edge and some scattered specs around it. It looks very natural when it's done!

The great thing about a weathered finish is that you don't have to be that careful about keeping it clean and pristine- dents and scrapes just add to the authenticity.

For the skull I used a yellowish white base coat and a solid white top coat with the same technique. For the gunmetal gray parts I just sanded the corners a bit so the white PLA showed through. This gave the effect of warn edges.

Step 5: Neck Bracket

The neck bracket has one servo that drives the bearing gear. It screws into place in the cavity and the servo cable snakes up through the hollow post that the bearing will press fit onto later.

The neck arms glue into place on the sides of the neck.

Step 6: Eye Mechanism

The eyes mechanism is a bracket with a gimbal on the end that the eye attaches to. The eye is a hollow sphere with the back open. The gimbal is assembled with cut paperclip pieces glued into place and it's got two open points that push rods can attach to. One servo drives left and right movement and the other drives up and down movement.

I used paperclips as the push rods for the eye movement because they're cheap, easy to bend, and easy to prototype with. This part takes a bit of trial and error because you have to get the servo horn in the right spot with the push rod at the proper length.

The eyelids are thin pieces that hinge on the sides of the bracket with M3 screws as hinge posts. They have ball terminals on one side that hook up to ball joints on push rods. These push rods are on a small swivel hinge that attaches to a third servo. When the servo moves clockwise, the horn pushes the rods forward, closing the lids with one motion. Counterclockwise opens the lids.

Step 7: Assembly

With the eye assembly finished, the full assembly follows.

The eye assembly attaches to the skull with M3 screws at two points. One goes vertically into a screw hole in the bottom of the skull and the other goes horizontally in the top. These need to be at least 12mm long but other sizes might do the trick.

The jaw assembly has a bracket (part 4 in the diagram) with a cylindrical post on the right side and a servo mount on the left. This lets you snap the jaw into place once the disc horn (part 7) is screwed into the jaw. It's easiest to attach the jaw to the bracket first, then screw it into the skull. These screws should also be about 12mm long.

The side panels attach with M6 screws for aesthetic reasons (the original bastion has big screws in these locations). The eye trim attaches to the skull with two screws through the top. The tolerances are pretty tight here, so make sure the features are cleaned really well.

The neck bracket slides into a pocket in the back of the skull vertically and two M3 screws fasten it in place. The screw caps (part 10) are optional, but they make the piece look a bit cleaner.

The neck swivel bracket (14) has a hole that the bearing gear (15) fits into with some play so it can move freely. If printed accurately, the bearing gear will press fit into place in the bottom of the neck bracket (13) without the need for glue. The bearing (16) press fits into the bearing gear (15) and onto a hollow post inside the neck piece. This allows you to feed the cable from the servo (6) through the neck, bearing, and neck bracket. The neck swivel bracket attaches to the neck with m3 screws, and the neck arms (18) glue into place on the sides of the neck. The end caps are an extra touch to add a little contrast to the piece.

Theres a driver gear (not shown in the diagram) that screws into the servo post and interfaces with the bearing gear to make the head turn.

The neck arms (18) screw into the base with M3 screws through the bottom and a hose bib (20) takes the mesh tube with the servo cables inside it and the 3mm silicon tube that's just there for aesthetic reasons.

That's it, the whole head is assembled! Now all that's left to do is assemble the controller and put everything in place.

Step 8: Controller

The controller is just a 3D printed bank for a bunch of servo testers. The testers take 6V DC power and turn the servos their full range. They also have a tester mode that oscillates them.

This step could be replaced by any store bought RC controller and receiver that's comparable with the servo motors. This is how it's typically done in the film industry and it's much more natural than the setup I've got here. That said, this version is a lot cheaper and it's a very simple way to test out the movement.

The electronics are as simple as can be- just a bunch of servo extenders cut off and wired in parallel with a male DC terminal that a 6V DC adaptor can plug into. I put a switch in line for convenience sake and added a hole for the end of the terminal to poke through.

I took the enclosures off of the servo testers and screwed them into place on the controller board, then used the base to hide all the wiring.

The result looks clean and fits snugly into the flat base I made.

Of course, this would be a great project to control with an Arduino / servo motor shield combo, I'd love to see someone tackle that!

Step 9: Finishing Touches

I made a flat base with cutouts to hold the base and the controller so the piece would sit on a tabletop and added a paper craft cowl in place of shoulders that's similar to the original Bastion design. This part could use some more attention, but I wanted to focus on the head for this project.

If I were to do this project again, I'd change the size of the neck so that I could fit a bigger driver gear. The small gear only turns the head about 10 degrees in total. I'd also like to adda another servo to give the head and up and down motion.

The other thing I'd add would be a roll bar at the top to act as an articulated eyebrow. This is a very expressive feature for any face and makes a huge difference in making a puppet more lifelike.

Thanks for following along, let me know what you think in the comments!



  • Water Contest

    Water Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Metalworking Contest

    Metalworking Contest

76 Discussions

tiny scary one

Hi, Jon, I love this project. I'm getting ready to build it with my daughter but I have a problem sourcing the ball bearing where I live. Any chance of getting the F360 files for the neck, so I can adjust them to a different size of ball bearing?

1 reply

This is absolutely amazing.

Help! I'm missing something, where are the pushrods, and ball joints coming from for the eye lids? I don't see them on the parts list. Thanks!

6 replies

Thanks for pointing that out! I just added those parts to the list on step 3.

Thank you so much for your quick response! As I said before this is not my area of expertise and I'm having a great time learning with this project. One last newbie question, what did you use to mount the push rods on the servo? Looks like it could have been printed but I'm thinking there is some kind of standard RC linkage? I've looked at a couple of RC sites but nothing quite matched up.

Yeah, those are 3D printed parts, "Eyelid Lever Up" and "Eyelid Lever Dn" in the STL file list. I used a small machine screw and a nut to to make a little axle through the holes. You can see it in the screenshot attached here and in the pictures in Step 6. You may need to drill out the holes to make them big enough for whatever screw you have access to that fits.

Screen Shot 2017-09-05 at 11.32.32 AM.png

Thanks for the update. Haven't mentioned it up to this point but this is an outstanding project. Its pretty straight forward, relatively inexpensive and when you're done you have a professional looking animatronic model. I've learned quite a lot. Thanks!

Hi. The pushrods and ball joints are not included in the parts list. I just used some spare ones from my RC planes and cars hobby. Usually you can buy these parts from hobby shops.

Wow, amazing work!

I've just changed Step 3 to include the push rods and ball joint kit, thanks for pointing that out.

If you're willing to spend $50+, I'd recommend getting an R/C controller / receiver that works with the servos you've got. You'll find it much easier to control the movements naturally with a setup like that.

Anyway, keep it up. You're really 110% on this whole DIY thing!

This is amazing! Thanks for the 'Ible! I found an alternative to the servo testers that only cost 16$. It is a "Lewan Soul 6 Channel Digital Servo Tester with Over-Current Protection" on amazon, with the servo testers at 5$ a piece this is definitely cheaper

Here's the link:


2 replies

Thanks! Wish I'd seen that before spending all that dough-

Praise from Caesar! I love Maker Project Lab. Keep up the good work.

Thanks Jon. Is there a particular off-the-shelf servo testing board you'd recommend? I see some Hobby King options at around $5 per board.

Ack, nevermind, I see the one you linked to now. Thanks.

Doing some more research on servo testers. Do you think a board like this would solve the multi-board controller setup in one shot? https://www.amazon.com/LewanSoul-Channel-Digital-Over-Current-Protection/dp/B073XZH264/

Yes, that will definitely work. Some servos don’t have the same pin order as Futaba, but you can always pull the pins out and rearrange them if necessary. Most likely you won’t need to do that. Are you making on???