Update

I had to disassemble this machine due to a lack of space, so I took a few minutes to record it in action.

With a little bit of smoke, the rings become visible!


I made a vortex cannon when I was around 12. It was a trash bag taped to a cardboard box with a few rubber bands holding it taught. Shooting rings of air at my parents was a favorite hobby of mine until they eventually stomped it to pieces. I deserved it, but the legacy of that cardboard box deserves to be honored.

A vortex cannon works by pushing a precise volume of air through a properly sized orfice. The faster you push the air, the faster the ring travels. How do you push a precise amount of air as fast as possible? A subwoofer! Or two. A subwoofer is electric, so you might as well automate the process. Ooo, and mount it on a gimbal. With cameras.

This was all theory; if the math is off, the whole thing won’t work. A few weeks were needed for me to research vortex formation theory; research papers from Microsoft proved to be particularly useful. But eventually (after some furtive CADing) I had a design.

80/20, waterjet aluminum, and hobby servos are the building blocks of this machine. I conveniently had an enormous sheet of 1/2” aluminum at my disposal…

A gimbal requires two axis of rotation. The bottom swivel needed a lazy susan of some kind, but I couldn’t find any that would last; I ended up making a lazy susan from scratch. The other pivot was handled with regular bearings.

The orifice size was calculated using the Slug Theory of vortex formation. The Microsoft papers provided some additional guidance on optimization.

Turbulence within the vortex cannon’s body degrades the system’s performance, so a wrapped-polycarbonate design was used to minimize sharp edges.

I didn’t want to use gears to couple the servos to the gimbal because modeling proper involute gears in Solidworks is a pain in the butt. A capstan drive (with electrical wire as cable) made for a good substitute.

As is tradition, the electronics were stuffed in the base. A massive 1000W amplifier was recruited to power the subwoofers. A Raspberry Pi was stuck in the base to act as the brains.

After adding a camera on the cannon body, the cannon could be assembled.

The capstan drive also came together here. The springs are needed to maintain tension; the cubic friction only works when tension isn’t zero!

OpenCV (with Haar Cascades) was used for face detection. A simple PD controller was written to aim the gimbal at any faces it could find. Once a face was locked on, the Raspberry Pi could be commanded to send a short pulsing waveform to the subwoofers.

The machine worked beautifully! I demoed it at XFair (a career fair held by TechX) and watched as it peppered passerby with invisible vortex rings. My parents can’t smash this one.