Hacking Pal Mickey

"Well, I've seen 'em on the TV, the movie show
They say the times are changing but I just don't know
These things are gone forever
Over a long time ago, oh yeah
"

- Pretzel Logic, Steely Dan

 

M.T. Strikes Again

napoleonThat song has pretty much been playing in the background of my mind throughout this hack.  If you want to catch the mood, click the link and play the song while you read this article and we take a little detour into the past. 

As you can tell from the title, this article is about Pal Mickey, an awesome Disney product that was offered at Disney World from 2003 - 2008.  It only worked at Disney World and support continued all the way up until 2014.  I hear that most of the infrared emitters that helped make the magic happen have since stopped working.   Dang.

So, without access to the data from those emitters, the idea of trying to figure out how Pal Mickey works seemed about as far fetched as catching the Metro down to Les Invalides in hopes of a chance encounter with Napoleon.  Not likely.

That all changed when M.T. told me that his Pal Mickey can send infrared signals that his Magical Moments pins respond to ....  We'll get into why that's meaningful in just a moment.

What's the deal with Pal Mickey?

Back in his day, if you happened to see this guy on a store shelf it would have been easy to pass him off as another cute Mickey doll.  Just another 10" tall plush doll, right?  But pick him up and you'd be surprised to find he weighs almost a pound (14 oz) and costs $50-$65! 

That probably caused more than one shopper to quickly replace him on his shelf and swiftly move on.  Too, bad.  Because Pal Mickey is pretty awesome.  Lurking behind those eyes is a 2.25 inch, 0.5 watt speaker that is ready, willing and able to share up to 700 audio clips he's been programmed to recite.  Some of the clips are jokes.  Some support the 3-6 games he knows how to play.  You get an idea of both of those in the video.  But a good portion of those stored clips are intended to provide real-time information about attractions in the 4 Disney World parks when the infrared receiver in his nose is triggered by the appropriate infrared signals

In short, Pal Mickey was intended to become your personal digital Disney World tour guide and entertainer.

speaker_flywheel_switch

When encountering an infrared signal he's programmed to respond to, a vibrator is activated in his belly region, he giggles and says "Oh gosh".  That's your cue to squeeze his hand and close the simple mechanical contacts that will cause him to say what's on his mind.   According to the instructions for version 2 of Pal Mickey, you've got 10 seconds to squeeze that hand.  If you'd like to have him repeat what he just said, squeeze his tummy or left hand within 8 seconds.  He'll oblige you up to 3 times.

The three incarnations of Pal Mickey

versions 1 and 3 of Pal MickeyThat last bit brought up an important point.  There were three different versions of Pal Mickey produced during his run, each one a little different from the others.  Well, maybe more than that if you count the Spanish versions.  Don't know much about those versions.  Not much written about those.  Anyway, you'll want to know how to figure out which one you already have, or in case you become motivated to start trolling eBay to try to pick one up.  And, yes, eBay is the best place to look for used ones for sale. 

The Wikipedia article does a fine job of describing the three versions of Pal Mickey.  So I won't repeat all that here.  If you're working with a stock Pal Mickey, they're easy to tell apart.  We met version 2, the Happiest Celebration on Earth version, in the video above.  He is wearing a black coat, usually has gold buttons and a gold bow tie and is the only version with a medallion in the palm of his right hand.  Version 1, on the left in the picture above, is the least adorned Pal Mickey.  Version 3 is outfitted in a Sorcerer costume.  Things only get trickier when folks modify their Pal Mickey by decking them out with one of the optional clothing packages that were made available.  The Wikipedia article can fill you in on all the details of the various clothing themes that were available for Pal Mickey.

Mickey Sez

Yeah? Which one?

The differences between the versions of Pal Mickey go beyond the cosmetic (and the increased price).  Apparently, they switched to a better speaker cuz the older one was a bit hard to hear above the ambient noise of the parks.  Those 700 pre-programmed messages also vary.  Listening to what version 2 of Pal Mickey says in that video above, much of it is not anything I've heard out of my version 1 Pal Mickey. 

Some of the updates were necessitated by changes in the parks.  For instance, my Pal talks about Alien Encounter, which is an attraction that shutdown in 2003 - a clear indication that my Pal is, indeed, a version 1.  Digging through the archives.org Disney pages for Pal Mickey, the only two location changes for the versions that I see for Pal Mickey responses are the addition of the Stitch attraction and deletion of the Fantasyland Character Festival character greetings in the later versions.

The later versions also attempted to broaden the target audience.  Over in the wdwmagic.com forum, MissM had this to say:

"Put it this way, Disney was floored by the response for adults on the Pal Mickey's. They firmly believed it was going to be a family with kids niche, but they've sold to as many single adults as families with kids. I have one and no kids and I'm not in the minority. It's why some of the changes include less corny jokes and such because they needed to better appeal to a market they weren't expecting - grown ups."

I don't know how she came by this info, but it seems like it's probably true - so I'm happily repeating it here.  As we try to map out what Pal Mickey is programmed to say, we'll have to be clear which version we're talking about when discussing our findings.

Which time?

Going back to MissM:

"So, you walk by trigger A and he "smartly" cycles through which thing to tell you. Like, a comment about where you are; a joke; a wait time announcement; a parade, etc. He "remembers" during the time he's on which he's played and which he hasn't. This limits the number of repeats he'll say. Some triggers though don't have multiple phrases, so if he said it already, he'll tell a joke instead. If you turn him off and then back on, he'll "forget" that he told you something already. And, if you're there enough hours, sometimes he will repeat himself. (Walking past the old Fantasyland Skycarts station is a tigger for example. He's said thing A in the morning, thing B later, thing C in the afternoon and then in the evening, thing A again.) Just depends on how many different options he has for that trigger. And of course, he might trigger at one point and tell a joke, and trigger at another point and tell the same joke. That happens too. "

She's doing all the heavy lifting for me!  Well, almost.  What she doesn't mention is that sometimes he'll simply ignore a trigger if he's already responded.  This all adds to the complexity of trying to map out what may be expected when a given signal is sent to our Pal. 

If I were to describe the situation, I'd say that the park codes "inform" Pal Mickey but don't bind him to any particular response - at least in some cases.  There are a couple of triggers that always seem to get a response and that response is always the same.  He's a complex character.

The reprogramming controversy

Pal Mickey maintenanceIn the stores that sold Pal Mickey, there was a 'drawer' that that everyone agrees was where misbehaving Pal Mickeys could be sent to be reset and coaxed into working again - if he happened to develop attitude and wasn't working as expected.  However, some owners claim that it was also possible to upgrade older versions of Pal Mickey there if you got an agreeable cast member to do the deed.  Other owners heard that Pal Mickey receives a data download/update as you go through the entrance.  And still others say, no way!  Each version is preprogrammed at the factory and that's that.  So who's right?

If it has to go through the nose, I say no

What folks didn't know back then is that the infrared communication with Pal Mickey operates at a measly 2400 baud.  That's slow.  Too slow to be a practical upgrade solution.  For example, the first thing he often says upon entering the Magic Kingdom (8kHz, mono, mp3 compression) requires around 50kB.  To upload that single clip at 2400 baud would take over 3 minutes.  Even after switching to opus to encode the audio (8kb/sec), the smallest file size I was able to achieve before the output became too sad was around 7kB.  And that would still take around 30 seconds to download a single audio clip!

If we assume each of the 700 clips would take about 30 sec to upload, we'd need close to 6 hrs to upload the entire set!!  In 10 minutes, we could probably update maybe 20 clips, and I can't see Disney allowing their limited number of machines to be tied up by single customers for much longer than that.

A similar argument can be made against any significant updating while on the hoof.  At a comfortable walking pace of 2 mph, a person covers roughly 3 ft/sec.  Assuming a single infrared emitter may cover around 30 ft, we can estimate that a strolling person might be exposed to such a transmitter for only about 10 seconds.  And since a person may be entering that zone at any time, the maximum duration of a signal to insure reception of the entire signal is on the order of a third of the time it takes to cross the zone, or maybe around 3 sec ( tests in the park suggest they actually transmit every 1 second and the typical signal size is only 9 bytes).  About 240 bytes can be sent each second at 2400 baud, so maybe we could count on being able to transmit around 720 bytes to a person traversing a transmitter zone.  As we've already seen, that's not nearly enough time to transmit even a small audio clip.

Nothing else under the hood

For any substantial upgrading of Pal Mickey to be a possibility, there would have to be an alternative to the pokey infrared communications.  To check it out, I bought a non-functioning version 1 Pal for an autopsy.  Evidence suggests this poor Mickey perished as a result of trying out for the swim team and/or getting caught in one of those nasty Florida thundershowers.  The battery compartment is corroded and rusted and there are water stains clearly visible on the motherboard.  That'll do it.  Pal Mickey is well aware that water isn't good for him and isn't hesitant to tell you so.

peripheral wiring connectorOnce the zipper on the back of the head is opened, the on/off switch is on the left side of the plastic head piece and there's a wiring connector on the right side that needs to be unplugged before removing the internal components.  Remove the screw, open the plastic latch and then unplug the wires.  Now it's possible to rotate the head piece a little sideways which makes it easier to pull it through the opening. 

inner assemblies of Pal MickeyThe head and belly parts come out as a unit, connected by the wiring coming up from the belly module.  Unfortunately, the plastic in this Pal is black which makes it a bit hard to see the holes for the speaker in the head unit.  The belly switch is visible and that bulge below it is to house the vibrator motor.  You get to that by undoing the screws in the battery compartment.  The vibrator was pictured earlier.  What I'm not finding is any additional port that might be used for quicker updates.

PCBs of Pal Mickey

Removing the screws from the head unit, the PCBs may be accessed.  The most interesting components have been concealed under a coat of potting compound.  All that can be seen is an Atmel 64k eeprom and a torex voltage regulator.  The back of the PCB butts up against the speaker, which was shown in an earlier image.  If you'd like a closer look at the front of the PCB, just click the image.

Still not seeing any apparent means to make a fast connection for upgrading.  Let's trace the wiring and see what's up with that.  There are 5 wires heading out to the nose region.  The IR receiver should only need three, that leaves 2 wires unaccounted for. 

pal mickey nose assembly

nose componentsLiberating the nose unit proved to be the hardest task of the whole tear down. The shrink wrap was carefully removed and then the white collar was pried off with a screw driver. Didn't see the threads on the nose unit until I got apart. The fabric had to be cut to pull the nose through. The 5 wires leading to the nose unit are the ones above the blades of the scissors. Squeezing the nose with a pair of pliers on the seams caused it to pop open. The backside of the nose plastic had to be cut away to expose the IR receiver.  Mystery solved.  The 2 unaccounted for wires (green and yellow) go to an IR LED.  

The remaining 4 wires of the plugin assembly go to the mechanical switches in each hand.  An example of those switches was shown in a previous image above.   Here's a mapping of those wires:

Brown Red Orange Yellow Green Blue Purple Gray White
IR Rcv: Data IR Rcv: GND IR Rcv: Vcc IR LED: (+) IR LED: (-) Lt Hand: GND Lt Hand: 3V Rt Hand: 3V Rt Hand: GND

Spyware?

There have been lots of forum posts claiming that the Pals can upload data to Disney upon demand.  Some worried about privacy issues.  The presence of an IR LED does enable a degree of two way communication. Version 2 of Pal Mickey is actually advertised as being able to interact with the Magical Moments pins.  But I've not yet seen my version 1 Pal emit any IR signals in any of the testing I've done so far - and I have looked.  So I was a little surprised to find that LED in my version 1 Pal. 

But those folks that were worrying that Disney was collecting a lot of personal data from Pal Mickey owners probably did so needlessly.  Such transmissions would likely be as slow as the reception rate, making it practically impossible to transmit much info during a casual stroll by any collecting point.  I don't see this as being an issue.

And with that, my search for any connection that might serve as a high speed data port to upgrade my Pal Mickey ends.   I come away believing that it wasn't possible/practical to upgrade a Pal Mickey, based upon what it looks like is available to work with.  At least, not version 1 of Pal Mickey.

Those infrared codes

The infrared codes that cause Pal Mickey to spring into action are transmitted at a frequency of 38kHz and a baud rate of 2400 using this basic command format (hexidecimal):

55 AA 06 01 SS PP XX YY CHK

Let's dissect that phrase into it's functional components.  The SS PP part defines the park.  Here's some examples:

01 01 = Disneyland
01 02 = California Adventure
07 01 = Magic Kingdom
07 02 = Epcot
07 03 = Hollywood Studios
07 04 = Animal Kingdom

Yes, these codes are also detected at the California parks, even though Pal Mickey doesn't work there at all.  Apparently the codes have many uses besides just bossing Pal Mickey around. 

The command phrase always ends with a simple checksum, indicated as CHK, above.

But to get at the pearls of wisdom that Pal Mickey is dying to share with us, it's the XX YY part we need to figure out, as that's the part that selects for the different attractions and/or events.

Unfortunately, those two XX YY bytes present 65000+ possibilities!  We're only looking for 700, distributed among 4 parks.  If each park has the same share of responses, that comes out to about 175 codes per park.  This could turn out to be quite the needle in a haystack kind of search! 

One strategy to narrow the search down is to focus on a single park, Magic Kingdom, and then take a look at Disney's map of the park and see how many points of interest are listed.   I see 82, which works out to 0x52.  If there were two clips per point of interest, that would get us close to the 175/park estimate.  Then, if we look at the official Pal Mickey page from the archives, they list 23 attractions and 4 venues for meet and greet character opportunities at that park where Pal Mickey may be expected to respond.  So maybe 27 locations (0x1B) but there could be a LOT of characters at those meet and greet events.  Considering both of those ideas, scanning the XX byte up to at least 0x52 and the YY byte up to 0x0F seems like a reasonable starting strategy.  And that turned out to be true.

And the results are ...

Testing my version 1 Pal Mickey, I found valid codes for the XX byte scattered between 0x01-0x54 and 0xC0-0xC5.  Values for the YY byte tended towards the lower numbers but there were a few hits with the maximal value tested of 0x0F.  The 0xCX YY codes seemed to be reserved for the meet and greet offers, with only one mentioning a short line over at Winnie the Poo. 

The XX codes from 01-54 roughly followed the order shown on the map: lowest codes are for Main Street, then up to the Plaza, over into Adventure Land, followed by Frontier Land and Liberty Square.  It continues through Fantasy Land, Toon Town and ends in Tomorrow Land.  Some of the XX values match the numbers on the map, like Splash Mountain, Thunder Mountain and Haunted Mansion - but most of them don't.  Nor do the XX bytes appear to be dedicated to a particular attraction.  Codes like 0x25 are used for both Haunted Mansion and Hall of Presidents.  Those are in the same vicinity but are distinct attractions.

After conducting 3 separate scans of the codes for Magic Kingdom, I've been able to detect around 130 distinct responses and can verify that Pal Mickey does remember the codes he's responded to, for at least a few hours.  I'm pretty sure there are more Magic Kingdom phrases in there still waiting to be discovered.  And I haven't found that turning him off and then quickly turning him on again resets him.  Not my Pal. 

About repeats

Repeating a code he's already responded to often results in him substituting a joke or simply ignoring the request.  He doesn't always say the same thing in response to the same code.  The best example of that is the code 01 01.  It will get a "we're going to have fun today" response the first time it's encountered and hours later the same code will cause him to proclaim that "we had fun" and now he's gonna take a nap.  Looking at data from the three scans, only 50% of the codes were responded to all three times.  I found that a bit surprising.

Some of the jokes have themes that fit particular regions of the park.  Others are more generic and those jokes tend to be particularly fluid and may show up in response to practically any code that elicits a response.

In an upcoming post, I'll present the responses from my scans of the Magic Kingdom codes.  And, eventually, I'll get around to the codes for Epcot, Hollywood Studios and Animal Kingdom.  Actually, I've seen a couple of forum posts suggesting that Epcot and Animal Kingdom are where Pal Mickey really shines.  We'll see.  Then there's versions 2 & 3 of Pal Mickey and diving into exploring what's different with each of those versions.  Maybe someone will even dig up a Spanish version and we'll see what's up with those. 

It would also be handy to figure out how to reset Pal Mickey to increase the predictability of his responses.  It can be a bit annoying when he simply ignores a code known to be valid or substitutes a joke for the desired info.  And how is the event timing data transferred into him?  On one occasion my Pal activated without sending any signal and proudly told me a parade was about to start.  What???? Hasn't done it since.  No idea what I sent to him during the scans that caused him to come up with that.

Now what? Or maybe, so what?

OK.  The truth of the matter is that Pal Mickey is an extinct product.  No getting around that.  At this late date, how does it help us to know how to get him to spill out his pearls of wisdom about the Disney World park attractions while sitting in our own living rooms?  Good question.  I've got some ideas and hope some of you will come up with even more.  Let's take a look.

Sync the Pal Mickey codes with 'walk through' videos from YouTube and/or home videos

There's lots of walk through videos of the Florida parks on YouTube.  It would take some time to do, but Pal Mickey codes could be sync'd with those videos to work with the player described in a previous post.  I think it would be entertaining to be watching the video and have Pal Mickey go off and make timely comments as the various attractions come across the TV screen.  An advantage of watching at home is that Pal Mickey won't get drowned out by all the park noise.  He's much easier to hear at home than in the parks.  That's a plus.  I'll bet it would be a great way to keep kids entertained on those days when the weather or illness keeps them indoors.   Might keep them occupied for hours.  But you do run the risk of them going berserk and lobbying strongly to be taken to the parks sooner than later.

And, if you're gonna go to the trouble of setting up and syncing infrared codes with videos, might as well throw in some Made with Magic codes, too.  You could blast out the codes to set the Made with Magic effects for each country as the video makes it's way around the Epcot World Showcase.  That would be a nice touch.

The videos wouldn't even have to be of the Florida parks.  Many of the attractions are also over at the California parks and the comments Pal Mickey makes are generic enough to work for any attraction that's at both places.  With that, we've stepped beyond what Pal Mickey was designed to do.

Record Pal Mickey and insert his comments into existing video audio tracks

Using an IR transmitter to send the right codes, get Pal Mickey to say his things and catch it all with a recorder.  Take that audio and mix it in with the audio from a park walk through video.  Bam!  You've got a Mickey guided tour of that walk through to impress your friends/kids/self with.  Splice together segments from multiple walk through videos to include all the highlights Pal Mickey knows about.  Take a stroll back in time and include videos of the old Toon Town attractions.  Why not?

Interactive guide to a map of the park?

You've seen the Google maps that have the 'pins' that provide info when you hover over them with a mouse or give them a click?  Grab a map of the park from somewhere on the Internet and use some Javascript to make your own interactive map, only this time, play back a pre-recorded audio clip from Pal Mickey's repertoire.

Set up a portable infrared transmitter and simulate the original experience in the parks

This could be either a labor of love and/or a diabolical scheme.  With a suitable portable transmitter (I'm thinking ESP8266), a familiarity with the Pal Mickey codes and a solid plan, it would be possible to give someone you know a taste of what the Pal Mickey experience was like back when he was still a thing by manually sending the codes to their Pal Mickey at the appropriate attractions.  And, just as with the video bit, this doesn't necessarily have to be in Florida.

As for me?  I'd love to take it to Disneyland, set off the codes at the appropriate attractions and see if I can attract attention.  I'd love to try to con parkgoers into believing Pal Mickey is a prototype for a new experience Disney is thinking about releasing in the future and try to get their opinion.  See if they're interested.  Yeah, I really AM like that.  Guess I've seen too many Jimmy Kimmel man on the street interviews.  Warped my brain.

Incorporate the Pal Mickey sayings into games

In the old spy movies, the secret agents would authenticate themselves by exchanging phrases that were unlikely to arise in normal conversation.  Sometimes those phrases seemed downright nonsensical.  Out of the park context, Pal Mickey's sayings are just as nonsensical and perfect for using as secret agent pass codes in any game - whether it's an in house birthday party, a whole block-wide affair or even involving multiple stations all along the metro throughout Paris.  Yeah.  Set up some transmitters, get some responses and move from clue to clue.  Could be a lot of fun.

A Trojan Mickey

If you've attempted to take a micro into the parks for either recording and/or transmitting the IR signals, you know that the security folks don't think much of such items.  Damn near impossible to get an Uno with a logger shield through security these days.  But they don't look too closely at anything which appears to be a Disney product.  So Pal Mickey should slide right on through.  Besides, it's designed to have a wad of electronics in it.  A couple extra and/or substitutions shouldn't cause an alarm.  Now that the wires to the nose components have been mapped out, it would be trivial to hook the IR receiver and/or IR LED to a micro and record/blast to your heart's content.  There's lots of room inside that body cavity - especially if the original components are removed or re-purposed.  Just saying.

As is

Of course, Pal Mickey is not bad, as is.  You don't HAVE to get into sending infrared signals to coax him to reveal his secret treasure trove of information.  He will tell jokes if you squeeze his hand.  And there are games he'll play, too.  I read that the games are particularly useful while waiting in line at attractions.  Hadn't thought about that, but I can see how it would be true. 

eBay

Used Pal Mickeys can be had for around $30 on eBay if you are patient and shop around.  That's about half the price originally asked for in the Disney World stores.  I'd probably hold out for a version 2, based upon what I know now.  I think that's the only version that will control the Magical Moments light up pins.  That makes it a sort of precursor to the Made with Magic series of wands that control the other Made with Magic products.  I may revise that recommendation as more info comes available on the different versions of Pal Mickey.  But for now, version 2 looks to be the sweet spot in the product line.

So there!

Napoleon's Tomb with offeringAll in all, I can think of enough uses for this decommissioned product to make picking one up worthwhile.  To really make it worth your while, you'll probably need to slip into geek mode and accessorize your Pal Mickey with some sort of IR controller and/or player and apply some 'elbow grease'.   But, if all else fails, I'm sure you can always find someone who loves Mickey to gift him to, no matter how old he/she happens to be.  There's a lot of them out there.  Good way to gain some points, if you know what I mean.  He's still cute, even if he's lost a step and isn't quite the mouse he used to be. 

Wonder how much trouble I'd get into if I tried to place one at the foot of Napoleon's tomb?  I think those two would really hit if off together.

Tags