A lamp, built for Lamp Show at Highland Collective.
An acrylic tube with a 3D printed base and top. A single length of 2020 aluminum extrusion runs up the middle, and that is what actually holds the thing together: the top and the base bolt to it, and the tube just sits in a recess cut into each. Addressable LEDs sit down in the extrusion’s channels, and an almost problematic amount of marbles fills everything around them. Somewhere in the range of twelve hundred of them.
So the light source is the structure. It radiates outward from the center of the column, through the marbles, to whoever is looking at it.
The marbles are the whole trick. A bare LED strip is a line of colored dots. Push that light through twelve hundred glass spheres and it scatters into something with depth, which is a lot of physics happening for free.
What plays across it is a lava lamp simulation, and it is not running on the lamp.
Twelve hours of fluid, just shy of 2.6 million frames, which works out to sixty a second. It took about a month to simulate. The result went onto an SD card, and the lamp’s entire job at runtime is reading that file back.
Only the motion is baked in. Color is applied live during playback, so the palette stays a parameter instead of something committed to a month ago.
Simulating fluid in real time on a microcontroller this small is a losing fight. Simulating it once somewhere with a real processor, and leaving the lamp to read a file, is not. Twelve hours is also long enough that nobody is going to catch it repeating.