December 13th, 2024

Imposter Attack – Among Us-themed infrared game made with ESP32 and MicroPython

Ian Langworth developed a laser tag game using the ESP32 microprocessor, transitioning to MicroPython for easier programming. The game features interactive targets, rechargeable batteries, and efficient communication via ESP-NOW.

Read original articleLink Icon
Imposter Attack – Among Us-themed infrared game made with ESP32 and MicroPython

Ian Langworth shares his journey of creating a laser tag-style game using the ESP32 microprocessor, inspired by a ride at Legoland California. He highlights the accessibility of technology and the fun of game development, which motivated him to explore programming and hardware. After discovering the ESP32's capabilities, including its dual-core CPU and wireless communication features, he began experimenting with various projects, including automating home devices. Langworth transitioned from Arduino to MicroPython for its ease of use, which allowed for quicker iterations and over-the-air updates for his devices. He detailed the challenges of sending and receiving infrared signals for the game, using inexpensive laser tag guns and a wand for gameplay. The design included multiple targets that would light up and react to player interactions, utilizing UV and white LEDs for visual effects. He also addressed power supply concerns, opting for rechargeable 18650 batteries and incorporating a protection circuit. To enhance communication between devices, he implemented ESP-NOW, a low-power protocol that improved efficiency. Overall, Langworth's project reflects a blend of creativity, technical exploration, and the joy of building something novel.

- Ian Langworth created a laser tag game using the ESP32 microprocessor.

- He transitioned from Arduino to MicroPython for easier programming and faster iterations.

- The game features infrared signals and multiple targets that react to player interactions.

- Rechargeable batteries were chosen for power supply, with safety circuits included.

- ESP-NOW was implemented for efficient communication between devices.

Link Icon 11 comments
By @t_mann - 4 months
> I was told that I had the second biggest crowd, second only to a Pokémon bean bag game (which did look pretty cool). Some adults were curious, but most importantly, a handful of questions from kids who wanted to know how I built it. It was especially rewarding to show one off one of the extra targets I brought. One kid even recognized the ESP32 chips and said, “Oh, these are the ones you can make drones out of!”

That paragraph really stood out to me. Apparently, where OP lives, people casually make stuff even cooler than a laser shooting game for a one-off school event, and elementary-school-age kids recognize specific types of microcontrollers.

By @statico - 4 months
This took a few evenings to make :)

Full source code is on GitHub: https://github.com/statico/imposter-attack-2024

By @jackschultz - 4 months
Great timing. I've been wanting to learn how to do projects like this, but been so unsure what types of microcontroller I should get and what else could be needed. Similar in the software world where we all have our preferred tech stacks, I was so uncertain of what stack to use for these projects that it definitely causes a hurdle.

His mention of the ESP32 and how

>While working on the game I used my newfound ESP32 skills to do some other projects, such as automating the remote-controlled blinds in our bedroom as well as a motion sensor that would send Pushover notifications to my phone.

is absolutely what I'm wanting to be able to do. Learn the tech needed for one controller that can be used on tons of different places. That, plus that talk with MicroPython (and other parts) gives some confidence about learning this hardware stack.

By @nabilt - 4 months
Super impressive project, especially for what seems to be your first embedded project. I haven't played with microPython/uOTA so this was an interesting read.

Since you mentioned the water meter Flume, I wanted to shamelessly plug my open source water meter that I'm currently developing. It also uses the ESP32 so I thought you might be interested.

Main page. https://y-drip.com/

Docs: https://y-drip.com/docs/site/v0.4/

By @starkparker - 4 months
> I might try a different theme than Among Us

This might've been thrown out for being too obvious, but did you consider Ghostbusters? Swap the magic wand for a proton pack wand and it seems to fit almost too well.

By @tony-allan - 4 months
Liked the reference to uOTA - OTA updater for MicroPython

https://github.com/mkomon/uota

By @duxup - 4 months
This might be one of the coolest maker projects I've seen. Congratulations!
By @salynchnew - 4 months
Very, very cool-looking project!

It would be very cool to somehow make a laser tag variant, and build a persistent game and multiple players, StreetWars style.

https://web.archive.org/web/20151026121204/http://www.sfgate...

By @monocularvision - 4 months
So cool and a great write up. Thanks for sharing!
By @boomskats - 4 months
Hard pass on Among Us. I heard it makes kids murder CEOs when they grow up[0].

[0]: https://www.nbcnews.com/news/us-news/ironic-suspect-unitedhe...

By @dang - 4 months
We put Show HN in the title (the convention for sharing your own work on HN, which this certainly is! - https://news.ycombinator.com/showhn.html). But putting that in pushed MicroPython out the end of the buffer (which is fixed to 80 chars).

If MicroPython is more interesting than ESP32, we can swap them...

(Submitted title was "Imposter Attack – Among Us-themed infrared game made with ESP32 and MicroPython")