Clank Animatronic

by jalani23 in Circuits > Arduino

109 Views, 2 Favorites, 0 Comments

Clank Animatronic

Screenshot 2025-12-05 151519.png

From when I was a kid, I remember all the times that I would play Ratchet and Clank on the PS2 so for this project I decided to develop a miniature version of Clank in the form of an animatronic. What this animatronic does is change its eye colors based on the whether it is in a light or dark environment, it twitches its antenna randomly to give a sense of robotic behavior, and it is able to talk and move its jaw to a somewhat synced audio when something approaches the ultrasonic sensor. This animatronic is capable of saying other audios and is essentially interactable in two ways. With regards to the supplies, most of the supplies used were from an Arduino starter kit and the only other additional items that were purchased were for audio and tightening 3D printed parts together with nuts and bolts.

3D Printing the Support Structure

IMG_9786.jpg
IMG_9802.jpg
IMG_9823 (1).jpg
IMG_9892.jpg

The entire animatronic was 3D printed using ABS filament in a commercial 3D printer. The choice for ABS was just on available filaments at the time and for recreating this project it can easily be made using PLA or PETG which are more easier to handle and print materials. After 3D printing the entire body of the animatronic, because the ABS filament was a bright red color, I decided to spray paint the entire body to give it that original silver metallic look that Clank has in the video games. Then once everything is printed and painted, it is all about putting all the parts together like a puzzle and using a mix of hot glue, tape, and some screws/bolts as needed to put things together. Optional supports include the support for the Servo motor and an Ultrasonic holder just to help with the position of these parts with respect to the model and drill bits were used as needed to screw in the holders into a fixed position on the model. Additionally, I did consider putting the entire model onto a wooden or plastic platform and screwing everything down but it was able to hold up pretty well on its own.

Joint Design

IMG_9893.jpg

The only real joint in the design of this animatronic is in the hinged jaw and how it connects to the top part of the face. In the image above, you are able to see the rectangular cutout into the cylinder part of the jaw which allows it to connect to the head. This cutout is meant for the stepper motor to stick into it and become fixed; in other words, with the motor being fixed the jaw is able to move with only one motor with enough tolerance between the hole in the face plate and the cylinder that goes through the hold from the jaw. There is no other joints to this model and it is mostly designed to be a pretty fixed structure although I am considering recreating Clank with his arms and legs.

Actuators

IMG_9896.jpg
IMG_9897.jpg

The two actuators used in this animatronic are a servo motor and a stepper motor. The servo motor acts the actuator for the Antenna and moving randomly to different degree positions at different time segments giving the impression of a robot twitching their antenna (almost as if they are receiving signals from different directions). The stepper motor is the actuator for the jaw movements and therefore will determine how the animatronic will talk. As mentioned earlier, to use these actuators I 3D printed a servo holder which I then screwed onto the backside of the model giving the impression that the antenna is a part of the body when viewing from the front. With the stepper motor, I had to improvise and use spacers, bolts, nuts, and 3D print a very small adapter to allow for the 2nd bolt of the stepper motor to tighten against the face without breaking the plastic and make sure that it is fixed. Initially, I was 3D printing parts one at a time while working on the circuitry and it was only after that I realized that the stepper motor hole was too low on the size of the face that running a bolt through it will end up floating in the air; hence the small modified part to the model to help fix the motor.

Sensors

IMG_9890.jpg
IMG_9889.jpg
IMG_9888.jpg

The two sensors that I used included a photocell and an ultrasonic sensor. This way depending on the environment that Clank is in, the eyes will either be a bright green color (the good clank) in the light of day or in a dark environment his eyes will turn red (representing his evil counterpart Klunk). The light intensity is then measured by the photocell and will transition the eyes slowly between the two colors. The other sensor includes the ultrasonic sensor which triggers the stepper motor and tells the motor when to move. Thus, when someone approaches the animatronic, Clank will begin to speak and say a random quote the motor is programmed to match that audio the best of its ability (with a better motor you can reach faster movement speed and more torque). Then the audio will play and move the jaw until the audio is done and only then can the audio and jaw motion can be triggered again.

Programming and Logic

IMG_9894.jpg

For the programming, I did it in a step by step manner where I started with only one component of the animatronic and slowly merged parts together to allow for troubleshooting and finding issues either in the wiring or code. The following is the sequential order that I worked on combining the different components into creating two separate scripts for two arduinos functioning together for the animatronic.

Eyes: Putting same color LEDs in series and opposite colors in parallel, I tried to make sure that when the photocell reaches a certain range, one set of Red LEDs turns on and then a higher range the Green LEDs turn on. By putting these ranges intersecting so that there is a measured light intensity where both are on you can make it appear that the LEDs are transitioning between each other by also controlling the LED brightness.

Jaw: I kept building the circuit on the same board and arduino controller just to see if I was able to supply the appropriate amount of power to all my components. The logic here for the jaw consists of measuring the distance via the ultrasonic sensor and when it measures something is close in front of it by 20 cm it triggers the stepper motor to move to certain positions. With regards to the motion syncing with the audio, I kept it simple and only moved the motor back and forth every time the audio goes from high to low in the file between two degrees and at the highest speed the stepper motor is able to move without stalling or stopping.

Antenna: The antenna logic is independent of the eyes and the jaw where I am powering the servo and then just move the servo in between 45 degrees of a range and then cycling through different positions with delays to make it seem robot-like.

2nd Arduino + Audio: For the audio, I started using a second arduino to test it separately from the original arduino that I was originally working on for easier troubleshooting with the audio. It was at this point that using the stepper motor with the audio and trying to sync the two that I came to the realization that the mini mp3 player and the compatible speaker require a clean 5 V to operate appropriately with no static. That being said, I kept the stepper motor separately with the original stepper motor and then a second arduino connected by the Digital pin 2 powering the audio and then each individual arduino being powered by my computer. That being said, I used a 16 gb sd card formatted to FAT32 and using an audio file that I compiled to 44100 Hz, I was able to insert that card into the mini mp3 player and trigger the audio using a downloadable library in arduino software called DFRobotDFPlayerMini. Once getting the audio set up I was able to still use the same setup I had before with the ultrasonic sensor and the stepper in a way that the ultrasonic sensor is able to trigger the stepper and send a signal via Digital pin 2 to also trigger the audio at the same time.

Final Product

Screenshot 2025-12-05 151519.png

A video of the final product can be seen on Youtube using this link:

https://youtu.be/2su75F3SnYI


Lessons Learned

Through doing this project I was able to learn a lot from my own mistakes on wiring and setting up components that I am now able to understand circuits on a better level than before. Some of the big lessons learned include:

1) Sometimes relying on online wire diagrams are not fully reliable when ordering third party components so it is best to either order original components or just tinkering with the pins may be the best way to troubleshoot.

2) Looking at the specs of different components that you have, in my case the stepper motor, can help you troubleshoot faster just by understanding the speed that it can move effectively and how quick it can accelerate in opposite directions.


For anyone that would like to recreate this animatronic, I strongly suggest looking at the wire diagrams for each individual components like how to wire a photo cell or LEDs so that when combining components it should be easier to wire. Additionally, definitely try to make an entire assembly containing all the parts of the animatronic before 3D printing because there were some clearances or parts that were too short where I had to come up with something to make it work and modify the animatronic slightly as seen by the stepper motor in the actuators section. If time permits, I'd like to revisit this project and potentially pack all the wires and components into Clanks body while also giving him his arms and legs to try to make a 1:1 Clank in real life.