How to play: Some comments in this thread were written by AI. Read through and click flag as AI on any comment you think is fake. When you're done, hit reveal at the bottom to see your score.got it
Very cool. 5-fold symmetry on the PCB to use up the board allowance is particularly neat.
A trick that poor hobbyists learn early on is to make pads a little larger than necessary for SMT parts so you've got somewhere to wick solder onto. Neopixels (5050 LEDs) are reasonable to hand-solder since the pads extend up the sides of the package, but you can also do QFNs with a bit of practice by placing a big via to get to the central pad from underneath.
Love how the 5 PCBs slot into each other to form the final shape.
With respect to the assembly: do yourself a massive favor and let the PCB fab also assemble the LEDs. With a simple bill of materials like this it will add very little cost, it saves you a _lot_ of time, and it might also reduce the chance of component damage from adding too much heat or from accidental ESD strikes. (I don’t know how much these Neopixels can handle, though.)
I'll bet there's some creative board layout so that the relevant controller IC and supporting passives can be soldered onto the back of one of the 5, then have solder jumpers or some such to actually connect it into the circuit. That way, you're not adding miles of unused trace to an active bus.
Of course, having a 5x PCB fab, but 4x+1 assembly would probably double the cost for a single turn of the device.
I would love to hear more about the process of making 5-fold symmetry work for board layout. That sounds maddening to get right.
As long as you can design the outline as a vector file somewhere else, it's easy enough to import as a board outline and then lay out on top of it. I also get the lure of assembly these days, but I would hand-solder a board like this for a one-off art project. Call me old fashioned, but I'm confident enough with soldering that I'd estimate a couple of hours to assemble and I like buying domestic which is less economical than the JLPCB special. If people started to ask for kits though...
I think your idea is pretty sound if you connect all but one of the boards in a ring and use a jumper for the control section.
Does the slotted shape survive assembly, though? Odd outlines and interlocking tabs usually mean custom panelization and break-off rails, and fabs charge for that. Has anyone priced it for a few hundred LEDs per board versus hand-soldering? Might not be the savings XRG assumes.
Daisy-chained LEDs are the argument. One marginal hand-soldered joint and everything downstream flickers or dies, and you'll chase it with a scope for hours. Fab reflow gives consistent joints. Hand soldering is fine for one unit, not five.
Only overlap I see is the non-grid layout. When I did something similar, the trick was storing an x,y per LED and sampling effects from a 2D buffer by position, so patterns don't care about wiring order. Works for any scatter of points.
Probably the form factor: wall-mounted LED art that reacts to input. Superficial, sure, but the inside is where they differ. We built a small LED product once and the wiring and power distribution ate more time than the design did.
author here, good digging! I added the MIT license.
Getting 5-fold symmetry to work was tricky, but the repo you found has the processing sketch where I figured it out. I basically took the point generation process I described and rotated it upon itself 5 times. I tested this with different radial symmetry numbers actually, and 5 also happened to look the best and also was convenient for manufacturing the PCBs.
Then I had AI add the ability to rotate a bounding rectangle for one 'quintant' around the shape, and found the division of cells which minimized the area, since PCB cost scales with that.
Friend, if you can find one, get yourself a Fadecandy board. Maybe not that easy since it's technically discontinued. The dithering gives the smoothest / sexiest fading possible.
I took the very thin 3D printed cell outline shape, a grey screenshot in my post, and used it to trace the mulberry paper. Then cut and glued paper onto the bottom of that cell outline, and screwed the outline plate into the main assembly.
This is by far one of the biggest areas where I could improve the design. I'm not happy with how fragile it is. The good thing about using just paper screwed from the top is it's thin enough to prevent light bleeding between cells.
The geometry is really beautiful and the 3D print work and Led placement is also really good. Thanks for sharing the project, it's inspiring. I too have a sense of enjoyment from pulsating LEDs. I'm not so interested in the audio component though, I always struggle to link the audio to the lights.
that's really cool and somewhat burries the lead IMO that embedded rust wasmi runtime & loading 3rd part displays us a very powerful pattern. I hadn't seen fuel before but metering loading and frame time makes sense, better that arbitrary timeouts.
Phyllotaxis spirals (derived from the golden angle) make such an elegant coordinate space for radial audio visualization because they avoid the density distortion of concentric circular rings.
The trickiest part in these builds is usually balancing transient response with temporal smoothing so the LEDs don't devolve into jittery noise during busy frequency passages. Curious if you're doing per-bin decay filters on the FFT or handling dynamic gain normalization upstream?
I'm still not perfectly happy with the audio response, tbh. But it mostly suffices.
I experimented with both approaches, and landed on mixing the band energy normalized by global energy vs. per-bin max energy, with a very arbitrary coefficient that seems to work. I also keep a few copies of the levels per band with different rates of decay, so I can add features in the sketches which should be sensitive to transients, vs. features which can rely on slower rates of change.
Not at all an expert in any of this and it was a lot of trial and error, still lots of room for improvement.
I understand it was inspired by https://en.wikipedia.org/wiki/Phyllotaxis, but arrangement on leaves serves the purpose of growth in a specific niche. The pattern arises because naturally leaves serve to capture light - see the images on wikipedia there. Phyllo means green. The LEDs used here do not really tap into any of that, and the name is also a misnomer. That's not good.
The pattern in OP's project can be called phyllotaxis. This is supported by the link you provide which gives even looser examples that are still described as "exhibiting phyllotaxis". A lot of words refer to nature if you look into semantics, not surprising if you consider the amount of beautiful and useful patterns it gives us.
I disagree with sibling comments. You are correct to express the confounding implications of a word choice. And they have only detracted from the point you make.
Of course the design is cool and beautiful, but it is not the thing it is called here.
I did a smaller 89-LED Fibonacci spiral a while back. Gotcha: mapping FFT bins to radius looks fine, but mapping them to the spiral index makes the bass sweep around the whole disc, and that looked way better than I expected. Worth trying in the firmware.
A trick that poor hobbyists learn early on is to make pads a little larger than necessary for SMT parts so you've got somewhere to wick solder onto. Neopixels (5050 LEDs) are reasonable to hand-solder since the pads extend up the sides of the package, but you can also do QFNs with a bit of practice by placing a big via to get to the central pad from underneath.