Its that time of year again! I'm referring to of course, the time that I build an overly complicated and heavy Christmas ornament that may or may not be able to actually fit on a Christmas tree! Watch the build video above!
Its no secret that I am a fan of making open source electronic Christmas ornaments. I am also a fan of persistence of vision displays. So, I figured this year, why not combine the two things. I started with a simple sketch. The idea was to make a mount for the display that is about the same diameter of the Christmas ornaments on my tree, and to make it a hollow ring so its "invisible" to your eye when its spinning. This will also reduce the weight and load on the motor. I opened up Fusion 360 and started CADing.
At the heart of the design is something called a slip ring. They're a really cool device that allows the continuous rotation of one side of a set of wires to the other. This is what will allow me to spin the LEDs at a high speed while passing voltage and the control signals to them. On one side of the connector I have added a JST connector to connect directly to the board, on the other side they are directly soldered to the LED strip.
To couple the DC motor to the spinning LED strip assembly, I used a rubber oring. They are a good solution for belts in small devices like this. I decided to put my lathe and milling machine to use and make a couple of pulleys out of Aluminum. You can probably get away with just 3D printing them. STL files below.
The circuit board consists of an ESP32, some circuitry to program it, a MOSFET to control the DC motor and an APA102 LED to act as a sacrificial LED. The barrel jack faces out the top in anticipation of hanging it on a Christmas tree! Assembly is straight forward. A few design changes along the way forced me to wire the motor externally (theres always something!).
The assembled Persistence of Vision Christmas Ornament!
Time to mount it on the tree! I laser cut a small plate and used some spacers to offset it from the PCB. This worked well at keeping the pine needles off of the board. Surprisingly it was light enough to hang nicely on the tree.
Now it was just time to program it and put on a light show! In the video I talk about the firmware and how to make images to display on it. So check it out. It can display a simple 60x17 pixel image around the sphere.
Since its an ESP32 and connect to my wifi, I set it up to display an upvote every time this Reddit thread was upvoted! Check out the livestream. I had to fix it a few times during the stream, but it was fun. In the end the motor start sounding funny, so I turned it off.
All in all I'm very pleased with how this project turned out. I may revisit it to make it a little better and smaller, and have it be a permanent ornament on the tree! If you want to try and recreate this project, visit the GitHub link below. It should have all of the resources needed to build one.
If you enjoy my open source projects, they are directly funded by my patrons on Patreon, and I wouldn't be able to do it without them. If you think I deserve it consider becoming a patron.
The second best place to support me is to become a subscriber to my Youtube channel, click the bell notification, and like and share my videos. Click below to subscribe.
Comments