Everyone knows that handmade ornaments are better than the store-bought ones. Your parents will cherish those macaroni ornaments you made as a kid until they fall apart. But gluing cotton balls to construction paper when you’re an adult just feels wrong. The solution is, of course, to use the more sophisticated fabrication techniques that you have access to as an adult to make ornaments, blowing away whatever you cobbled together as a kid. Sean Hodgins has been doing exactly that for a few years now. For this Christmas he built an awesome ornament that contains a spinning persistence of vision display.
While they can vary slightly in operation, all persistence of vision (PoV) displays rely on the fact that your silly biological brain is imperfect and doesn’t see the world exactly as it really is. When you watch a video, for example, nothing is actually moving — your brain just stitches a series of still imagines together and tricks itself into think that it is seeing movement. A persistence of vision display fools your brain in a similar way. They typically contain a single one-dimensional line of LEDs that can be modulated very quickly. When those LEDs are spun at a high speed and are blinked on and off at the proper times, your brain sees a solid two-dimensional image or message. The resolution of that image is based on the number of LEDs in one axis, and the speed and precision of the modulation in the other axis.
PoV displays are often oriented as discs or cylinders but Hodgins wanted his to look like a more traditional Christmas tree ornament. To achieve that, he 3D-printed a frame that is spherical on top with a cylindrical base. It looks a bit like a snow globe. The sphere is attached to a slip ring connector which acts as both a mechanical bearing and a way to keep the wires from binding up. The sphere is rotated at roughly 600RPM by a DC motor. That motor and the LEDs are controlled by an ESP32 microcontroller module.
The display is lit by a row of 17 APA102 DotStar individually-addressable RGB LEDs. Those require one more wire than the more popular WS2812B LEDs, but they have a much higher refresh rate so they can keep up with the high speed. A Hall effect sensor is used to detected the rotational position of the sphere and its speed. It can detect 60 “steps” per rotation, or one every six degrees. Each of those steps represents a pixel location in the latitudinal axis. With some clever programming, Hodgins was able to translate low-res 60x17 imagines into LED commands that cause an imagine to appear when the ornament spins! It certainly puts those old toilet paper roll snowmen ornaments to shame.