Introduction: 3D Printed Animatronic Puppet

Picture of 3D Printed Animatronic Puppet

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:

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

Picture of 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:

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

Picture of 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.


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

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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!


RioHernandez made it! (author)2017-09-03

Hi Jon, cool project! Here's my version of Baby Bastion. Still need to make the joystick controller to make it move though :-)

I used cheap china SG90 servos and printed my parts using Tevo Tarantula also made in China. I had to make some changes in the gear driver since the servo size is different from the one Jon made. I am still debating on whether to use joystick controllers with Arduino or just make the servo tester board that Jon recommended :-) I post an update once i have made the controllers for this cute puppet.

JON-A-TRON (author)RioHernandez2017-09-03

So freaking cool! He looks great with the blue eye. The iris is made to fit an LED if you should feel so inclined as to add one.

RioHernandez (author)JON-A-TRON2017-09-03

Hi Jon. Thanks for the great project! Just some recommendations for improvement on the parts. The jaw itself and the support for the bearing in the neck box in my opinion are too thin and needs to be reinforced and make thicker. I have had some breakages and was able to reuse it with 2-part heavy epoxy :-) All the rest are just right and fit perfectly. The driver gear needs to be modified depending on the servo used.

Hi Jon as I am still about to learn Fusion360 and I still don't know how to make STL files, can you please send me the STL file for the end cap that finishes the neck bracket and arm? I want to print it so I can make the neck and arms pop out and look prettier :-)

JON-A-TRON (author)RioHernandez2017-09-04

I just added the EndCaps(4) file to that step. Thanks for catching that! Thanks for the recommendations too.

I highly recommend learning Fusion 360. It's free and there's nothing you can't do with it (at least nothing I can't do with it...). If you want to learn, try my free 3D printing classes: Beginner-3D-Printing-Class

RioHernandez (author)JON-A-TRON2017-09-04

Thanks Jon for the end caps STL. I have started your 3D printing classes in Instructables and hopefully have enough time to learn some more techniques. My first fusion360 project will be to create a generic enclosure to fit 3 joysticks with an arduino and servo controller shield. This will be able to control at most 6 servos. I will use this to control Baby Bastion and a robotic arm that I had earlier printed and was juyst waiting until I can create the servo controllers.

Huntermountain (author)2017-10-07

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?

Awesome! I can't wait to see the finished product. Here's a link to the Fusion file:

kylegilbert (author)2017-09-17

This is absolutely amazing.

odqstr2 (author)2017-09-02

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!

JON-A-TRON (author)odqstr22017-09-03

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

odqstr2 (author)JON-A-TRON2017-09-04

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.

JON-A-TRON (author)odqstr22017-09-05

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.

odqstr2 (author)JON-A-TRON2017-09-05

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!

RioHernandez (author)odqstr22017-09-03

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.

JON-A-TRON (author)RioHernandez2017-09-03

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!

mcstarcoin (author)2017-08-30

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:

JON-A-TRON (author)mcstarcoin2017-09-03

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

RioHernandez (author)JON-A-TRON2017-09-03

Hi servo testers at Aliexpress are just S1.54 now. Here is the link

This is where I bought the servo testers :-)

Donald Bell (author)2017-08-18

Beautiful work again, Jon! So impressed!

JON-A-TRON (author)Donald Bell2017-08-19

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

Donald Bell (author)JON-A-TRON2017-08-21

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.

Donald Bell (author)Donald Bell2017-08-21

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

Donald Bell (author)Donald Bell2017-08-23

Doing some more research on servo testers. Do you think a board like this would solve the multi-board controller setup in one shot?

JON-A-TRON (author)Donald Bell2017-08-24

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???

Donald Bell (author)JON-A-TRON2017-08-25

Someday! Really though, I'm just excited to have a new tool for playing with servos. I have a bin full of them. A board like this, some servos, paper clips and a pile of scrap cardboard could make for a fun afternoon of improvised animatronics.

JON-A-TRON (author)Donald Bell2017-08-25

The eye mechanism is really fun and relatively easy to execute, that might be a good stand-alone example to tweak some servos with.

johnaobrien (author)2017-08-20

Very nice job. Looks very clean

호성김 (author)2017-08-17

헐 대박!!!!!!!!!!!!!!11

내가 이거 만들고만다!!!!!!111

만드신분 대박임!!

JON-A-TRON (author)호성김2017-08-18

Thank you! Please show us what you make.

Anshu AR (author)2017-08-18

Neat and nice

SugarCluster (author)2017-08-16

Speaking of Bastion, I'm making a 1/8 sized Torbjorn's turret! The problem is, I want it to be strong (so I can mount confetti guns and small air compressor in it) and couldn't figure out how to make pan & tilt mechanism sturdy enough to support all of that.

RobertR117 (author)SugarCluster2017-08-17

Print in NylonX Super Strong...Make sure you have an all metal hotend in your 3d printer. Have fun :-)

SugarCluster (author)RobertR1172017-08-17

Too bad I don't have that material. Or a printer.

Anyway, thanks for the suggestion!

JON-A-TRON (author)SugarCluster2017-08-17

You'll need to hack a servo to make it continuous rotation. The ones I'm using for this project can be turned into continuous rotation by disassembling it and cutting off a hard stop attached to one of the gears.

You'll need to rely on the encoder to get it to stop where necessary.

SugarCluster (author)JON-A-TRON2017-08-17

Yes, that hack is included in the diagram as encoder wheel being outside the main gear.

My problem is getting the encoder to precisely (or relatively precisely) set the motor position so it doesn't spiral out of control and damage itself. And yes, it needs some clever hack.

I can't just stick it somewhere on the shaft itself as it's being occupied by the top half of the turret. Or maybe I can get it to work by inserting it under the shaft itself? Is it possible? Feedback is welcomed.

JON-A-TRON (author)SugarCluster2017-08-17

Gears and levers are your friends. Don’t try to rely on servo motors to support anything, use them as drivers for larger minted gears and you’ll have more success. That’s how the neck mechanism works with this project.

SugarCluster (author)JON-A-TRON2017-08-17

( Sorry for the terrible drawing, I have some problems with my hand)

This is my current build plan. Driving motors are cordless drill motors or high torque motors from other battery powered appliances.

Part A only has supporting shaft connection.

Gears on B has a gear ratio of 1:1, thus no need for the encoder hack.

Gears on C has a gear ratio of 1:4, so every 4 turns on driving gear will turn the bigger gear 1 time. This is exactly why I need the hack, due to the space constraints -- I can't fit 1:1 ratio gear here because it will take up too much space!

SugarCluster (author)JON-A-TRON2017-08-17

Oh yes, absolutely. I wasn't going to use off-the-shelf ones as-is on this project unless it's driving low load.

Things I haven't figured out are as follows:

1. How to make strong pan/tilt mechanism that does NOT involve sophisticated software magic (AKA Mega-Servo project - Geared servo which turns big wheel exactly like a normal one would, but much bigger and stronger)

2. Figuring out how to make 180-degree servos 270 or 360-degree ones if the one I ordered isn't what I expected (supposedly 360-degree ones)

3. Reverse Reduction Gear and stabilization

If you could enlighten me on some or all of those, I would be really happy!

samern (author)2017-08-17

It would be awesome to put a camera in the eye socket, then add a PIR sensor so the head can track an object and then add a DIY Alexa equivalent and voila, it's a smart puppet! Hmmmmmmm, now I have a better excuse to build one of those DIY Alexas....

JON-A-TRON (author)samern2017-08-17

Do it! I’m sure there’s room for a small one.

samern (author)JON-A-TRON2017-08-17

Now to lash up something to translate audio to pulses for the eyelid and mouth servos.....and maybe that PIR sensor for the head movement to follow whoever is in front....

Hey, now we have the makings of a 'Sentry-bot'. Instead of the run of the mill security camera, this guy can be 'asleep', even making light snoring sounds until it senses motion (or whatever else). Then his head follows the intruder and the camera livestreams the video. Wait, wait....dual purpose, both a security cam and an Alexa. Spread these babies all over the house and link them together.....

Ok, now I'm getting ahead of myself....

Awesome Instructable. I just love the idea. If I had the know how, I'd add a full blown body a-la InMoov too.

DavidG809 (author)samern2017-08-17

You know that idea could be a security bot OR a sentry bot to scare the wits out of trick-or-treaters. Hmmm nice. A Jack-O-cyborg-Lanertern. Ooooooh

samern (author)DavidG8092017-08-17

My thoughts exactly. And bow, a diabolical laugh....booohooohahahahahaha!

JON-A-TRON (author)samern2017-08-17

This one might be helpful for a project like that:

SugarCluster (author)samern2017-08-17

PIR sensor might not respond properly to the colder environment and sudden temperature changes (both positive and negative -- test it by using air duster on those sensor lights!)

I suggest OpenCV or object tracking boards for the tracking feature.

samern (author)SugarCluster2017-08-17

Thanks! OpenCV sounds even better. I will go look!

renove (author)2017-08-17

I do wonder if you could point me toward instructions (don't have to be project specific) for how to use the remote control instead? I'm a puppeteer and ventriloquist and would love to do the controller method!

JON-A-TRON (author)renove2017-08-17

There's nothing to it. If you build an animatronic puppet like the one in the instructable, all you have to do is plug the servos into a remote receiver and put the receiver and controller on the same channel. You've got to make sure your servos, receiver, and controller are all compatible with each other. Here is a setup that will work with the servos linked above:



About This Instructable




Bio: I'm a full-time Designer at the Instructables Design Studio (best job ever). My background is in residential architecture, film set design, film animatronics, media ... More »
More by JON-A-TRON:DIY Action Cam Macro Lens3D Printed Bevel GearsEasy Exploded 3D Drawings
Add instructable to: