Report inappropriate content

Robotic Ping-Pong Ball Launcher

This is something that I made for a Cub Scout "Invention Convention" pack meeting. At one station, we taught the kids to use TinkerCAD (, which is a very easy to learn, useful, free, online CAD package, which I used to design the 3D printed parts for this (both so I could learn, and to show the kids that you could do something engineering-like with it).  At another station, we taught the kids to program these simple robots, using a graphical programmer for Arduino called Modkit. is the link for the Arduino programming software, which is free at the time of this writing.  Side note, at the third station, we taught them to solder a simple flashlight circuit, and I am happy to say that I was the only person burned (and then only slightly) by a 9-year-old handling a soldering iron.  No cub scouts were harmed in the making of these flashlights.  :)

I didn't feel that I could get the resolution that I needed for the servo horns, so I just hot glued the servo horns to the 3D printed pieces.  Something else that is not obvious from the picture is that I placed a small triangular piece of foam behind the bottom end of the ping-pong-throwing arm.  This makes the arm throw at about a 45 degree angle, but doesn't cause any sharp impacts.

There are attached pictures showing the circuit, but there is one important note.  The Arduino (in my experience) will not provide enough current to drive the two servos, so I added a separate power supply for those.  Before I did that, the servos would cause the Arduino to reboot randomly.  Because of where I soldered the servos (on the 5V supplied from the Arduino), I needed to cut that trace, or I expect that I would have let the magic smoke out of the chip.  So, I would suggest one of two things.  Either cut the 5V trace as I did, and as shown in the picture, or solder the servos in a different spot. 

For the 5V servo power supply, I used a 3-pin keyed header, so I wouldn't accidentally plug it in backwards.  However, you could also cut off the end of the wall wart, and solder it down.  Note that to power the Arduino as a whole, I used the USB cable, since I needed that anyway to program the Arduino.

In terms of wiring, I put the servos on pins 10 and 11, and the switch on pin 7, but these were mostly arbitrary.

I'm not going to give a full tutorial on Modkit but here are some steps.  Once you have it installed, open Modkit Micro, and select your Arduino (it should auto-detect it if it's plugged in).  Then you need to configure your hardware on the "Hardware" tab.  So drag a servo from the left panel only the main area on the right, and select the pin you have connected (pin 10, for example).  Same for the other servo and the switch (button).

Then select the "Blocks" tab and start dragging blocks from the left panel to the main area on the right.  It's kind of like Lego Mindstorms, if you've used that.  One thing a really liked about it, is that the various pieces have different shapes, so that you can tell where they go.  For example, the "if" block has a diamond-like shape for the "comparison", and there are a bunch of diamond-like shapes which are a comparisons, and you pick one, and drag it into the correct spot.

Your email is used to contact you if we need more information.

Back to design