josh wu | ← all projects

vex turret
2-dof spring-powered vex turret with chain-drive pitch, spur-gear yaw, and sensor-based firing modes

description

TRONSHOT is a carnival-style VEX IQ ball turret built for the MTE 121/100 mechatronics design project. The goal was to create something that felt like a real arcade shooting game: a compact stationary turret with two degrees of freedom (pitch and yaw) for precise manual aiming, a spring-loaded launcher that consistently reaches 5+ metres, two firing modes, ammo tracking, and a full safety shutdown system. The aiming assembly was modelled in SolidWorks and 3D printed, with all control logic written in C++ on the VEX IQ brain.

mechanical design
  • Pitch: chain drive with 8T/24T sprockets (3:1 ratio) provides enough torque to lift the top-heavy assembly; pivot point is off-centre from the centre of gravity so a high torque ratio was essential. Motor hold (brake) mode prevents back-driving under gravity load.
  • Yaw: lazy-Susan-inspired spur gear system — large gear fixed to base plate, small motor-driven gear orbits around it for full 360 degree rotation. 6:1 ratio balances torque and speed; teeth lubricated to reduce wear and noise. Initial fine-tooth design skipped under load; redesigned with coarser teeth to eliminate skipping. Ball bearing was removed after testing showed it could not handle axial load.
  • Shooting (3 prototypes): Originally inspired by the Nerf RapidStrike, which we dissected for research. Built a custom 48:1 spur-gear gearbox in SolidWorks (120 rpm in, theoretical 5,760 rpm out) — but VEX motor torque collapsed through the gearbox (0.414 Nm in, 0.009 Nm out), shooting only ~10 cm. Second prototype with foam Nerf Rival balls had the same torque problem. Final design ditched the flywheel entirely: a planetary gear with a 1:3 reduction loads a spring-piston which releases at 90 degrees of rotation, flicking small VEX balls over 5 metres reliably.
  • DFM: rotating plate was initially printed flat, putting layer lines parallel to the shear plane — the part snapped under load at exactly those points. Fix: redesigned the base geometry so the part could be printed diagonally, rotating the layer lines away from the shear direction entirely.
software
  • Single-shot mode fires exactly one ball per trigger press, calibrated empirically by measuring motor rotation; automatic mode fires continuously while the button is held
  • Bumper switch toggles between the two firing modes mid-game
  • Optical sensor tracks ammo count and disables firing when the magazine is empty; optical sensor was unreliable detecting actual balls so a green card was used as a proxy target. Reload button on controller resets the counter after refill
  • Touch sensor gates program start and stop; dedicated kill switch on controller instantly halts all motors and returns turret to home position
challenges
  • VEX motor torque ceiling made the flywheel launcher physically impossible — 48:1 gearbox reduced output torque to 0.009 Nm, not enough to move a ball
  • Fine-tooth yaw gears skipped under the weight of the top assembly; solved by redesigning with coarser tooth profile
  • 3D-printed rotating plate sheared at layer boundaries under shear force; solved by printing on a diagonal orientation
  • Optical sensor couldn't reliably detect VEX balls; used a green card proxy to ensure consistent detection
tech stack
SolidWorks3D PrintingVEX IQC++Chain DriveSpur GearsSpring MechanismDFM