
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.
