Engineering Design Process
Collaboration Between Design Teams
Robustness
Creative Problem Solving
Autodesk Inventor 2025
Arduino IDE
Bottango
Bambu Studio
This project was envisioned to help a theatre production come to life and become more engaging. The story we were designing was an adapted version of Frankenstein. This production would be interactive, with a tour guide showing a small group through several rooms that would each highlight important moments in the story. The plan was to build various body parts that would sit on a curved tabletop/desk where audience members could go up and sit right next to them and even touch them if they wished. One of these body parts was a set of realistic breathing lungs, for which I was assigned to complete the mechanics and programming.
First, I researched the anatomy and motion behind real lungs, trying to figure out the best structure and mechanisms to make a set of lungs look like they were taken out of a living body and revived with electricity. Real lungs act like bellows, using air to inflate/rise and deflate/fall. However, when trying to replicate synthetic lungs of this style, the underlying mechanisms become very complex and more prone to breaking, especially if touched by an audience member. This led to a much simpler linkage-driven mechanism using 2 mirrored curved plates to push the silicone lung cast up and down.
This mechanism utilized servo motors to move a linkage attached to a pivot on the plate that contacted the silicone skin. This allowed for the range of motion needed to sell the look of a real breathing lung. It also allowed for an easy servo swap if anything needed to be replaced quickly.
I used Autodesk Inventor to design all the parts and assembly for this lung mechanism. I started with the plate that interfaced with the silicone lung skin (seen below). I made this plate curved to better fit to the silicone skin.
I then made a mount to hold the curved plate and allow it to pivot at one end. I also added a mounting spot for a standard size servo motor. The specific model used was a Miuzei MG996R.
I then made an extended servo horn that linked to a bar connected to the curved plate at a pivot.
Another aspect of this design was the cost/amount of material. I wanted to keep the price of this mechanism as low as possible due to the tight budget allocated for our team, so I hollowed out the larger parts to help save material (seen below). I used a 3D printer to make the parts for this mechanism due to its ease of use, availability, and speed. This also allowed me to easily "rapid prototype" as I was figuring out kinks at the beginning.
Along with the provided servo screws, I connected the pivots and servos with 8-32 star drive screws and used lock nuts where necessary to secure open screw ends. When wiring up the system I used a PCA9865 Servo PWM Driver and an Arduino Uno to control the servos.
To program the servos for the lungs I used Bottango, a free animatronics/show automation software. I chose this program because it was user friendly and compatible with the electronics I was using. To use Bottango, you first create a virtual representation of your animatronic mechanism in the "Build" tab. It doesn't have to be detailed, just enough to see the simple linkages that make up the animatronic. Once a virtual animatronic is made, servos/actuators can be assigned to each joint. Then, after connecting a driver (in this case the Arduino), you can use the "Animate" tab to set keyframes of different positions over a given period of time (see below).
One of the first problems I encountered was getting the lungs to move smoothly for any period of time. When programming in Bottango, the servo motors change position smoothly between keyframes everywhere except for at the end when the program loops back to the beginning. This transition can be sudden, leading to a un-lifelike appearance. (This can be seen at 0:07 in the video above)
To fix this, I made sure to copy the position of the first keyframe and paste it at the end of the 10 second loop. When placing keyframes, I also made sure to pay attention to which direction the 2nd and 2nd to last keyframe were going. If the 2nd keyframe was rotating clockwise, I would make sure the 2nd to last keyframe was also rotating clockwise and vice versa with counterclockwise. This allowed for the transition between the end and start of the loop to be smoother and almost unnoticeable. (This can be seen below after the mechanism was fitted with the silicone lung skin)
This animatronic ran for over 100 walkthroughs over 2 weeks running 4 shows each week. Overall, this was a huge step forward on my journey with entertainment engineering and animatronics. I gained knowledge in CAD software, building for the stage, programming, designing for robustness in a theatre mindset, electronics management, animatronics controls, teamwork, and so much more along the way. I hope to continue working with these teammates, it was a really enjoyable experience working on this project with them. I can't wait to see what we can do next!