Introduction: Pingo: a Motion-Detecting and High-Accuracy Ping Pong Ball Launcher

Kevin Nitiema, Esteban Poveda, Anthony Mattacchione, Raphael Kay

Step 1: Motivation

Here at Nikee (not to be confused with our competitor, Nike), we are constantly looking to invest in and develop technologies that will allow our athletes to test and push their limits. We were approached by a well established international research team that deals with the development of motion-detecting and high-accuracy launching systems. This team, who usually works on highly classified top-security projects, developed a kinetic system that moves around targets, detects their positions, and accurately launches ping pong balls in their directions. We are currently testing how this system can be used to test an athlete's hand eye coordination, mental focus, and endurance. We are confident this system will soon be established as an industry standard in any athletic training regiment. See for yourself:

Step 2: Project Video

Step 3: Parts, Materials and Tools


6 x 3V-6V DC motors

3 x L298N motor driver (for 6 DC motors)

2 x 28BYJ-48 stepper motor

2 x Uln2003 motor driver (for 2 stepper motors)

1 x MG996R servo motor

1 x HC-SR04 ultrasonic sensor

1 x breadboard (any size will do)

1 x arduino mega 2560

3 x 3.7V 18650 batteries

3 x 3.7V 18650 battery holder

1 x 9V battery

40 x M/M wires

40 x M/F wires

40 x F/F wires

12 feet x 22 gauge red wire

12 feet x 22 gauge black wire


4 x wheel/gear/tire for 3V-6V DC motors (these will work:

2 x 6 mm thick clear acrylic car plates (to be laser cut, see laser.stl)

1 x ping-pong ball launcher (to be 3d printed, see 3d.stl)

1 x ping-pong ball launcher - plate connector (see all.stl)

1 x sensor platform (to be 3d printed, see all.stl)

4 x 55 mm M3 screw

8 X 35 mm M3 screw

6 x 25 mm M3 screw

32 x 16 mm M3 screw

22 x 10 mm M3 screw

72 x M3 nut


Phillips-Head screwdrivers


Wire strippers

Electrical tape



Super glue


Laser cutter

3D printer


Modelling (Rhino)



Step 4: Circuit

Step 5: Machine Making

We’ve attached three 3d modelling files. The first contains the geometry for the laser cut acrylic components (laser.stl; a second contains the geometry for the 3d printed plastic components (3d.stl); and a third contains all the geometry for the entire machine in its assembled form - including the laser cut geometry, the 3d printed geometry, and the purchased components geometry (all.stl)

We first built the machine by screwing the wheels and electronics to the laser cut acrylic plates. Next, we screwed the launcher together, connecting both motors and wheels, before connecting the launcher to the plates with a part laser cut, part 3d printed connector. The sensor was finally screwed into its mount, itself screwed onto the car plates. The assembly is shown in detail, colour coded by fabrication technique (i.e. laser cut, 3d printed, purchased).

Step 6: Programming

See our attached arduino file!

Step 7: Results and Reflection

We set out to build a machine that drove along an axis, located and noted the distance of an object within a given range of its sensor, and fired a ping pong ball at that object. We did this! Here are some lessons and failures along the way:

1) Neither 3D printers nor laser cutters output with geometric precision. Making pieces fit requires testing. On different days and on different machines different fabrication settings work differently! Print and cut sample tests first when fitting pieces together.

2) Different motors require different power supplies. Use different circuits to produce different voltages rather than burning out motors.

3)Don’t encapsulate electronic components or wires beneath rigid hardware! There are always small changes that you will want to make (or need to make) along the way - and unscrewing and re-screwing an entire multi-jointed machine to make these changes is a tiresome task. We’d make far larger through-holes for wires and for access on the top plate of the car if we were to do it all again.

4) Just because you have the 3D files and working code doesn’t mean there won’t be problems. Knowing how to troubleshoot inevitable problems is more important than attempting to foresee all of the inevitable problems. Most importantly, stay the course! It will eventually work out.

Step 8: References and Credits

We took the idea of how to accelerate ping-pong balls from the Backroom Workdesk

We’d like to thank the University of Toronto Faculty of Architecture workshop manager, Tom, for putting up with us for a month.

Work by: Kevin Nitiema, Anthony Mattacchione, Esteban Poveda, Raphael Kay

Work for: ‘Useless Machine’ assignment, Physical Computing course, Faculty of Architecture, University of Toronto