LED Juggling Balls with Pattern Detection

By Jesse Haydn Checkla


Juggling patterns are often described by a numerical notation known as siteswap. Each number in a siteswap represents
the number of beats of each throw. While this notation is most often used for communicating patterns, the underlying
math can be used to achieve autonomous pattern detection. Juggling balls were developed with an embedded system
capable of determining the current juggling siteswap and changing color accordingly. Internal accelerometers are used
to record throws and catches while wireless RF transceivers communicate these events. A microcontroller inside each ball
processes the accelerometer signal and prepares messages for transmission. An external microcontroller is responsible for
recording the individual ball states and passing them into MATLAB for pattern detection. A signal is sent back to the
balls to change the color of their internal LEDs based on this decision. Pattern detection methods were simulated in
software prior to implementation. Future improvements include a reduction in the time-to-detection and removal of the
external unit for increased portability. Possible applications include use as a learning tool for the practicing juggler as
well as increased entertainment value for the performer. Beyond juggling, a multi-object system with pattern recognition
and wireless communication may have implications in areas like swarm-robotics.


Full report (pdf)