Checking out the Magic Bands

Submitted by khyizang on Fri, 03/02/2018 - 09:23


I've been wanting to test out those Magic Bands, that seem to accumulate with each visit to Disney World, ever since I saw an article that showed it's possible to use a common RFID reader to get some data from them.  Seemed to me that it might be possible to re-imagine them to work with household automation and/or incorporate them in some sort of games.  For instance, I could imagine each family member scanning their Magic Bands to start up playback of their favorite Disney shows by the player described in a previous post.  That could be real convenient.  So it seemed worth looking into sooner than later.


There have been a few Magic Band teardowns.  The one by Becky Stern/Lady Ada identified the internal processor as a custom Nordic Semi chip similar to the nRF24L01 that's familiar to the Komby and mySensors crowds.  That 2.4 GHz RF chip is undoubtedly responsible for Disney being able to track your data from a distance, leading to humorous  outcomes as described in another posted teardown.  Ghost Riders in the log!

But the most interesting property of the bands for my purposes is the alternative RFID functionality that was explored by Luke Berndt. Glancing at his code, it seems what is needed is a library that implements the ISO14443A (MIFARE) protocol.  Fortunately, there are plenty of software and hardware options out there that will handle that for us. 

MFRC522 RFID Reader

rfid readerAfter doing some digging, I went with a reader based on the MFRC522 chip and an Arduino library by Miguel Balboa.  Those readers may be had for around $6@ via a certain Seattle-based online retailer who will not be mentioned after revoking my affiliate membership.  Sniff, sniff.  Or you can get them on Ebay for just over $2@, if you don't mind waiting a while for them to arrive.  So setting up a reader shouldn't be expensive.  You'll also need some sort of a micro to drive the RFID reader board.  I've seen posts using both Arduinos and Raspberry Pis.  You should be able to also use an ESP8266 with the Arduino library. 

And finally...the test

The nRF24 chip in the bands requires a power source that's provided by the included coin cell.  To make the Magic Band waterproof, the battery is hopelessly encased in plastic and non-replaceable.  Consequently, the long range functionality of the band is known to cease after about a year or so.  But the other RFID functionality is usually driven by an external power source and isn't usually dependent upon an internal power source.  So I expected it would continue after the battery goes dead.  And talking to cast members, they told me that many of the band's functions do continue after the battery is toast.  All that remains was to test it out and make sure.

I grabbed a 3.3V Arduino Mini Pro, uploaded the dumpinfo program from the library's examples folder and hooked up the reader board.  I had a magic band that's a couple years old and a much newer one for the tests.  You can see the results in the video.  The surprise is that the bands appear to stop all functionality when the batteries run down.  My guess is that the nRF24 chip is responsible for all the communication properties of the bands.

Where does that leave us?

Looks like the Magic Bands may not be an ideal choice for including into anything that is intended to be an ongoing project.  On the other hand, the RFID tech seems to be a cheap solution for tracking/servicing multiple users.  The reader/writer may be had for a couple dollars and an assortment of tags are available for under $1@ when bought in bulk.