Christmas Ornament That 3D Prints Christmas Ornaments




About: I'm a content creator. I make open source projects and videos for said projects. My goal is to create free and open knowledge for everyone.

Every year I try to one up myself on how crazy of a Christmas ornament I can create. Last year it was a Christmas ornament that could play 90s christmas commercials. This year I had a crazy idea, what if I could build a Christmas ornament that could 3D print smaller Christmas ornaments. I had two weeks to design, print, build, and get it working! It actually prints! Amazing. The ornament is open source, and here is the process to building one. This is a highly customized piece, and explaining may be difficult, but it should get you started if you want to try and build your own. Its not simple!

Step 1: Watch the Video!

In the video I explain how the whole system works, show you some prints, and show you how to build it.

Step 2: Parts and Tools

You're going to need a 3D printer for this (funny because you're building a 3D printer), and also some knowledge in soldering surface mount components and electronics.


  • Adafruit Feather M0 Datalogger (Adafruit)
  • 240 x 240 1.5" LCD (Adafruit)
  • Motor Driver TN (Adafruit)
  • Linear Stepper Motor removed from a DVD Drive (I don't remember the specific brand for mine)
  • Custom UV LED Board with LCD Connection - GitHub or PCBWay
  • BOM for PCB - FindChips
  • A ton of jumpers. - depending on your needs.
  • Plastic Threading Screws - M3.63 - M1.91
  • SD Card
  • 3D Printer Resin
  • Small Piece of Aluminum
  • Clear Paper Separators
  • Button connected to headers


  • 3D Printer
  • Soldering Iron
  • Screwdrivers
  • Arduino IDE
  • Drill

Step 3: 3D Print the Files

Grab all of the files from Thingiverse, and start printing. This will take awhile, and there are some options here.

To get started, you need to print:

  • Ornament Ball Bottom
  • Ornament Ball Top
  • LCD Mount
  • CD Mount
  • Print Arm
  • Resin Cup Lower
  • Resin Cup Upper
  • Bed Support

The "CD Mount" will likely need to be customized to fit whatever DVD stepper motor you're using. You would have to be very lucky to find the exact one I am using(I can't even find a manufacturer part number!)

Step 4: Assemble the UV PCB

This board will mount under the LCD screen, on the "LCD Mount" 3D print facing up.

Step 5: Remove Backlight From LCD

These are super fragile, so good luck! Carefully peel the backlight away from the LCD, you'll see it coming off. I usually just snip the LED connection on the panel. The LCD should now have a mirror back.

Step 6: Solder Wires to the Stepper Motor.

Whatever stepper motor you're using(need to be bi-polar), you need to have some way to connect it to the motor driver, so I had to solder small wires to the 4 pins of the stepper motor. I used two different colours to show each coil inside.

Step 7: Wire Up Everything and Test!

If you go through the Arduino code, everything is defined where you need to connect each wire.

4 Motor Driver Wires, 2 UV LED Switches(on the UV LED Board), SPI Connection for the LCD. They are all labeled on the PCB.

You will also need to connect a button to ground and Pin 6 on the Arduino.

Also read about the motor driver on Adafruit to know how to get it working:

Step 8: Assemble the Resin Cup

Take the "lower resin cup" and "upper resin cup" prints, and cut out a piece of the paper separator, slide the two 3D prints with the separator is forced between them, this is where the resin will be held.

Step 9: Assemble the Christmas Ornament

Now that you have it working, start piecing everything together. Now this was designed very quickly, so you may want to change things to suit your own version.

I left the support material on the bottom of the lower Christmas ornament ball, that way it would still sit flat on the table. Start by adding the LCD Mount to the lower ball and managing the wires appropriately, they will go under the CD Mount. Screw it down.Screw down the CD Mount making sure the wires don't get in the way of the Motor.

You're going to have a fun time fitting everything. I ran out of time otherwise I would have made a custom PCB for the back, thats what happens when you only give yourself 2 weeks!

Step 10: Add the Images to the SD Card and Upload to Arduino

This is a bit of a process, best learned from the Youtube video I posted. Basically I use the Program NanoDLP to slice the Christmas Ornament STL files into PNG images, then I convert the PNG images to 24-bit BMP.

Place each individual print in a separate folder on the SD Card. In order to select each individual print you will have to change the name of the print in the Arduino Code.

Step 11: Aluminum on Print Arm

In order to get the prints to start I had to glue a piece of aluminum on the bottom of the the print support. I used super glue to just stick it on, its still working well.

Drilling holes in the bottom helps the resin flow in and out as it raises and lowers, which reduces the force required on the motor.

Step 12: Start a Print

In order to start a print you need to add a small amount of resin to the resin cup(so it won't overflow when its lowered), lower the print arm into the resin, and press the button, the arm will force itself lower, then raise up a little.

The method of positioning the arm is rather crude, since there are no limit switchs, it just lowers the arm until the motor stops, then it raises the arm slightly. The first layer will run the UV for 2 minutes, then the consecutive layers will all print for 1 minute. Each time a print finishes the arm attemps to raise up 100 steps, then lower back down until it hits the bottom layer.

Step 13: It Actually Works.

I will be honest. I'm writing this on Christmas eve, and I didn't think it was actually going to work. I was still going to publish a video, but the fact it can actually print things?! Amazing!

Step 14: Prints on the Tree!

Step 15: Support These Projects!

This project is completely open source. That means you can take all of the resources I have provided, and build your own, no cost necessary!

If you would like to support me and my efforts, consider subscribing to my YouTube:

and if you can spare it and think I have earned it, consider becoming a Patron on Patreon. They directly support these project and I can't thank them enough!

Holiday Decor

First Prize in the
Holiday Decor



    • Warm and Fuzzy Contest

      Warm and Fuzzy Contest
    • Remix Contest

      Remix Contest
    • Build a Tool Contest

      Build a Tool Contest

    31 Discussions


    9 days ago

    Great job, u definitely earned first place


    16 days ago

    This is...insane. Mad Scientist insanity. When I saw the preview and the title I thought it was click bait. Then to find out you did a DLP/SLA resin style printer inside of the FDM, and you hadn't even seen a resin printer and STILL pulled it off....I could see your excitement in the video....absolutely amazing. Subscribed, liked, and will be following. I also checked out the tv you made a year ago, and that was a sweet project as well. It was neat though to see how far you'd come with editing and filming. Keep up the great work!


    5 weeks ago

    Good job, voted already.


    5 weeks ago

    Awesome Christmas ornament!


    6 weeks ago

    That printing method is actually DLP. SLA uses a laser to draw in the resin like an FDM printer would and gives amazing quality. DLP is the best choice for this project though because you dont need as much space to house the components and the project is still great. This was very well done. I would love to find and higher res screen for it. I would also love to watch like 4 of these all printing on a tree.

    2 replies

    Reply 6 weeks ago

    That is not true. Look up lithography, has nothing to do with lasers, even the stereo kind, ;). The community has adopted the term SLA for the laser type because it was initially the most popular. However, Stereolithography just means a 3D lithograph (which I take to mean several layers of lithographs). Lithographs are just prints that are created by limiting where the ink is allowed to go. This includes masking. I like the term MSLA Printer, as in Masking Stereolithographic Printer, but maybe that means we should call the Laser version LSLA printers. DLP is different as "Digital Light Processing", as the name implies, actually controls and modifies the light with tiny mirrors. They call some DLP Printers because often they use a DLP Projector to shine into the resin. But this isn't one. Anyway, enough of my rambling.


    Reply 6 weeks ago

    Ya, a lot of the articles that I have read aren't very clear and which is which. My understanding after looking at them again still leaves questions but DLP only ever refers to using a screen and UV projection whereas SLA is its own thing as well as inclusive of DLP. Either way I usually just refer to them as resin printers and everyone gets the idea.


    6 weeks ago

    Whoa! I really like your editing style. Straight to the point, skipping the boring technical info, cut-cut-cut with b-roll to keep my attention.


    7 weeks ago

    Well if that isn't the CUTEST THING EVER

    Fantastic project :D

    1 reply

    Reply 6 weeks ago

    Thanks! - It looks pretty funny just sitting on the tree opening and closing.


    7 weeks ago

    This is one of the BEST projects I've ever seen. I'm glad you will continue with this project. Keep it up, I'm waiting for future improvements and updates.

    1 reply

    Reply 6 weeks ago

    I will be starting those very soon. Update will basically be an entire new printer though, non ornament shaped.


    7 weeks ago

    you build everything in 1 go? crazy

    1 reply

    Reply 7 weeks ago

    Absolutely outstanding, very speechless! I voted!


    7 weeks ago

    Very clever and original ... this must be the smallest 3d printer around :) Great work... voted!

    1 reply