Disney MagicBand+ Bluetooth Codes: Difference between revisions
(Start of Justin's Documentation) |
mNo edit summary |
||
Line 16: | Line 16: | ||
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: | ||
a0 = cyan | * a0 = cyan | ||
a1 = purle | * a1 = purle | ||
a2 = blue | * a2 = blue | ||
a3 = midnight blue | * a3 = midnight blue | ||
a4 = blue | * a4 = blue | ||
a5 = bright pruple | * a5 = bright pruple | ||
a6 = lavender | * a6 = lavender | ||
a7 = purple | * a7 = purple | ||
a8 = pink | * a8 = pink | ||
a9 = pinker with slight blink | * a9 = pinker with slight blink | ||
aa = pink | * aa = pink | ||
ab = pink | * ab = pink | ||
ac = pink | * ac = pink | ||
ad = pink | * ad = pink | ||
ae = pink | * ae = pink | ||
af = pink | * af = pink | ||
b0 = off yellow | * b0 = off yellow | ||
b1 = yelow orange | * b1 = yelow orange | ||
b2 = lime | * b2 = lime | ||
b3 = orange | * b3 = orange | ||
b4 = red orange | * b4 = red orange | ||
b5 = red | * b5 = red | ||
b6 = cyan | * b6 = cyan | ||
b7 = cyan | * b7 = cyan | ||
b8 = cyahn | * b8 = cyahn | ||
b9 = green | * b9 = green | ||
ba = lime green | * ba = lime green | ||
bb = White | * bb = White | ||
bc = white | * bc = white | ||
bd = off | * bd = off | ||
be = off | * be = off | ||
bf = random? | * 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. | 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 66: | ||
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 === |
Revision as of 17:53, 3 February 2023
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