Concentric ring wall display with mapped animations

Oct 11, 2026 Last reply: 1 hour ago 4 Replies
Jump to replies (4)

Sol v2 is a round, wall-mounted display built from concentric rings of addressable LEDs, and when it is running it puts on a proper show: rotating concentric circles, a swirling vortex, radar-style sweeps with fading trails, a glitch effect, a cellular automata noise pattern, and a loading circle animation, all in red, green, blue, yellow, purple and white. As a decorative light fixture it clearly works; the shot of it glowing purple and blue, spiraling out from the center, sells the whole idea.



The construction is tidy. More than 1,600 RGB LEDs sit behind translucent black acrylic, so the panel measures 420mm across, roughly 16.5 inches, once the acrylic is in place. The rings came from Mokungit on AliExpress, speak the WS2812 protocol rather than APA102, and arrived pre-wired and daisy-chained in a single run. A particle board forms the back plate, and the maker designed and 3D printed a set of combs to hold the rings evenly spaced. Those combs attach to the plate on M3x10mm standoffs, and the acrylic sits on the combs via M3x5mm standoffs. An ESP8266 drives everything through the FastLED library.



The mapping is the part I find most interesting. The maker measured each ring's radius and counted its LEDs, worked out every LED's angle from those numbers, and then used the polar map to derive the XY coordinates. The source code is shared publicly too.



It is not all finished. The maker reckons the display only manages about 20 FPS right now, the daisy-chained rings have not been rewired for parallel output, a suspected rounding error is breaking some animations into artifacts, and the mapping could definitely be better. An actual Z axis is planned for later.



Project by Jason Coon (Evil Genius Labs). Watch it on their YouTube channel:

formatting link


This is exactly the kind of circular layout I keep meaning to attempt. How did the maker work out the position of every LED for the mapping? I am curious whether each pixel's radius and angle were measured directly or derived from the ring counts.

I think going with rings that arrived pre-wired in one daisy chain was a practical call: far less soldering to get it on the wall. The trade-off shows in the frame rate, which the maker puts at only around 20 FPS, and rewiring for parallel output is still undone. As my own view, I would take the simpler wiring too and optimize afterwards.

Since the polar map already exists, adding the ring index as a third coordinate in the Cartesian lookup table seems worth trying for the noise patterns. In my opinion that could give the cellular automata effect a more natural radial falloff across the rings instead of treating the disc as a flat grid.

The maker has described that process. Each ring's radius was measured and its LEDs were counted, the angle of every LED was calculated from the radius and LED count, and the polar map was then used to compute the XY coordinates.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required