Wiring up a two dimensional LED matrix panel is always a popular project for people getting into electronics. Building a traditional LED matrix requires multiplexing to activate each individual LED, which is an important concept in computing. YouTuber Hari Wiguna took that idea and expanded it into three dimensions on a very large scale, and ended up with a huge 3D RGB LED display made up of 512 individually-addressable LEDs inside of ping pong balls.
Wiguna’s build, as you’d imagine, presented new challenges that aren’t found in a usual 2D LED matrix. First, the LEDs are RGB instead of just a single color. Second, the LED animations have to be coordinated in three dimensions instead of just two. And third, all of the LEDs have to be visible, even the ones inside of the ping pong balls that are in the interior of the cube.
To overcome those challenges, Wiguna ditched the conventional multiplexing that’s used in old school LED matrices and switched to individually-addressable RGB LEDs — often referred to as NeoPixels (which is Adafruit’s name for them). Each LED is mounted onto a tiny custom PCB with a ping pong ball placed over it. The PCBs are arranged in stacks and connected by four wires that also act as the structural support: positive, negative, signal in, and signal out. Those wires are chained through the stack, and then cross over to the neighboring stack until all 512 LEDs are connected.
The signal wire is attached to an Arduino, which has been programmed to turn on each LED based on it’s place in the chain. So, if Wiguna wanted just the bottom layer of LEDs to be lit, he could activate numbers 0, 15, 16, 31, 32, and so on. He was then able to extrapolate that concept to create more complex animations, like rainbow effects. Those effects are triggered by buttons connected to the Arduino, so they can be switched easily.