Disney MagicBand+ Bluetooth Codes: Difference between revisions

From EMCOT
Jump to navigation Jump to search
(Start of Justin's Documentation)
 
 
(3 intermediate revisions by the same user not shown)
Line 12: Line 12:
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.
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 ===
=== E9 05 - Single Color From Pallette Function ===
FULL Sample Code: 8301e100e905006f0ef5b0
* 8301 - Disney Code
* e100 - Can vary between e100/e200 unsure as to purpose
* e905 - Function Code of some sort
* 00  - Spacer?
* 6f  - ???
* 0e  - ???
* f5  - Bottom 5 bits are color (See Pallet Code below)
* b0  - Terminator
 
=== E9 08 - Single 6-bit color ===
Full Sample Code: 8301e100e9080065d255005500b0
* 8301 - Disney Code
* e100 - Can vary between e100/e200 unsure as to purpose
* e908 - Function Code of some sort
* 00  - Spacer?
* 65  - Tied to timing. Not sure how.
* d255 - Spacer?
* 00  - Top 6 bits are color (red)
* 55  - Top 6 bits are color (green)
* 00  - Top 6 bits are color (blue)
* b0  - Teminator
 
=== E9 09 - 5 Color Pallet ===
A full command might look like this: e9 08 00 f4 0f a0 a4 b9 b9 a4
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.
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
* e9 - Identifier for magic band
e8 - Unknown, likely a function call within the magicband
* e8 - Unknown, likely a function call within the magicband
00 - Unknown
* 00 - Unknown
f4 - Unknown - Possibly Time Related
* f4 - Unknown - Possibly Time Related
0f - Partially Unknown - May be partially "Pattern"
* 0f - Partially Unknown - May be partially "Pattern"
a0 - Partially Pattern and First color
* a0 - Partially Pattern and First color
a4 - Second Color
* a4 - Second Color
b9 - Third Color
* b9 - Third Color
b9 - Fourth Color
* b9 - Fourth Color
a4 - Fifth Color
* a4 - Fifth Color


The system appears to currently use palatte colors as follows:
The system appears to currently use palatte colors as follows (a 5 bit number):
a0 = cyan
* 0 = cyan
a1 = purle
* 1 = purle
a2 = blue
* 2 = blue
a3 = midnight blue
* 3 = midnight blue
a4 = blue
* 4 = blue
a5 = bright pruple
* 5 = bright pruple
a6 = lavender
* 6 = lavender
a7 = purple
* 7 = purple
a8 = pink  
* 8 = pink  
a9 = pinker with slight blink
* 9 = pinker with slight blink
aa = pink
* 10 = pink
ab = pink
* 11 = pink
ac = pink
* 12 = pink
ad = pink
* 13 = pink
ae = pink
* 14 = pink
af = pink
* 15 = pink
b0 = off yellow
* 16 = off yellow
b1 = yelow orange
* 17 = yelow orange
b2 = lime
* 18 = lime
b3 = orange
* 19 = orange
b4 = red orange
* 20 = red orange
b5 = red
* 21 = red
b6 = cyan
* 22 = cyan
b7 = cyan
* 23 = cyan
b8 = cyahn
* 24 = cyahn
b9 = green
* 25 = green
ba = lime green
* 26 = lime green
bb = White
* 27 = White
bc = white
* 28 = white
bd = off
* 29 = off
be = off
* 30 = off
bf = random?
* 31 = 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.
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.
Line 66: Line 90:


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


=== E9 0b - Circle Animation ===
=== E9 0b - Circle Animation ===
Example Code: e9 0b 0b 0f 0f 5c 5d 48 a5 d1 45 32 05
Example Code: e9 0b 0b 0f 0f 5c 5d 48 a5 d1 45 32 05


=== E9 0c - Throbing Color ===
=== E9 0c - Animation Codes ===
Example Code: e9 0c 00 0f 0f 5d 46 5b f0 05 32 37 48 95
There is a lot going on with this code... Seen twice in Fantasimic. Twice in Happily Ever After. Possibly Multiple Animations. Some interesting codes:
* 8301e100e90c 000f 0f 5d465bf00532374895 - Blink White (lightning?)
* 8301e100e90c 00ef 0f 4f4f5bf0fb14374895 - Orange Blink
* 8301e100e90c 000f 0f b1b9b5b1a2307b7db0 - 5 Pallete Color Cycle
* 8301e100e90c 000f 0f 5d465bf005323748b0 - Taste the Rainbow


=== E9 10 - Alternating Colors? ===  
=== E9 10 - Alternating Colors? ===  
Example Code: e9 10 00 0f 0f 54 5d 58 f4 48 82 d1 46 09 0a d0 65 28
Example Code: e9 10 00 0f 0f 54 5d 58 f4 48 82 d1 46 09 0a d0 65 28
2102
=== E9 11 - Pallet Cross Fade (Center Opposite Outer Ring) ===
Example Codes:
e100e911006f0f564858f44882d1460208d06500b0
e200e911004f0f444f58f44882d1460607d06543b0
e100e911000f0f485958f44882d146020dd06505b0
e200e911004f0f4f5558f44882d146022ad06501b0
2 Pallet Colors follow the 0f.


=== E9 12 - Circle With Vibration ===
=== E9 12 - Circle With Vibration ===

Latest revision as of 02:01, 1 August 2024

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 05 - Single Color From Pallette Function

FULL Sample Code: 8301e100e905006f0ef5b0

  • 8301 - Disney Code
  • e100 - Can vary between e100/e200 unsure as to purpose
  • e905 - Function Code of some sort
  • 00 - Spacer?
  • 6f - ???
  • 0e - ???
  • f5 - Bottom 5 bits are color (See Pallet Code below)
  • b0 - Terminator

E9 08 - Single 6-bit color

Full Sample Code: 8301e100e9080065d255005500b0

  • 8301 - Disney Code
  • e100 - Can vary between e100/e200 unsure as to purpose
  • e908 - Function Code of some sort
  • 00 - Spacer?
  • 65 - Tied to timing. Not sure how.
  • d255 - Spacer?
  • 00 - Top 6 bits are color (red)
  • 55 - Top 6 bits are color (green)
  • 00 - Top 6 bits are color (blue)
  • b0 - Teminator

E9 09 - 5 Color Pallet

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 (a 5 bit number):

  • 0 = cyan
  • 1 = purle
  • 2 = blue
  • 3 = midnight blue
  • 4 = blue
  • 5 = bright pruple
  • 6 = lavender
  • 7 = purple
  • 8 = pink
  • 9 = pinker with slight blink
  • 10 = pink
  • 11 = pink
  • 12 = pink
  • 13 = pink
  • 14 = pink
  • 15 = pink
  • 16 = off yellow
  • 17 = yelow orange
  • 18 = lime
  • 19 = orange
  • 20 = red orange
  • 21 = red
  • 22 = cyan
  • 23 = cyan
  • 24 = cyahn
  • 25 = green
  • 26 = lime green
  • 27 = White
  • 28 = white
  • 29 = off
  • 30 = off
  • 31 = 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 - Animation Codes

There is a lot going on with this code... Seen twice in Fantasimic. Twice in Happily Ever After. Possibly Multiple Animations. Some interesting codes:

  • 8301e100e90c 000f 0f 5d465bf00532374895 - Blink White (lightning?)
  • 8301e100e90c 00ef 0f 4f4f5bf0fb14374895 - Orange Blink
  • 8301e100e90c 000f 0f b1b9b5b1a2307b7db0 - 5 Pallete Color Cycle
  • 8301e100e90c 000f 0f 5d465bf005323748b0 - Taste the Rainbow

E9 10 - Alternating Colors?

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

E9 11 - Pallet Cross Fade (Center Opposite Outer Ring)

Example Codes: e100e911006f0f564858f44882d1460208d06500b0 e200e911004f0f444f58f44882d1460607d06543b0 e100e911000f0f485958f44882d146020dd06505b0 e200e911004f0f4f5558f44882d146022ad06501b0

2 Pallet Colors follow the 0f.


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