Introduction: Simplified 3D Printed Animatronic Dual Eye Mechanism
Having built a simple single-eye mechanism in the past, I wanted to improve on the design as well as making it more accessible to the maker community. The updated assembly uses parts that can easily be bought online, and almost all the components can be printed easily without supports. Designing the model in this way does sacrifice some functionality, but I'll be releasing an optimised design in the future. This project is ideal if you want to build a functional and realistic eye mechanism, but don't necessarily have access to tools like a lathe or speciality components.
Another feature of this design is that it's designed to use snap-in eyes which can be replaced, and used with other 3d printed components to cast a highly realistic dome over the painted eye. This process is quite involved so I have another instructable on how to make the eyes, but if you'd prefer to use simple 3d printed eyes you can do that too.
This project will require some post processing of your prints, including some (hand) drilling and sanding, but other than the basics (3D printer, craft knife, screwdriver, Allen keys) there are no special tools needed.
Materials and Components:
- 3D Printer Filament: PLA is fine although I'd recommend you use a good brand because some parts are quite small and fragile. ABS is good for making realistic eyes but not necessary.
- 6x SG90 Micro Servos: https://amzn.to/2pG3crm
- Various M2 and M3 screws although any screws roughly that size should work ok. A kit like this:https://amzn.to/2JOafVQ should cover you.
- Arduino: This design was tested using a genuine Uno, but it's likely that any board which has SDA/SCL pins, 3 analogue inputs and a digital input will work. Arduino Uno: https://amzn.to/2JTs1Hs
- Servo Driver Board: I opted for a 16 channel PWM driver board from Adafruit: https://amzn.to/2JPOzsx
5V Power Supply, around 4A is more than enough. Here is mine (http://tiny.cc/is4cdz)
A female DC power jack to match your power supply, to be soldered to the servo driver board
- A pin vice hand drill might be useful for adjusting hole sizes: https://amzn.to/36BZNKM
Step 1: Printing
Printing may be somewhat challenging due to the small parts, but the majority of the parts print quickly and easily without supports. I used PLA for all my parts other than the eyes (which were ABS as it looks a bit more natural). There are a few delicate parts to look out for as well, but if you're using decent quality filament and you're happy with your print settings you should be fine. Finally, I used a layer height of 0.2mm and this was more than precise enough for this model - I suspect you could get away with 0.3mm even.
Step 2: Post-Processing
The eyes can be sanded and smoothed as much as you like, but a minimum of sanding may be necessary on the bottom of the model where the printer would have been printing an overhang. This is just to ensure the eye can rotate smoothly within the eyelids. The only other parts that I sanded were the eye adaptor components, just because they are a tight fit and the bottom few layers on my prints always tend to be a bit swollen.
The parts are designed to print such that some holes are undersized enough to be directly screwed into, whereas others are oversized enough so the screw will pass through them snugly. If your printer is making the holes to small to screw into or rotate smoothly around however you can use a little hand drill to drill out some of the holes to make them more precise, and tapping threads is an option too (although PLA usually grips screws fairly well anyway). Check the images for a guide as to which holes should be which size.
Step 3: Assembly
Once all your parts are printed and processed, you can assemble your model! It may be helpful to refer to the video to see how it all goes together. Also there's all the reference pics in one folder in my download, including an stl of the complete model you can look at.
- Connect the two bases with 10mm/12mm M3 bolts, this pivot point is for the y-axis of the eye motion and the eyelids.
- Place the servo in position and screw it in with some 4 or 6mm M2 screws, this serves as the actuator for the x-axis motion
- Attach the y-axis arm to the sub-base with a 4/5/6mm M3 screw, and attach a servo horn on the third hole from the centre using a 4mm or 6mm M2 screw. Check above to make sure the orientation of everything is right.
Start building the x-axis assembly by screwing the forks into the eye-adaptors with 4/5/6mm M3 bolts, the fork holes should be oversized so the screws bite into the adaptor, one goes in on a funny angle but you should be able to get it in.
Attach the three-point connector to the top of the forks, the M3 screw will bite into the undersized hole in the fork component. Also attach a servo arm on the final hole to the centre of the three-point connector using a 5mm M3 bolt (the hole on the servo arm will likely need to be drilled to 2.5mm - 2.8mm to accept the screw). I'd recommend manipulating the assembly to make sure it all moves okay without friction regularly as you build it up too.
Attach the eye centre-link to the eye adaptors with a 8mm M3 screw, make sure the flat surface of the centre-link is facing up and the sloping section facing down. You can also plug in the eyes at this stage.
Screw all this to the centre of the sub-base with two 8/12mm M3 bolts.
Load up the servo block with 5 TowerPro SG90 servos, in the correct orientation shown.
Work out which eyelid is which using the graphic, and connect the relevant connector with a 4mm or 6mm M2 screw, and attach a servo arm to the other end (use the last hole in the servo horn - you may need to drill this to 1.5mm - 1.8mm).
Attach the eyelids to the base, but don't worry about connecting any servo horns yet.
Step 4: Wiring and Final Assembly
By referring to the graphic, upload the code to the arduino and wire everything up. Check the Adafruit guide if you need help setting up the servo driver board. All servos should now be powered and in their neutral position, so use this opportunity to link up all the servo arms to the servos with the eyes facing straight forward in a neutral position. You can just plug them in, then disconnect the power to screw them in properly. The y-axis servo arm is in an awkward position to accept a screw, but I found that it held fine without a screw anyway. If yours doesn't, it may be helpful to remove one of the eyelid servos to screw it in. I'd recommend testing the motion with your joystick at this stage to make sure there are no issues.
For the eyelids, its best if you set the servos to be in the blinking position so you can line them all up in the centre. Do this by either holding down the blink switch or creating a short over it. Once all the servo arms are in position, its easy to screw them in.
Your model should be complete! If you want to see how to make the realistic eyes, check my previous instructable. I'm also planning on releasing an instructable soon to show you how to make a controller, so check back if you're interested!