My Name is Ben Ryherd (@ryherdmakes on Instagram). I’ve been a huge fan of Battlebots since the Comedy Central days, and I was only 9 when it went off the air. When the show returned in 2015 on ABC everything felt right again with the world...
Following the 2015 season, 3 teams sponsored by Solidworks (Bite Force, Lock Jaw and Icewave) released their full CAD models of their bots as a case study. I downloaded them, remodeled all of the pieces and scaled them down to create 3D printed models. My interactions with Andrea and team Witch Doctor began when I reached out about making a model of the 2017 Witch Doctor.
Being an engineer and a huge fan of Battlebots, I reached out to Andrea to see if there was anything I could help the team with. Being based out of Southwest Missouri, I assumed there wouldn’t be much I could do to help, but was pleasantly surprised when she mentioned that they had always wanted to make the bird on Mike’s hat animatronic, but never seemed to be able to find the time. I definitely had the mechanical experience, comfort with RC Hobby Servos and had dabbled in coding for Arduino so I quickly snatched up the incredibly unique opportunity and agreed to help.
Receiving the hat was pretty surreal. It’s not quite like a movie prop, but considering I like BattleBots more than any movie, it was incredible just to be in its presence.
I had originally planned to mount the servos under the top lid of the hat and run small rigid wire out of holes in the hat up to the wings and possibly jaw of the bird, but once the 12.5 gram metal servos I had ordered for the project had arrived, I realized I had enough room to actually pack them into the bird itself.
I had a lot of experience with RC servos and wanted to use them so that I could hook up my RC transmitter and puppet the bird in real time. The problem with this plan is that Arduinos don’t handle multiple PWM inputs very well, so I had to get creative on how I would “Record” the movements to allow automated “Playback” as one of the few requirements of the hat is that it does not require any intervention to make it move other than plugging it in. Arduinos can however, read analog values pretty quickly and easily.
I opened the servos and soldered another wire to the wiper of the potentiometer used for position feedback. This meant that the voltage on that wire would vary between 0-5v depending on the servo’s position.
I then installed a footswitch to the Arduino so that I could press with my foot to “Start Recording” and then let go to “Stop Recording” leaving both hands free to puppet all 4 degrees of freedom of the bird. I also switched the servo controls over to the receiver matched to my transmitter.
The characterization was used to work out the real-time analog values being read in, and turn them into the appropriate driving angle to replicate the motion. Those angles were then output formatted to look like an array so all I had to do was copy and paste that array back into the base code to save each “Sequence”. This meant that I didn’t need to add any hardware RAM to be able to store the long sequences.
With some careful trimming with a hobby knife and a rotary tool I was able to clear out enough room to fit 3 servos inside the ribcage and another one inside the head.
The servo in the head would open and close the mouth, a servo in the middle would turn the head via a carbon fiber shaft running through the newly hollowed out neck region and the remaining two servos would actuate the wings independently.
Both wings were fastened with a single screw where the shoulder pivot would be so that they were poseable in the original plastic model. Drilling out the holes for the screws in the wings themselves left enough clearance for a low-ish friction hinge, no additional hardware needed there. Linkages for the two wings and the jaw were scavenged from a partially damaged rotor-head of an RC helicopter (the ball-end rods that tie the servos to the swashplate).
Before closing everything up I drilled holes in the eyes and inserted a 3mm LED in each with the appropriate resistor to run off the 5v power to the Arduino. A Little epoxy putty and some hot glue secured the servos and enclosed the head and ribcage.
I added black heatshrink and mesh wire-sheathing to help hide the wires and ran them all in a bundle out of the bottom of the bird’s ribcage. This wire bundle would then run out of the bottom of the ribcage down into the hat where the control and power electronics were housed. The assembly was finished by fastening a 3D printed plate to the underside of the lid of the hat and mounting the Arduino, connecting wires and zip-tying the feet to the hat lid.
For fun I even 3D Printed a hat for the bird that matched the hat it was standing on, packaged the hat up and shipped it to Andrea just in time for it to go in the crate with the bot and tools.
After it shipped, I felt it needed at least another couple layers of bird-hat-bird etc. I designed a bird skeleton that could be printed flat and formed with heat from a lighter into a 3D shape, then designed and printed a hat for the miniature bird, and that had a little white bit on the top to portray yet another bird, details you’ll have to look really close to see, at least while it stayed attached. If I were to do this again, I’d probably cut out the RC Transmitter and build a 3D printed armature with potentiometers in the right places so I could puppet a similar skeleton and be able to cut out the need for customizing the servos with the 4th analog wire. Other than that I’m very pleased with how the whole project turned out and seeing it on TV was just so fulfilling.
Watch a video of the build at https://youtu.be/KAgI1eVC16I