Inspiration
We wanted to create something that captured the thrill of a classic Western duel (similar to the ACM intro video), the tension, the anticipation, and the lightning-fast reaction moment, with a space-cowboy twist. We thought, what if two players could “draw” in real time, and an Arduino referee could decide which Cowboy would rule over the 7 galaxies? This sparked the creation of Space Martian Cowboys, a head-to-head reaction-time duel using infrared blasters, LCDs, and synchronized microcontrollers.
(The acronym SMC stands for Space Martian Cowboys as well as the initials of the creators themselves - Sandra, Michael & Carlos)
What it does
Space Martian Cowboys is a two-player, quick-draw game controlled by a central Arduino referee. Each player has:
- An LCD screen showing game status and results
- A joystick and button to select the number of rounds
- An IR receiver to detect when they’ve been hit The central units LED lights up signaling “HIGH NOON!”, when both cowboys try to “fire” first. The gamemaster measures each player’s response time down to the microsecond and displays who won the duel and who inevitably rules over the 7 galaxies due to their quick reflexes.
How we built it
We used three Arduinos connected via the I2C bus:
- One master controller to coordinate the game and measure reaction times
- Two player modules with LCDs, joysticks, and IR receivers Each game state is transmitted as a packet between devices. The IR detection uses the IRremote library, and the LiquidCrystal library drives each LCD for player feedback. We used breadboards, jumper wires, potentiometers, resistors, LEDs, LCDs and IR sensing modules. We used micros() for microsecond precision timing and custom byte-order helpers to safely send 32-bit values across I²C.
Challenges we ran into
Working with the initialization of different modules, I2C synchronization, and packet collisions were some of the challenges we ran into. Debugging multiple Arduinos at once required a lot of serial monitoring and timing prints to ensure proper sequencing. Electromagnetic reflection posed a uniquie physical challenge for our project.
Accomplishments that we're proud of
We built a fully working three-Arduino system that synchronizes perfectly using custom packets, achieved microsecond-level reaction measurement between two players. We created a fun, interactive, and repeatable demo that merges circuit building, embedded systems programming, and game design. We also wrote clean, well-structured, and modular code for all three of our units.
What we learned
We wanted to take a moment to thank ACM and all the sponsors for making this event possible and giving us the opportunity to learn so much. This project taught us how to design an API over I2C for multi-device systems. We also learned how to handle interrupt-driven input and avoid race conditions between ISR callbacks and display updates. We practiced debugging hardware as well and learned about timing, embedded and asynchronous design. We also got hands on practice with building circuits on breadboards, which is an important skill for ECE students.
What's next for Space Martian Cowboys
- Adding sound effects and OLED animations for cinematic flair
- Integrate Python for tracking cumulative scores over multiple rounds and displaying leaderboards
- Turn it into a mini-arcade, with multiple intergalactic games!

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