Lighting my roof with WS2815 LEDs

Mar 6, 2021

Any-Holiday Lights

I recently finished the project you can see looping in the poor quality video above. I installed strip LED lights under the gutter on the roof of my house. I plan to use this for holidays and holiday seasons like Halloween and Christmas.

Each light in the strip is individually addressable, meaning that I can control the color for each light separately from software. This means that I can set up different color schemes for different holidays, all without having to hang up or swap out lights. Purple and orange for Halloween. Red and Green for Christmas, even Red, White and Blue for 4th of July or other shorter holidays.

The strip is also unnoticeable when unlit, even during the day. This means I can leave the lights up year round making my "decorating" as simple as flipping a switch.

The whole system can be turned on / off and the colors or patterns selected from my smart phone. The ultimate in engineered laziness.


If you are interested in implementing something like this, read on. There are actually quite a few good resources on the internet besides this post worth reading too, but I ended up coming up with solutions to several problems that weren't as well discussed on the internet. Reading this may save you some time or at least give you an idea of how to proceed.

First, a parts list for what I ended up using:

Temperature of the screw terminal that came with the power supply after about one minute.

Basic idea: Mains power -> DC Power Supply -> Dig-uno -> LED strip. All housed within the project box or aluminum track.

The LED strip has 2x data lines, and positive / negative lines. The first LED chip recieves a data line signal and displays the first color in the sequence. It then removes the first color in the sequence and sends the truncated signal to the next light and so on. You can cut the strip anywhere and the whole thing keeps working. You can also solder the end of one strip to the start of another strip to lengthen them. The data signal can accomodate any number of lights at the cost of a slower refresh rate. I have 400 LEDs with no problem.

The big advantage of WS2815 is the backup data line. If a single LED dies, the signal gets passed to the next one in the line. Each chip gets a data signal from both the LED 1 before and 2 before. If both signals are present, it uses the 1 before line, otherwise it uses the 2 before line.


The main issue from this setup is voltage drop along the strip of lights. You'll find a lot of information about this issue, but the basic idea is that as the positive/negative lines get longer, they create internal resistance and the voltage between them slowly drops. The consequences of this are that the LEDs get less power further down the strip, which messes up their color. The other issue is that the strips themselves can heat up and potentially melt / catch fire.

According to this manufacturer, each meter of this strip at max brightness uses 7.2W ofpower. I have a 13 meter wide roof, which will theoretically pull as high as 7.2W/m x 13m = 93.6W.

The manufacturer isn't clear on exactly how much power is safe to run through the strip but seemed to suggest that powering one strip from only one side was safe. So 36 W was OK, but maybe not 94W. I tried it anyway for a short time and it actually seemed to work fine, but it did get pretty warm.

As a side note, I originally tried 5V strips instead of 12V. This makes the voltage drop issue much worse. I'll always go straight for a 12V option in the future.

To fix the voltage drop issue, I ran a 18AWG wire pair down the length of the track and soldered it to the strips at the start, 5m point, and 10m point. I also put a 7.5A fuse in the dig-uno so that I know it would trip well before the DC power supply got overloaded in the case of a short. 7.5A x 12V = 90W. In theory, the strip might draw more than this and burn the fuse, but as long as I don't decide to use pure-white at 100% brightness, I should be fine.

The 18AWG cable should only really carry current for the 2nd and 3rd strip in the sequence, so we'd expect it to carry only about 4.5A max. Looking up ampacity tables, a smaller 22 AWG should work too, but if the wiring to the first strip fails, the cable could suddenly start carrying up to the full fused 7.5A, so 18AWG it is. Overkill is underrated.

At each solder connection, I used a layer of the liquid electrical tape, covered in a layer of heat shrink tubing. Inside the aluminum track, this should hopefully hold up against water for a decent amount of time. I also have the luck of a northern facing front porch with a lot of tree shade, so UV shouldn't be too bad either.

Liquid Electrical Tape drying before the heat shrink tubing.

Final Result

Once set up, the WLED controller runs a small web server that I can connect directly to over WiFi. I can schedule times for light displays to turn on and off, select color palettes and interesting patterns, and do all of this without ever having to get on a ladder again!

Update Dec 2021: I've been very happy with this, having run it for all sorts of different holidays. Yes, Halloween and Christmas, but also Valentines, St. Patricks, New Years, 4th of July and Memorial Day. I'm looking forward to hooking the lights up to home automation to illuminate the as I pull into the driveway! So far, it's been almost a year and I have had no problems with the lights running.