It’s that time again, midterm season! The wonderful weeks where we have to bring all we have learned together and showcase it in one project. For Internet of Things, our midterm combines working with the Raspberry Pi, interfacing with Arduino over Serial to control sensors and outputs, and creating a web server using sockets to communicate both ways between the site and the sensors/outputs.
Learn about my midterm IOT project, AmEQuest, an interactive treasure hunt with RFID enabled gems that allow you to unlock a real treasure chest from a website and claim your prize.
Technical Background
Why I Chose RFIDs
When envisioning this project, I tried to focus on technologies that I have wanted to explore for thesis, particularly those that are very “low-tech” (user would not need a high level of technical literacy to get involved) but have “high-tech” outcomes.
A Note on my Thesis
For my thesis, I’m researching how artistic practice and speculative design can help educate and empower more people to discuss and get involved in emerging tech that facilitates decentralized economies, new forms of collaboration and alternatives to our current capitalist paradigm.
I believe that creating future scenarios and stories about, with, and through new distributed technologies like the blockchain protocol (Bitcoin, Ethereum, 21.co etc.) can educate and empower people to get involved in shaping the future uses they want to see.
AmEquest Conceptual Background
In the spirit of Speculative Design, my concept for this project starts as a What If…
What if, in the future, the Internet of Things is fully embedded in our everyday activities, both publically and privately?
What kind of platforms will emerge and what new relationships will they create between people, architecture and public/private systems and places?
As I mused upon an answer to these questions, I found myself inspired by a quote from a science fiction author, Arthur C. Clarke:
“Any sufficiently advanced technology is indistinguishable from magic.”
I think that one potential use of IOT in the future could be to reimbue our world with a sense of magic and wonder. To bring people together physically like they already are online, battling and questing their way through intricate and encompassing worlds and narratives.
By creating new interactions with objects and public spaces, IOT could allow us to play games in embodied mixed realities where Augmented reality and sensor-enabled real “things” work together to bring the wild and imaginative into our waking life.
Thinking about this idea, I also found myself inspired by science fiction author Vernor Vinge, who extensively explores this sort of future in his novel Rainbow’s End where the development of wearables and IOT has allowed for MMORPG’s (Massive Multiplayer Online Roleplaying Games) to become even more common and popular than they are today. People can and do play games while traveling to work in school, using augmented contacts and haptic clothing for interfaces to literally dial themselves into the game wherever they are.
Starting with these inspirations in mind and a desire to explore RFID technology for thesis research, I formed a concept.
Concept Statement (My Idea)
AmEquest explores how IOT could change the way we perceive and interact with public spaces and objects – and by extension each other – in the future.
I want to understand how we might use technology like RFID and NFC to create more creative relationships with public spaces by allowing anyone to interact with objects and interfaces, whether or not they have a smartphone.
I believe that the Internet of Things has the potential to create unique mixed digital and physical interfaces that bring people together through technology instead of encouraging us to live in our own personal digital worlds (reflected in a 3×5 piece of glass).
Design Statement (How I’m Doing It)
AmEquest is an interactive game in the style of a scavenger hunt.
Players must find four “amethysts” (each with its own RFID tag) and scan them to solve the game and unlock the treasure chest with the reward.
A website provides a clue as to the location of the first item, and each time an item is found and logged in, a new clue will appear.
If more than one player finds an item, they must work together to decide how to split the final prize!
Process
The Materials & Tech
- Arduino Uno
- RFID Reader
- RFID Stickers
- Electromagnetic Lock
- Piezo/Speaker
- Button
- Raspberry Pi
- Treasure chest (from Secret Treasure Chest project last Fall)
- Craft supplies and paint to make it pretty (especially cool gold pens)
- My all-purpose project plinth from CitizenScore to hide wires and provide local power
Arduino
I am using an Arduino and RFID sensor to receive radio signals from the RFID tagged gems. In the Arduino program, I figure out each tag by its unique identifier and do a little parsing and cleaning up to print different data for each to the serial line. Each RFID has its number and a 0 or 1 printed to the serial line as its state, 1 indicating it has been logged in, 0 indicating it has not.
The Arduino also receives information from the server through the serial port, sensing when the “Unlock” button on the website was pushed (at the completion of the game) and triggering a piezo to play the Zelda treasure chest theme and the electromagnetic lock to unlock. Refreshing the page sends a signal to the chest to relock itself so it can be played again.
The Server & Website
The server, running on a Raspberry Pi 3, receives the serial information from the Arduino about which RFIDs have been logged in. It sends the data to the website hosted by the server via the WebSocket protocol where the data is parsed, searched with a regex for the RFID number and following 0 or 1 (logged out or logged in).
The HTML is then dynamically updated to reflect the RFID has been logged in by unhiding an Amethyst icon and changing the clue text on the bottom of the page to the next clue. When all four RFID gems have been logged in, an Unlock button appears that allows the winner to click it and unlock the physical treasure chest.
You can see my full Arduino, Javascript, HTML & CSS code on Github.
Making the Chest & RFID Pedestal
Ever since beginning my Zelda Secret Treasure chest last year when first starting to learn Arduino, I wanted to push the project further, really bringing a sense of magic and wonder to the physical world through technology. While the first project I did was cool, it really didn’t feel finished in this regard and I’ve always wanted to come back to it and find a new use for the electromagnetic lock I have built into the structure.
So I brought the box back out and refitted it with all the new sensor and wires needed, rewiring the original circuit to include the RFID input and a bigger piezo that I soldered to a wire (since one thing I hated about the original project was how quiet the piezo was inside the chest, ruining my song!).
I decided to hide the RFID reader in a small wooden box with a lid that, when turned upside down, made an excellent looking plinth. My Mom and I painted the box green and gold to match the chest and attached the sensor inside it.
I was very pleased to find that the RFID reader worked upside down and through about 1/4in of craft wood, meaning I could hide it inside the box, making it much more magical and believable than having a huge red circuit glued to the top.
We stuck the RFID stickers on top of some craft Amethyst gems found at Michaels, perfectly hiding the biggish stickers and providing a good sized object for hiding.
Since the treasure chest still had plenty of room, I decided to put the Raspberry Pi 3 right in the box and hide the cord under the decorative fabric that was lining it. Perfect!
Finally, I took back out the large multipurpose wooden plinth I created from scrap wood last Spring for CitizenScore. It has a power bar attached to the inside and lots of shelves and holes to hide cords and power supplies. I successfully hid all the cords from the RFID pedestal reader to the chest and from the Raspberry Pi to the power bar hidden inside it. I put another piece of decorative cloth under the chest and voila, it was finished!
The Final Build
I tested out the clues with some friends on D12 and was pleasantly surprised to find that they were just hard enough!
Above are some pictures and below are some videos of the final builds and some light user testing.
Video of First Prototype
Just the technology working, no build. Red LED stands in for the electromagnetic lock and piezo for testing purposes.
Video of Second Prototype
The treasure chest and pedestal have been added, but the website needs work and wires need hiding!
Video of the Final Build with User Testing
Here it is with a spiffy new CSS style and all the wires hidden. A user gives it a quick spin.
For Next Time
I really do think this concept could be replicated for lots of cool different purposes from easter egg hunts to city-scale mixed reality urban fantasy games for hidden quest items. RFID and other technologies like it, BLE etc. is a great low-tech way to energize and connect everyday items with digital interfaces.
I think that I want to explore different ways of storing the clues in a database so the site can be reset and the gems re-hidden without having to recode the whole thing.
Of course, I also want to clean up my CSS and make the interface look even cooler! Finally, I think it would be nice to let users write their own clues, or have some sort of platform that would let me scale this into a connected product opportunity. I could see it being a great solution for schools, public agencies, and nonprofits who want to do some interactive community projects!
Finally, I think it would be nice to let users write their own clues, or have some sort of platform that would let me scale this into a connected product opportunity. I could see it being a great solution for schools, public agencies, and nonprofits who want to do some interactive community projects!