Embedded LED 3D Printed Christmas Tree

Embedding addressable RGB LEDs (WS2812/Neopixel) in a 3D printed Christmas tree to have a nice diffusion effect.

Similar projects worth following

My first project experimenting with embedding adressable LEDs in 3D prints. Using transparent filament as a diffusor. 3D print is divided in 4 stages to make the assembling and printing process easier. 

Driven by a Adafruit Trinket M0 and powered by a single cell Li-Ion. Coded in CircuitPython.

Files are available at

  • 1 × Adafruit Trinket M0
  • 25 × WS2812B LEDs

  • Wiring

    makeTVee12/16/2019 at 18:02 0 comments

    In every stage, LEDs are simply wired as a chain and first DIN and last DOU are wired to the inner regiontogether with V+ and GND for later contacting.

    The stages are then connected to a 25 LED LED stripe by connection DOUT of the first stage to DIN of the next stage and so on. The tree topper LED is the last one in this chain. V+ and GND connected to every stage. The LEDs are now connected to only one pin of the microcontroller.

  • Embedding LEDs

    makeTVee12/09/2019 at 06:06 0 comments

    WS2812 LEDs are wired for every stage first. During the printing process, a color change at 5 mm halts the printer and the LEDs can be putted inside the holes of the print. also the cables were placed in the channels. 

    The following picture shows the cabling from a test piece, I did during concept development:

    After putting the LEDs inside and changing the filament, the LEDs are "overprinted":

    This procedure is done for all four stages. 

View all 2 project logs

Enjoy this project?



Thunder1723 wrote 11/29/2022 at 06:37 point

Would I be able to throw in a charging circuit without risk of damage to anything?  The adafruit

USB LiIon/LiPoly charger - v2 looks like it would work no problem.  Obviously I would need to design a base of my own but that is no problem.

  Are you sure? yes | no

Ryan Erickson wrote 12/27/2019 at 19:32 point

Mine didn't come out quite right, since I used WS2812's that already were attached to circular circuit boards, and for some reason, my top layer stopped working when I soldered in the bottom layer.

Beautiful design, and it was a fun build, I may have to make a 'working' one for next Christmas, now that I know better how!


  Are you sure? yes | no

makeTVee wrote 12/27/2019 at 20:46 point

Thanks for sharing the picture! Is your top layer still connected? It's strange that the topper LED is working but not the 6 LEDs in the top layer, because normally the topper LED is connected to the top LED DOUT. Or did you removed it from the chain?

  Are you sure? yes | no

Ryan Erickson wrote 12/27/2019 at 23:00 point

You caught me!!!  :)

I cheated...

Before putting the bottom most layer on, I noticed 3 LEDs out (2 in the top layer + the topper), the last 2 before the topper (worked fine before assembly).

I rewired the topper (as it was accessible) to come on the same as the first LED.

That would've been OK, since you'd be able to see it from 'the front', and it'd look fine, but once I put the bottom layer on, I lost the entire top layer (minus the topper).

I think my wires connecting between layers was too fine, and either got broken, or pressed into the GND or +V contacts on the board due to the tighter clearances.  I'd tried to compensate by making the 'white layer' taller and the holes for LEDS larger, but it was a hack job.

It was ill-advised to try and use the 'module'-form LEDs in any case.

It's still a a great design, and was a fun diversion.

Thanks again!

  Are you sure? yes | no

Dillon Nichols wrote 12/19/2019 at 13:17 point

This is such a smart idea and beautifully executed. I printed a fully transparent tree a few years ago that I lit from the bottom and I've used this layer/color change method for other projects but I never though about combining them. Embedding the electronics is next level too. Well done

  Are you sure? yes | no

Maximilian Laurenz wrote 12/19/2019 at 12:18 point

Very good example for embedding electronics in 3D prints. I like it :)

  Are you sure? yes | no

Barkfin wrote 12/18/2019 at 18:04 point

That's a pretty smart idea. I just started to have an issue that is similar, my 3d printer spontaneously quit working a couple times half-way through a print. But I figured out a way to edit the g-code file to delete all the layers that had already been printed, upload the edit; and use that to successfully restart & complete the print.

You could use this technique to embed any part, like nuts or bolts, or complete circuit boards, or whatever!

  Are you sure? yes | no

steve wrote 12/18/2019 at 17:57 point

Unbearably cool!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates