Lego EV3 Ball Launcher

When I added the paintball launcher to GEARS (, I wanted it to…

  • Have controllable launch power
  • Works with a single motor
  • Be plausible to implement with Lego parts

I eventually decided on a control scheme where the motor is turned in reverse to pull back the “spring”, and turned forward (…by any amount) to trigger the launch. Launch power is controlled by the amount of pull back; the more you pull back, the greater the eventual launch velocity.

This control scheme addresses the first and second requirements, but is it plausible to implement it with real Lego parts? I’m pretty sure I cannot match the size and performance of the simulated paintball launcher, but I wanted to make sure that it’s possible to build a device that can at least achieve the same functionality.

I built this ball launcher as a proof-of-concept. It uses a single medium motor to both pull the rack back and trigger the launch, in the same manner as the simulated paintball launcher in GEARS. The key to the way it works lies in the…

  • Pivoted pinion gears
  • Ratchet mechanism

Pivoted Pinion Gears

A couple of rubber bands pull this upwards to mesh with the rack, but with sufficient force, it can be pushed down to release the rack and allow it to shoot forward.

Pivoted Pinion Gears

Ratchet Mechanism

The ratchet mechanism allows the pinion to turn freely clockwise (…when pulling back the rack), but when the pinion attempts to turn counter-clockwise (…forward direction), the pawl will engage, causing the pinion to push itself downwards instead. This disengages the pinion from the rack, allowing it to shoot forward and launch the ball.

Ratchet Mechanism


As expected, the launcher’s performance is underwhelming; the ball can’t travel more than a few centimeters before hitting the ground. But as a proof-of-concept, it demonstrates that the control mechanism used in the simulator is viable in real life.

To improve performance, we can increase the number of rubber bands. Increasing the length of the rack to allow the rubber bands to be stretched more could help, but that may also worsen performance by increasing the amount of dead weight that needs to be accelerated forward. If the velocity is increased, it may also be a good idea to add some kind of damper at the front to prevent damages to the plastic parts.

If you managed to build a better launcher with the same control scheme, send me a video and I’ll link to it here.