
Nerf Turret 2/16/2025 - 2/22/2025
This project is a rapidly prototyped, automated Nerf turret system developed for my school's Robotics Club Open Day Exhibition as an interactive carnival game.
The core functionality is managed by an Arduino microcontroller, which processes input from a joystick to control the turret's aiming and firing sequence.
The turret assembly consists of a two-axis gimbal bracket providing pan and tilt motion, actuated by two standard servos. The shooting mechanism is a custom-built module constructed from 3D-printed components and Lego technic parts. Its operation is a two-stage process: a lever-push mechanism, actuated by a third servo, loads a dart into the barrel. Subsequently, a flywheel system, powered by a 6V source (4xAA battery box), is engaged to propel the dart.
The entire project—from sourcing materials and 3D printing to assembly and coding—was executed within a one-week development cycle.




Salvaging a flywheel cage from an old Nerf blaster to save on design and print time. A quick gets a propulsion system that launches nerf darts at around 60 FPS.

Testing and calibrating the 2-axis gimbal's range of motion. To ensure safety and fair play for the carnival game, I've implemented software limits that restrict the turret's pan and tilt angles to a specific, safe zone.
Click this link to watch the full video from the Robotics Club Instagram post:
https://www.instagram.com/p/DGh3z2FvNO-/?utm_source=ig_web_copy_link&igsh=YzgzcjFkMjI2ZnEz
Advanced Automated Targeting System (Prototype)

This iteration of the turret project implements a significant software upgrade: real-time color-based object tracking for fully autonomous targeting.
The system utilizes a camera feed processed through a Python script in Visual Studio Code. The core algorithm applies color masking to isolate a specific target—in this case, a red cup. A bounding box is drawn around the identified object, and its centroid coordinates within the frame are calculated.
These image coordinates are then translated into real-world pan and tilt angles and transmitted to the Arduino via serial communication. The Arduino, acting as the motion controller, drives the servos on the 2-axis gimbal to keep the target centered. The system incorporates a tracking delay to establish a positive "lock" before initiating the firing sequence, which engages the flywheel mechanism to shoot.