Close
0%
0%

Hacking Seasonal Yoda

From the clearance bin to our hearts! Modding Yoda to be a companion bot

Similar projects worth following
474 views
0 followers
Modifying a clearance-rack $50 holiday "Master Yoda" animatronic, into a freely programmable talking 3-axis skull. Definition of Done: Be able to play "Sea Gulls! (Stop it now)" by Bad Lip Reading, and have Yoda sing along. #makerobotfriend

This page is a work in progress, thanks for your patience as I get it off the ground.

In 2023, Home Depot released its annual line of Halloween and Christmas seasonal animatronics, and this year’s lineup included a Master Yoda (from the Star Wars series, if you somehow did not know), wearing a Santa hat and holding a lightsaber behind a cartoonish faux wooden sign. The expression on his face was considered a bit… off-putting… to some. 

However, when I saw it in person, I was impressed with the expressiveness and the amount of articulation! His eyes move! They blink! He speaks! He ignites his lightsaber and waves it (sort of) as he goes on and on about… the Seasons?!

Yes, because this Yoda animatronic is MULTI-SEASONAL!

Yes, it comes with a… witches hat, and a different sign? Yoda’s speech actually directly avoids mentioning any holiday by name, or anything other than… good feelings, I guess.

This would be in an effort to make it a multi-holiday decoration, that you could leave up, from October to January maybe. I don’t really get it.

Well, apparently, neither did anyone else. Because the holiday decoration that began at a completely reasonable $199, and the prices were slashed, eventually settling at $50 each at Home Depot.

A traditional “talking skull”, where a user can provide their own audio to a prop skull and appears to talk is expensive to buy outright, with many of them ** beginning at the $300 ish price range ** for some of the nicer ones.

Then the price shoots upward when you add the ability for the skull to turn its head and nod/tilt, also known as a “3-axis” skull.

As of this writing, a 3-axis skull from a more reputable haunt site is over $1,000 USD, and then climbs up once you add in theming, such as a silicone “skin”, clothing etc.

So, $50 for a life-size (honestly, probably slightly larger than full scale) Master Yoda animatronic with 3+axis? With 8 servos, 2 DC motors, a “lightsaber”, and various brick a brack. That is a deal! No, that might even be a steal!

And at that price point, I felt that I could fail at this project and still have gotten my money’s worth.

(Note: Prices vary, $50 is the lowest I’ve seen for new in box, with prices averaging $100-$150 on eBay)

The Challenge: Could I reprogram this animatronic to do my bidding?

(Spoilers: Yes.)

  • 1 × Seasonal Yoda from Home Depot Originally retailing for $199 at Home Depot, Master Yoyo's price dipped to a low of $50 after the Christmas season. Can be found for anywhere within that range on eBay/Offerup
  • 1 × Adafruit PCA9865 16 Channel Servo Controller or a compatible clone
  • 1 × ESP32-S3 (or any other Arduino-compatible MCU) I used an Adaftruit ESP32-S3 QtPy, but any MCU that can be wired to the PCA9865 ought to do the trick. If you want standalone animation playback from the mcu, get something fast.
  • 1 × Jemmy Talk board or a DC motor module I use the Jemmy Talk from JMann on Haunt Forum as I had it on hand. You can substitute this for an l298n module, and drive the motor with arduino code.
  • 1 × Optional: Secondary MCU to offload mouth animation features If you DIY instead of get a Jemmy Talk, I recommend separating control of the mouth animations from the rest of the servos, but you do you

View all 7 components

  • Video: Seagulls! (Stop it NOW!)

    savant4204/18/2024 at 04:52 0 comments

  • The story so far

    savant4204/18/2024 at 04:19 1 comment

    Current Status: 

    Main goal is functional, the Robot can be animated in real time, with an xbox (or similaer) controller, in animated sequences via Bottango, or in Bottango's "standalone driver" mode, which more closely mimics a seasonal decoration, and all animation lives on the microcontroller.

    ### Why did I do this?
    - big fan of combining technology and story to create magic
    - to learn the technologies involved
    - to see if I could
    - to have my own robot friend

    ### Who am I?
    - 15+ years in Information Security as an "penetration tester" (hacked applications and networks managed by my employers)
    - Raised in SoCal, big fan of animatronics, and in particular of the audioanimatronics featured in Disney Parks.

    # How does it work?
    ## How it works (unmodified)
    Yodas animations are triggered by a passive infrared sensor mounted to his robes, which can also be bypassed to use a contact-closure trigger (step-pad, remote, whatever) or be set to "lights only" mode, wherein he just kinda...wiggles around. I didn't spend much time in this mode. 

    ### Control Panel
    Inside his control panel, yoda's animations are driven by a microctroller SoC from FMD. This soc is responsible for driving the left arm motor, the lightsaber LED, and passes off signals from audio recordings on the control board, off to Yoda's head via a 4-wire bus to his head. 

    ## Surgery: Opening Yoda's Head
    There is not a way that I've found to get around this step: You're going to have to open up Yoda's head. This requires getting to 4 cross-head screws that are obscured by the silicone on the back of Yoda's head. 

    The two screws nearest the neck's opening are within channels that can be seen through the opening of the neck, so it's pretty straight forward to follow them to their opening. The two near the top of Yoda's head are a little trickier, but you can feel them with your fingers if you're patient.

    I was able to take a phillips screwdriver, with about a 3" reach, and pierce the silicone over each screw. I then unscrewed them, and then fought the stupid screws to make sure I didn't lose them.

    With the 4 screws removed, the silicone covering is all that holds the two halves of the skull together. 

    ### Silicone Skin, ugh
    Silicone is neat, and skin like in several ways. It's also a pain to have to glue things to. As everyone is quick to tell me, "Only silicone sticks to silicone". To get the skull halves apart, you can delicately separate the pieces along the seam, which is visible from the outside of the Skull, and travels along the path of the shell's seam. The silicone is glued together and is jammed within channels of the head shell. Larger pieces of silicone are bridged together to form a tab within the skull. If possible, try and keep those tabs intact, as they are important in reattaching the skin to the shell. 

    [If you would like you glue the skin back together, you're going to need to buy a specialty silicone adhesive, such as Silpoxy. Note, this stuff is pricey, so have a plan when you use it.]

    With some patience and practice, eventually you will be able to get the two halves of the shell apart. BE DELICATE WHEN YOU PULL THE TWO HALVES APART, THERE ARE WIRES CONNECTING THEM TOGETHER!

    Now you can see the inner working of Master Yoda's 900 year old noodle: a smattering of servo wires, connecting up to a breakout board, which is also joined by a 2 wire motor connection for driving Yoda's mouth, and a 4 wire bus back to the main control panel. Sadly, this connector is NOT in fact i2c. It is +3v3, GND, Motor -, Data. Connecting my logic analyzer confirmed PWM on the Data wire, and these pins matched the silkscreen on the OEM control panel.

    ### Breakout within Yoda's Head

    There, it connects to a breakout board, and is joined by 8 3-wire servos, which connect to the board in a **JST PH 2.0mm** 2.0 plug-end connector, as opposed to the traditional 3-wire Dupont style connector more commonly found on servos. 

    The wires connecting to...

    Read more »

View all 2 project logs

Enjoy this project?

Share

Discussions

number1computerguy wrote 06/22/2024 at 00:59 point

Is there a motor or servo that controls the head tilting up or down?

  Are you sure? yes | no

savant42 wrote 08/12/2024 at 06:08 point

There are both! Servos For head left/right, for head up/down, and for some reason independent servo control over each eyeball. That was kind of a pain at first since I had to do extra work to keep them in sync. For now I just have each eye mapped to the same stick to keep them synchronized. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates