Introduction: A Christmas Star With Programmable LEDs

About: Retired electronics engineer. Favorite pastimes: bicycling, photography, attempting simple Arduino projects, VERY amateur woodworking.

I wanted something different for my outdoor Christmas display this year, so I decided to buy a string of RGB programmable LEDs (sometimes called neopixel LEDs) and create a Christmas Star. These LEDS can individually programmed for color and brightness with only one control wire.

Step 1: Material

WS2811 diffused digital RGB LED string (5V)

Arduino board (there are MANY sources)

FastLED Arduino library

+5V DC Power supply (500 ma or greater—could be a “wall wart type”)

Power splitter cable

3-wire power/control cable

3-pin JST SM male connector assembly

Heat shrink tubing (3 pieces 3/16 diameter, 1 inch long)

Waterproof plastic box

2’ x 2’ x ¼” plywood

2’ x 2’ piece of cardboard (optional)

Exterior paint

Clear packaging tape (or clear GorillaTM tape)

Scrap wood for electronics shelf (optional)

Wood glue (optional)

¼” braided rope (optional)

Parcord (optional)

CommandTM Outdoor Light Clips (optional - I found them at Walmart)

Tent stakes (optional)

Step 2: Tools

Computer to program Arduino

Power drill or drill press

12 mm drill bit

Fine-tooth wood saw (I used a jig saw)

Heat gun, lighter or matches for shrink tubing

Awl or icepick


Electric sander (optional)

Step 3: Star Build Process

I wanted my star to fit on a 24-inch square piece of plywood, so I wanted the widest dimension to be no greater than 24 inches. The top angle of the tip triangle is 36°. The other two angles are 72°.

I wanted the light pattern in the star to be as large as possible, so I planned to not have the points of the star come to a complete apex. Each leg of a star is identical, so I calculated the dimensions of one leg as shown in the drawing here.

I then printed out five copies of the pattern and proceeded to layout the star on the cardboard.

Since my LED string has 50 LEDs, I needed five per leg evenly spaced. The length of one leg (from the drawing) is 8.125 inches ÷ 5 = 1.625 inches (1-5/8”). Since I had the star point drawn in Visio, I marked each LED location on the Visio pattern to avoid having to measure on the cardboard layout. Click the link at the end of this section for a full-size star point pattern. NOTE: If the printed pattern doesn’t measure as indicated, you may have to adjust your printer’s margin settings. I set mine for 0.15 inches on all sides.

Next, I taped the cardboard on top of the plywood piece and punched an awl through the cardboard into the plywood at each LED location. I had to use quite a bit of pressure to get deep enough marks in the plywood to be able to see them (perhaps because my awl needs sharpening).

Of course you can bypass the cardboard pattern and do the layout directly on the plywood if you are comfortable with the process and confident that you won’t destroy a perfectly good piece of plywood.

I removed the cardboard template and measured perpendicular about ¾-inch from the LED drill line all the way around the star to get my cutout line. Note: The cut line in the photo is shown on the cardboard because by the time I decided to make this Instructable, I had already completed the star.

After I cut out the star, I sanded all the surfaces and applied two coats of acrylic exterior primer and two finish coats of acrylic exterior house paint. I painted before drilling the holes to avoid getting paint inside the holes.

I drilled the holes for the LEDs at each location I had marked using a 12 mm drill bit, but the holes were slightly undersized, so I had to go back and “wallow out” each hole by angling the drill bit in a circular fashion. It may be that a ½” drill bit would be the perfect size. I advise you to try that on a scrap piece of wood and see how well it works. The LEDs must be a fairly snug fit in the plywood to prevent them from falling out. After drilling, I went back with a small brush and painted places where the drill bit tore the plywood. Even though I drilled with a backup, I still got some tearing.

You can see in the introduction photo that the points on my star are not all identical. That’s due to a slight error in measuring and calculating the star size, but it really makes no difference. No one has ever mentioned it and of course it’s not visible at night.

I added small pieces of 3/8” thick solid wood to the down-pointing points of the star so I could add some screw eyes to allow me to anchor the star to keep it from blowing around since I live in Oklahoma where the “wind comes sweeping down the plain”.

I suspended my star between two large trees in my front yard. I attached two 3M CommandTM Outdoor Light Clips to the back of the star and looped them over a ¼” rope I strung up between the trees.

I anchored the down-pointing tips of the star to the ground using tent stakes and paracord. I considered mounting the star in the gable over my garage, but mounting the electronics box in that location was problematic for me.

Step 4: Programming the LEDs

Any micro controller could be used to control the LEDs, but I’ve been playing around with Arduino for a couple years so I went that route. I’m a retired electronics engineer, but not much of a programmer, so I was thrilled to find the FastLED library, which makes programming the LEDs a breeze. AdaFruit also has a similar library, but I was already into FastLED before I discovered that. Therefor I have no opinion on which library is better.

I considered various light pattern ideas, but decided on a simple fade-in/fade-out with color changes on each cycle for my star. I found that in the dark, the LEDs were too bright for the effect I wanted, so I set the maximum brightness level at 36. LEDs are VERY bright when viewed directly, as they are positioned in this project.

If you are unfamiliar with the Arduino micro-controller, there are some very informative Instructables for beginners. I would advise that you check them out and get familiar with Arduino programming before attempt a project like this. Just search the Instructable website for Arduino.

Click the link below for the Arduino sketch I wrote for my star.

Step 5: ​Powering the Arduino and LEDs

I already had a 10A, +5V DC power supply. That’s way overkill for this project, but why buy another power supply? I used the power splitter cable in the parts list to get power to both the LED string and the Arduino board from the supply. NOTE: The LED strings come in both 5V and 12V varieties. If you choose the 12V LEDs, you will need to either use a separate power supply for the Arduino board, or use a DC-DC step-down voltage converter (or for those more experienced in electronics, a linear regulator) to reduce the Arduino supply voltage to 5V to 9V DC.

For the power and control wiring in the final installation, I used 3-conductor “thermostat wire” I found at Lowe’s. Two wires for power and one wire for the control signal. Isn’t it amazing that the color and brightness of 50 LEDs can be controlled by ONE wire?! As an electronics engineer, I fully understand how it works, but I am still VERY impressed.

The power/control wire has to be terminated with a 3-pin JST terminal. I soldered the terminal assembly wires to the 3-conductor cable wires and covered the splices with heat-shrink tubing. Electrical tape would work in a pinch, but it doesn’t weather well. I avoid it when possible.

Step 6: Protecting the Electronics

Of course the Arduino board and the power supply are not weatherproof, so they have to be protected. I used a “disposable” plastic food storage box. To support the box, I built a small shelf, which I also painted as described for the star, and screwed it to one of the trees. I drilled a hole on the side of the box near the bottom. I then cut a slit from the hole to the top of the box to slide the wires down to the hole. After the wires were in place, I used clear tape inside and outside of the box to seal the slit. The hole itself doesn’t have to be completely sealed if you observe the following note.

NOTE: The opening for the power cord and power/control wire to the LEDs must be positioned so that water will not find its way into the box. Put the hole in the bottom of the box and form a loop with the wires so water on the wires will drip off rather than following the wire into the box.

I ran the power/control wire from the box to the star along the ¼” rope from which the star was suspended, using zip ties to secure the wire to the rope.

Step 7: See It in Action

Here's a video of my star when it was totally dark outside. I like the calm effect of the fading colors.