Back Homepage

Laser Pistol Target Game

ESP32, C++, Systems Engineering, SolidWorks

Completed: Nov 2022

This solo project was developed as part of the university subject 41099 Introduction to Mechatronic Engineering. The project is a prototype of an arcade-style laser target shooting game, where a player uses a custom-built laser pistol to hit a moving target. The system combines wireless communication, real-time scoring, anti-cheat mechanisms, and mechanical actuation to create an engaging experience.

The player aims to hit as many targets as possible in a fixed time window. Each time the target is hit, it moves to a new location, and the system tracks and displays the score. A number of subsystems such as laser authentication, ultrasonic range detection, and target repositioning were implemented to increase functionality, safety, and realism.

Following the completion of this project, I was recognised as being in the top 2% of the cohort for this subject. As a result, I was awarded a small UTS Robotics Institute Summer Scholarship and offered casual academic employment as a tutor for the following year’s cohort.

Interesting information:

  • The system included a custom-designed anti-cheat feature that used an ultrasonic sensor to detect if the laser pistol was too close to the target.
  • A validation system was developed to ignore laser hits that didn’t come from the proprietary pistol — ensuring that only legitimate shots were registered.
  • Wireless communication between the pistol and the target used ESP-NOW protocol on ESP32 microcontrollers.
  • The target repositioning system was driven by a servo motor that received PWM signals in response to valid laser hits.
  • Scoring and leaderboard information was displayed in real-time using a 0.96" I2C OLED display.
  • The laser pistol and target used custom-designed enclosures, created using SolidWorks, and laser cutting & 3D printing techniques.
  • The system was developed and debugged using VS Code with PlatformIO, providing enhanced development features and efficient serial monitoring.
  • Safety measures were thoughtfully implemented — including a “keyboard-based simulation” mode for the laser to prevent eye strain during debugging.
  • The entire software was structured for modularity, with isolated test scripts used for feature-specific debugging.
Project image Project image Project image Project image Project image