April 9, 2024
Description
Lotus is a large-scale (1.2 Meter diameter) LED Wall Art Project, designed using Parameteric design in Rhino + Grasshopper. Below is a video demonstrating some of the fun lighting functionality that is possible with this design!
This installation uses over 6kg of printed parts and connectors, and is comprised of 180 individually-addressable LED pieces. Several meters of wire are used to connect the Neopixel LEDs to a Raspberry Pi Pico W, which runs a simple MicroPython webserver for commands (I have mine hooked up to HomeAssistant for automations).
This project is a lengthy undertaking, requiring many dozens of hours of printing, assembling, gluing, soldering, programming, and general troubleshooting. You have been warned!!!
That being said…
This project can be thought of as 60 radial “pizza slices” of 3 pieces. There are two unique slices, named A and B respectively (because the hexagons need to be offset in order to tile radially).
So for assembly, you will need:
30x inner_A, middle_A, and outer A
30x inner_B, middle_B, and outer_B
I printed most pieces simply by using the full_plate.3mf provided, which has all 6 unique pieces on the plate. So this plate can be printed 30x to yield all the 180 pieces required (minus the 3 “special” variant pieces that house the Pi Pico, and provide the wall hooks for mounting).
You will also need a ton (napkin math says ~400 small, ~200 large) of the small/large pins. I recommend using a boolean volume in your slicer to make a decent number of these into a “C” shaped pin instead of a complete “O”. This is to make assembly easier; C-shaped pins can be put onto wired LED assemblies after they're already soldered/assembled, whereas the “O” pins will require you to thread the wires through before they are soldered.
I used the following LED strip in 4M length (technically 3M would be exactly enough LEDs, but leaves 0 room for error…): https://www.adafruit.com/product/1138
I assume other addressable LED strips would suffice, but I knew neopixels had good library support having used them before.
Assuming every LED is illuminated White at max brightness, that would be 60mA * 180, or 10.8 Amps. I don't plan on lighting up all pixels that bright for extended periods of time, so I went with a 10 Amp supply I had laying around. I got these 5.5 x 2.5 mm barrel jacks to match the PSU: https://a.co/d/iVm5gbs . The outer_B_pico_mount_and_power_plug is designed with this plug in mind, but I assume others would work, assuming a roughly similar or smaller size.
I used a Pi Pico W for this project so I could control it over WiFi. I used 20AWG wire to connect individual LEDs together, but also used thicker 12-14AWG wire for the longest “data” wire run to prevent signal degradation. More on this choice and layout in the Assembly section.
These pieces are highly sensitive to first layer artifacts! I highly recommend manually inspecting the first printed layer to ensure consistency across all your pieces, and to prevent wasted/discarded pieces!
I recommend using the .3mf files provided, but in general, all parts are designed to print without supports, 0.2 layer height, 3 walls, 4 top layers, and 0% infill. I also printed mine with 25 mm/s first layer speed, but this was more an abundance of caution than any tested/scientific determination. I didn't spend a long time tweaking the print settings, beyond basic thickness tests for the lithophane/light effect. So YMMV, but the settings mentioned worked great for me.
My MicroPython code to run this installation can be found at https://github.com/denverquane/lotus
License:
Creative Commons — Attribution — Noncommercial