Over the 2020 winter break, I set out with the goal to create a simple RFID reader that triggered an effect based on the tag brought near it. This was a cool project that was suggested to me originally by a friend, but evolved into a much larger project. As evident by the images, this project is inspired by the Disney World MagicBands readers, a device used for fast pass and ticket entry throughout the Walt Disney World Resort. In addition to lightning up based on the MagicBand "tapped" to the face, the device will also power on a computer, if a valid band is read.Â
The reader is powered by an Arduino Uno (a micro controller), which allows for the code of the RFID Reader to be changed at any time easily. The Arduino coding language was also user friendly, allowing for a quick learning curve of the language, making Arduino a easy choice. The device also contains a speaker, allowing sound effects with all the effects. The speaker is powered by the board, but reads sound files off of an SD card daughter board. There is also two LED strips inside the reader: one for the mickey, and one for the outer ring. This allows for different effects to occur on the Mickey logo, or the outer strip
The RFID PC Power Switch took approximately 2 weeks to make, starting research back in October of 2020 into the technology of magic bands, and possible ways to read data off of them. CAD development and research into Arduino did not begin until late December 2020. Through this project, I was able to develop my 3D Printing, Prototyping, Programming, and CAD Modeling skills.
The CAD files, created with Autodesk Inventor were completed on December 26, with 3D printing beginning immediately. Below are rendered images of all the parts for the RFID Reader.
Logo Insert. Clear pieces in the final build, this is what the light shines through from the LEDs
Stand. Allows for cable routing out of the bottom of the reader into the commuter for power and power switching.
Front Plate. Seamless with the clear logo inserts for a flush finish
Front Shell. Holds all of the pieces together for the front plate.
Back Shell. Behind the horizontal support, there is a speaker grille for the sound to leave the housing.
Render of Final Reader Assembly
After modelling, all pieces were printed in either black, or clear plastics on the XYZ Da Vinci Mini 3D printer. All pieces (except the logo inserts), were printed in black PLA filament. After which, they were sanded, and spray painted using a silver coat, to give the pieces a metallic finish. Creating the code for the project began after the front insets and logo pieces completed printing. The code for the project took a majority of the time, beginning on December 27th, and a first draft of the code being completed on January 3rd, 2021. The final tests were completed two days later on January 5th, 2021. Below are some videos taken during the project of various stages of the code.
December 27, 2020 - 3:30 PM
First LED test in the shell. The goal was to create a loop for the lights going around the strip. This was an initial test, and became the foundation of the waiting loop that will be shown in the video to the right.
December 27, 2020 - 11:55 PM
Testing of waiting loop along the outer ring. While waiting for a band to be "tapped" to the reader, the white animation plays. Also testing color changing after each waiting loop.
December 29, 2020 - 7 PM
This test shows the assembly of the silver coated plastic with the diffusing inserts. The test also showcases a loop that changes colors every time it cycles. Note: the tolerances of the inserts were too tight, and were later replaced.
December 31, 2020 - 4:35 PM
After creating the green valid band animation, I wanted to try a custom animation for my Sorcerer Mickey MagicBand. This is the first test using the Fantasmic! theme song. Note: the inserts were reprinted, indicating the change in color.
January 3, 2021 - 7:40 PM
This is the first test of the PC Power on function of the reader. This was a large milestone, as it was unclear if it was possible to power on the computer using the Arduino.
January 5, 2021 - 5:05 PM
This is the final test of the device in its 1.0 state (prior to adding more effects). This video showcases the ability of the reader to turn on and off the computer, and distinguish between different magic bands to trigger different effects.
Following the completion of the PC Power Switch, a post was created on Reddit to share the creation with the larger Walt Disney World community. That post can be seen on the right. The post was extremely well received, gaining over 1.5 thousand upvotes, and a 98% upvote to down vote ratio. The image to the right is a link to the Reddit post.
After completing the initial goal of the reader, the project was still not finished, as there is always room to improve. As such, two new goals were created: a power saving feature, and add more effects. The first goal, power saving, is a short term goal, that was completed very quickly. This will be discussed later on. The second goal, more effects, is still being completed to this day, as more MagicBands are acquired.
The first new goal, a power saving feature, was created to preserve the longevity of the LEDs. Since the reader is powered by the PC, it is always on when the PC is on. As such, there needed to be a way to turn off the LEDs, but not the reader. So, using a small RFID tag, this was accomplished. When brought near and the LEDs are on, the LEDs turn off , and vice versa. The video to the left demonstrates this.
The second new goal, add more effects, is evolves and improves the project over time. As new effects need to be coded, small changes to the code are made, and more efficient methods are developed, while keeping the same functionality. One big addition was the Invalid RFID function. This animation triggers when the read RFID tag is not in the predetermined list of valid RFID tags. If an invalid tag is read, the PC will not power up or power down. Only a "valid" tag can trigger the pc power function. This function is shown in a video to the right. See the list of videos below for demonstrations of all effects that are currently in development. These animations are show in the order that they were created. Note: for these demonstrations, the PC powerup function was disabled.
Default Animation when a valid band is read. The reader lights up green and plays a "valid band read" sound. This is the same sound played when entering a Walt Disney World Park.
Animation that plays when a "DVC" associate band is read. The reader lights up pink and plays a "welcome home" sound. This is the same sound played when entering a Walt Disney World Park if they are a DVC member.
Animation that plays when a Sorcerer Mickey band is read. The reader lights up red and blue, and plays either the Sorcerer's Apprentice, or the Fantasmic! theme. Both songs have an equal chance of being played.
Animation that plays when a Star Wars band is read. The reader syncs its lights to the song that is playing, the Imperial March. This was the first time an animated loop was used to create an effect.
Animation that plays when the Mickey & Minnie Runaway Railway band is read. The reader lights up white and plays a "train whistle" sound. This is the same effect that is played when entering Hollywood Studios with this MagicBand.
Animation that plays when a "Pandora" associate band is read. The reader cycles through colors and plays a "Banshee" sound. This is the same effect that is played by the "Explore Pandora: Valley of Mo'ara" MagicBand.
Animation that plays when the Happily Ever After band is read. The reader cycles through the colors the castle becomes at the start of the actual show, and plays the first 10 seconds. This is effect was created as a tribute to the show, prior to its closure on September 29, 2021.