About the Project Inspiration
When I was a kid, one of my favorite games was Hot Wheels Unleashed. But even then I couldn't help but notice the video game had almost nothing to do with the actual toy cars, besides sharing the brand name. That always felt like a missed opportunity.
Now that games like Skylanders and Disney Infinity are gone, there’s room to bring back that kind of physical-digital play. That’s why I built Switchwayz: to show how toy cars could directly connect with a video game and spark kids’ imagination again.
What I Learned
This project gave me hands-on experience with both hardware and software. In particular, We learned:
How Bluetooth Low Energy HID works and how to create HID descriptors
How to use debugging tools like joy.cpl to test controller inputs
How NFC stores data in NDEF format and how to write custom codes onto NFC chips
How to integrate hardware and software into a working prototype
How We Built It
Switchwayz combines multiple technologies:
Hardware: ESP32 microcontroller, PN532 NFC reader, 4×AA battery pack, generic joystick
Design: One-handed controller housing modeled in Onshape
Software: A demo in Unreal Engine to showcase the interaction
The flow is simple: the ESP32 reads the NFC chip inside a toy car, encodes it as HID input, and Unreal Engine responds by switching the car in the game.
This project wasn’t without obstacles:
Unreal Engine input handling: UE struggles with custom HID devices, so I had to spend time debugging and creating workarounds.
NFC memory: Understanding how NFC data is partitioned took significant research to ensure I could reliably store and read unique IDs.
Integration issues: From wiring to battery stability, getting everything to work together smoothly required a lot of trial and error.
Conclusion
In the end, Switchwayz came together as a working proof of concept that shows toy cars still have untapped potential in gaming.
Built With
- 3d-printing
- c++-/-arduino
- esp32
- nfc
- onshape
- pn532-nfc-module
- unreal-engine

Log in or sign up for Devpost to join the conversation.