Disney MagicBand+ Bluetooth Codes

From EMCOT
Revision as of 22:50, 2 February 2023 by Jjdb210 (talk | contribs) (Start of Justin's Documentation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Disney's MagicBand+ makes use of various BLE features to achieve the things it does. This is jjdb210's documentation of what he has been able to figure out so far.

Opening Knowledge

Disney's Magicband's seem to rely on modified broadcast messages to trigger activity in the magicbands. This appears to be similar in design to how they were using bluetooth in the Made With Magic Gen 3 Bluetooth ears. The identify codes and commands however are vastly different and the two are not interchangable.

Codes all appear to come from Disney on the 83 01 code.

The cc Codes

Codes starting with cc03 seem to be quite prevalent in the recordings made in the park. Our first guess was that it was an "off" command, however, it's believed that this may be some sort of general "ping" request, to which the magicbands reply with their own CC code (albeit longer). Further recordings will need to be made to figure out what the additional data is coming from the band, and being sent to the band. It could be some sort of location ID to have it ping back with.

The e9 Codes

These appear to be the show codes, and can be used to trigger LED's and vibration in the Magicband. We will break this code down further.

E9 08 - Mostly solid colors

A full command might look like this: e9 08 00 f4 0f a0 a4 b9 b9 a4 Let's break that down tuple by tuple. All of this is "best guess" and by no means official. More research to be done on next trip.

e9 - Identifier for magic band e8 - Unknown, likely a function call within the magicband 00 - Unknown f4 - Unknown - Possibly Time Related 0f - Partially Unknown - May be partially "Pattern" a0 - Partially Pattern and First color a4 - Second Color b9 - Third Color b9 - Fourth Color a4 - Fifth Color

The system appears to currently use palatte colors as follows: a0 = cyan a1 = purle a2 = blue a3 = midnight blue a4 = blue a5 = bright pruple a6 = lavender a7 = purple a8 = pink a9 = pinker with slight blink aa = pink ab = pink ac = pink ad = pink ae = pink af = pink b0 = off yellow b1 = yelow orange b2 = lime b3 = orange b4 = red orange b5 = red b6 = cyan b7 = cyan b8 = cyahn b9 = green ba = lime green bb = White bc = white bd = off be = off bf = random?

Using anything other than an A or a B in the first slot color slot will have an impact on the PATTERN (likely only 1 bit is being used for additional colors.. Bringing the total "color pallette" on the device up to 32 colors, with only about 20 of them being used so far. It's possible that 2 bits are used bringing the total to 64 colors, however, the second bit seems to affect pattern in the lower numbers. Likely more colors could be added to the pallette via firmware updates.

It's possible the same 32 color pallete is used in multiple "functions" but uses the leading bits to achieve more with each color. Unsure at this time.

Pattern Codes with the first letter appear to do the following: 0 = Nothing 1 = Nothing 2 = 0010 - Middle Only Whitesh 3 = 0011 - Pallet B Spin 4 = 0100 - Pallet A 5 = 0101 - Pallet B 6 = 0110 - Nothing 7 = 0111 - Right Side - Pallet B 8 = 1000 - 4/5 - Pallet A 9 = 1001 - 4/5 - Pallet B a = 1010 - Pallet A b = All On - Pallet B c = 1100 - Pallet A d = All On - Pallet B e = 1110 - Pallet A f = All On - Pallet B

E9 0b - Circle Animation

Example Code: e9 0b 0b 0f 0f 5c 5d 48 a5 d1 45 32 05

E9 0c - Throbing Color

Example Code: e9 0c 00 0f 0f 5d 46 5b f0 05 32 37 48 95

E9 10 - Alternating Colors?

Example Code: e9 10 00 0f 0f 54 5d 58 f4 48 82 d1 46 09 0a d0 65 28

E9 12 - Circle With Vibration

Example Code: e9 12 00 01 0f bc bd bd bd bd 30 d0 37 f4 d2 46 00 00 fc bb

E9 13 - Another Animation

Example Code: e9 13 00 b6 0f 40 44 58 f4 48 82 d0 65 19 d1 46 06 0a 30 7b ff