This is a beautiful mood light based on a RGB LED strip and a ESP8266 as controller.
The shade is a remix of Wave Lamp Yeah! by brico3d. It has been scaled to 140% and oriented upside down for printing. The shade is 196mm high - be sure it fits your printer's build volume.
Print it in white or even translucent PLA.
The model has been adjusted in Meshmixer to be solid. You need to print this in Spiral Vase Mode! This will print the outside parameter only. I printed it in 0.2mm resolution.
I highly recommend to adjust the bottom layer thickness to 8 bottom perimeters. The bottom layer will end up being the top where we want to install the button.
The WLED software (see below) supports a single push button. I opted for a simple silver one with a 19mm base (AliExpress). Since we can't create holes while printing in vase mode, the hole for the button needs to be drilled after printing.
Start with a tiny drill and increase drill sizes bit by bit until you reach the wanted size. Drill slowly to avoid melting the PLA.
The button is screwed in using a 22mm nut from inside the lamp shade. It's extremely difficult to reach into there (unless you have tiny hands). For that reason I included a simple tool for screwing the nut on. Print the two parts and stick them together (may need some slight sanding and force).
Because the button cables tended to not slide into the LED holder but crumpled up at the top, I printed a small "stick" and used some shrink wrap to make the cables a bit more rigid at the top.
This is a remix of the design by thomasDOTwtf which is a remix of jc_x_c ' design. I changed it so it does not need any supports.
I printed it with 0.32mm layer height. Since it will be hidden it does not need to be super detailed.
With a 60LED/m WS2812B strip (AliExpress) you will be able to fit about 32 LEDs on the holder. A 2A USB charger should be able to power that just fine.
Use superglue to give the ends of the strip some extra hold in addition to the tape on the back.
The holder should fit well into the base. You can optionally screw it in for more hold but I didn't need that in the end.
The base is a complete redesign inspired by Base and Strip Holder for Wave lamp Yeah!. A NodeMCU (AliExpress) can be screwed into the bottom.
The base features 4 cavities that can optionally be filled with 6mm steel balls to give the base some weight. Shake the base while filling. The holder is placed on top and will close the holes.
Print it with 0.2mm layer height and 10% infill. No supports should be needed.
Flash the excellent WLED on the NodeMCU.
Connect the LED strip to Vin, Ground and GPIO2 (marked D4 on the NodeMCU). Connect the button to Ground and GPIO0 (marked D3).
Set it up following the guide.
The sources for all files are available at Tinkercad: