Create your own interactive, wireless musical LED juggling balls using CircuitPython and the low latency ESP-NOW protocol.
These juggling balls shine bright with NeoPixels, and can wirelessly trigger MIDI notes based on catch detection with the LIS3DH accelerometer, and a Feather board to bridge messages to your computer or USB Host synthesizer. You can code any note pattern or interaction you like in CircuitPython.
While there are commercially available LED juggling props, there are none that send MIDI messages to a host computer or bridge are currently available, so let's make our own!
This project was inspired by this performance by renowned juggler Jay Gilligan.
For an introduction to ESP-NOW in CircuitPython, check out this guide.
These are the parts you'll need per juggling ball:
For the PCB version, you'll use two breadboard friendly NeoPixels per ball.
Page last edited October 15, 2025
Text editor powered by tinymce.