Have a Makey Holiday!

When it's time for Santa to deliver presents he relies on his trusty reindeer, but when Makey delivers holiday cheer drones light the way!


Creative Commons Attribution Share Alike

Commercial use is allowed, you must attribute the creator, you may remix this work and the remixed work should be made available under this license.

Learn more or download attribution tags


For the Make: holiday ornament design challenge I decided to combine 3D printing with Makey, drones, a microcontroller and LED pixels for an animated light-up reinterpretation of Rudolph the Red-Nosed Reindeer with modern, maker sensibilities.  Follow along to build your own drone powered sleigh.

Step 1: Print the 3D Parts

Print one each of the ‘Makey Sleigh.stl’, ‘Makey Beard.stl’, and ‘Drone Rudolph.stl’. If you would like additional ‘ReinDrones’ print as many copies as you’d like of ‘Drone Deer4x.stl’ and/or ‘Drone Deer.stl’. For my ornament I printed 1 copy of ‘DroneDeer4x.stl’ and 1 'Rudolph Drone' for a total of 5 drones to pull the sleigh. Finally, head on over to https://www.youmagine.com/designs/maker-faire-robot-action-figure-pip-with-supports-2015-3d-printer-shoot-out-test-models to download the super cool articulated Makey robot model and print one to have a robot pilot for the drone powered sleigh. Don't forget to add the beard to Makey! For the materials I chose to use silver PLA for the Makey robot and translucent-clear PLA for everything else. I chose translucent PLA because models created with it look like they could be made out of ice and when combined with LEDs the models diffuse the light to create a glowing effect. I printed everything with 0.1mm layer height and with no support structures. I included the support structures for the drones in the stl files and so additional support should not be necessary. Please note that for the propellers to successfully print the drones should be positioned on the print bed so that the length of the propellers is parallel to either the x or y-axis of the printer.

Step 2: Assemble the Sleigh

The sleigh prints in 3 parts: the main body and 2 runners. The runners have small tabs that match with holes through the bottom of the sleigh body. To assemble the sleigh first gently press the front tab of one runner through the corresponding hole in the body. When it is inserted all the way pull it back so that the hook of the tab engages the sleigh body. When the front tab is fully engaged gently press the back tab into the recess in the bottom of the sleigh body. Repeat this for the other runner. The tolerance on these parts is pretty tight and the runners should stay snugly in place once set. Any stray filament strands will need to be cleaned for the runners to be inserted.  Finally, tap the 2 holes in the recess under the sleigh seat with a 2-56 tap. These will be used to fasten the microcontroller in place. 

Step 3: Make Makey Jolly

Gently snap the Makey Beard model around Makey’s neck. For me adding the beard had the nice side effect of allowing Makey’s head to be posed and stay put.

Step 4: Clean up the Drones

All of the drones have recesses underneath to allow a 5050 LED soldered to a small breakout board to be snapped into place. Support pegs for the recess were included in the STL file and they should be removed once the print is completed. The propellers of each drone are also supported by integrated pegs during the print. They can be left in place or gently removed. I decided to take the additional step of removing the propellers and re-affixing them in place at random rotations to give the drones some more individual character. A small dab of cyanoacrylate glue worked great.

Step 5: Assemble and Wire the LED Pixels

To light Rudolph the drone and the sleigh I used color APA102 LED pixels. For a good primer on the basics of these chips see https://learn.adafruit.com/adafruit-dotstar-leds. First, solder an APA102 LED pixel to the Adafruit breakout board. This will be the LED that lights up the Rudolph drone. Next cut 4 pieces of the 30 gauge electrical wire that are approximately 20cm in length. Looking at the pinout diagram for the APA102 LED (available here https://www.adafruit.com/images/product-files/2343/APA102C.pdf) solder the 4 lengths of wire to VCC, Ground, Data-In and Clock-In. These wires not only carry power and data to the LED pixel, but also will act as ‘reins’ in the sleigh model. Dividing the 4 lengths of wire into 2 pairs, twist the pairs together to form a sort of ‘rope’. I chose to twist the VCC and Ground wires into one pair and the Clock-In and Data-In into another pair. Snap the APA102/Breakout board unit into the Rudolph drone and feed the 2 pairs of wires through the routing hole in the back of the Rudolph Drone model. If you are using additional reindeer drones, feed one of the wire pairs though half of them and the other wire pair though the other half. Now feed the ‘reins’ though the 2 loops on either side of the sleigh and adjust the spacing of the drones on the reins to your liking.

I included 3 additional APA102 LEDs to light the sleigh as well. To complete the wiring connect the Data-In wire of the LED for Rudolph to the Data-out pin of the last of the 3 LEDs in the sleigh. Similarly, connect the Clock-In line of the Rudolph LED to the Clock-out line of the last sleigh LED. Finally, connect the VCC and Ground lines between the reins and the sleigh LEDs. Since I used 4 white wires for aesthetic purposes it was very helpful during this step to use a multi-meter to verify I was, in fact, connecting the correct lines together.

Last, we need to connect the LEDs to the microcontroller. I used 4 short segments of the 30 gauge wire as ‘jumpers’ between the Trinket 5V and the first of the sleigh LEDs. To power the LEDs I used the ‘USB 5V’ pin on the Trinket rather than the ‘5V’ pin since the former provides as much power to the LEDs as is available by your wall adapter and/or computer USB port. Each LED can draw up to 60 milliamps so 4 of them could overload the ‘5V’ pin, which is only rated for 150 mA.  I used digital pin 0 for the data pin and digital pin 1 for the clock pin. Finally, the ground pin of the Trinket was connected to the ground of the LED string. With everything wired up I inserted the Trinket into the recess below Makey’s seat in the sleigh and I affixed the 3 sleigh LEDs just under where Makey’s feet will go. 

Step 6: Programming the Trinket

Assuming that 4 APA102 LEDs were wired up as described above, loading the included Arduino Sketch onto the Trinket will result in an animated multicolor pattern to be displayed on the sleigh LEDs and will cause the LED in Rudolph the Drone to pulse red like a beacon on a cold wintry night.

A couple things to note – loading sketches onto the Trinket though the Arduino IDE is pretty straightforward, but requires a little bit of setup as described here: https://learn.adafruit.com/introducing-trinket. Also, using the Arduino based bootloader takes ~2.75 KB of memory leaving only about 2.5 KB for your program. After including the APA102 library there was precious little space left. I’m sure my code is not completely optimized, but my program initially didn’t fit in memory and I had to optimize allocations and pair it down to make it fit.

The great thing about APA102s is that they are really easy to program and offer a lot of freedom in colors, patterns and sequences of illumination. I have provided my sketch as a starting point, but it is easy to tweak it to fit your tastes in holiday lights - the APA102s can even approximate white pretty well if colored lights are not your thing.

Step 7: Hang and Enjoy!

I used lightweight monofilament to hang the ornament. There are 3 loops incorporated in the sleigh that allow for a stable 3-point mount and there is one loop in Rudolph the Drone so that the lines of drones can be suspended in a flying formation.

Materials and methods

- Fishing line or other mono-filament
- 3D printed parts (per description below)
- 30 gauge electrical wire (approx. 1 meter)
- 2-56 screws (need 2 roughly 3/8" long)
- Adafruit Trinket 5V microcontroller
- Mini-USB cable and USB wall adapter
- APA102 LED modules (I used 4, but at least one is needed for Rudolph the Drone)
- Adafruit 5050 LED breakout board
- Soldering Iron & supplies
- Cyanoacrylate (Super) glue



Issues are used to track todos, bugs or requests. To get started, you could create an issue.


Ee76607583b09c7ed3ad47c43dc4df0b?default=blank&size=40Jason Lappas added this to the Toys collection ago
09dcb9366b7ff3642345ba237400b420?default=blank&size=40Joswags added this to the Make this collection ago
14906badbee412f70ea225e800e249f4?default=blank&size=40laax published this design ago