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.