Using Eufy Permanent Outdoor Lights with WLED
For as long as I've known her, my wife has been very into decorating for the holidays. She loves it. The traditions, the cherished ornaments, the stockings on the wall, etc etc.
I'm ok with decorating. It's fine. It's not my favorite thing.
The one thing I don't like at all, though, is putting up outdoor lights. Getting up on the roof at our previous house was a complete nightmare that I absolutely refused to do, so we just strung some lights around the porch and called it good.
After moving into our current house I had the idea that I would install "permanent" outdoor lights, but then I was worried that I would need to take them down when we got the roof and gutter replaced at some point so I kept deferring.
This year, though, an internet friend mentioned Eufy Permanent Outdoor Lights.
These are in the style of the permanent outdoor lights that Govee has been distributing for a few years now, with a couple important distinctions:
- They are RGBW, meaning they have a whole separate white LED along with the RGB LED. I can't stand the cool white that standard RGB's try to synthesize, especially for holiday decorations.
- They (at the time) were only $200 per 100 foot section. I would need two, so cheaper is better.
- The light strings are supported by WLED.
That last bit was the most interesting part. Over the years I've gotten more curmudgeonly about IoT devices, and at this point I'll only buy cloud-controlled IoT devices if they're super compelling or let me host the controller myself somehow.
After reading that article by Robert at The Hook Up I was convinced that the Eufy lights were the thing to get, and I was further convinced that I definitely didn't want to run the stock controllers past testing the light strings.
Parts
The bounding box for my house is a rectangle that's roughly 150 feet by 25 feet, so I knew I would need two 100ft light kits. I also wanted an off the shelf WLED controller and a power supply that I wouldn't have to worry about if I stuck it to the wall in my garage.
One interesting wrinkle about the Eufy light strings is that they're 36 volt, rather than the more common 5 or 12 volt strings. As far as I can tell the chips don't come in a 36 volt part so Eufy must have a buck converter built into each puck.
Anyway, after a bunch of trial and error, here's my shopping list (Amazon links, but not no affiliate links):
- 2x Eufy Permanent Light Kit (I used coupon code
EUFYLIGHT
but I have no idea if that still works). - 1x Ericsity WLED LED Light Strip Controller
- 1x ALITOVE 36V Power Supply 4A (each stock power supply is 1.5A so I figured this would be good enough)
- 1x SUPERNIGHT LED Pixel Strip Amplifier
- 1x 36V to 12V buck converter
Installation
Each light puck has a 3M sticky pad pre-applied, but Eufy says in plain language that those are just to temporarily hold the pucks in place while you secure them with real screws. I knew going into this that I didn't actually want a truly permanent install, so screws were a no go.
Instead, I 3D printed a bunch (way too many) of this little mounting bracket and used small 3M outdoor command strips to stick them to the soffit. The outdoor Command Strip variant is reliable down to -20°F which seems reasonable for my part of Michigan, and so far they've held up well.
The controller is pretty boring. It consists entirely of an Espressif ESP8266 (4MB flash version) microcontroller running WLED and a tiny bit of power regulation. The input power rails are connected directly to the light strips with no fuses or anything and the 3.3V data outputs are weakly level shifted up to 5V.
At first I tried hooking the light strips directly to the controller but any time I tried to do anything other than turning the white channel on the lights freaked out. After watching a couple YouTube videos the symptom seemed to match with the data line experiencing some voltage drop prior to getting to the first LED puck.
I wanted to have the controller and power supply inside my garage and just run 18awg thermostat wire out an existing hole in the outside wall to the light strips, along with using half of the extension that the kits came with. This added a good 8 feet of wire between the controller and the first puck, which I guess is just too much. After adding the amplifier that symptom went away and they've been reliably running ever since.
In addition to adding the amplifier I added a buck converter to bring the voltage for the controller and amplifier down to 12V. The controller seemed to be happy running at 36V but I didn't really want it to blow up and have to re-engineer everything while the garage is super cold.
I had a Unifi Flex Utility box laying around from when I was using Unifi switches more extensively, so I broke all the interior plastic out of it and used regular Command Strips to mount the components.
Software
The controller shipped with WLED 0.14.0-b3 which worked fine, but I went ahead and upgraded it to 0.14.0 which must have been released sometime after manufacturing.
For a bit I tried messing with esphome but the built-in effects in WLED are just really good, and being able to configure things on-device rather than recompiling the firmware is pretty compelling. I might try esphome again at some point.
I also tried using Home Assistant to control WLED but for some reason the combination of this board, this version of WLED, and the current version of Home Assistant results in HA being way too chatty with the controller and causing random reboots. At first I thought it was the power supply but no, turns out it's a known issue with the HA integration.
The Eufy strings need these WLED settings:
- LED type: SK6812 RGBW
- Color order: BRG, swap W & G
- Auto-calculate white channel from RGB: Accurate
Caveats
There are a couple things I would do differently if I were to do this project again.
- I would get a bigger power supply. With the 4A brick I bought, if I try to run both the color and white channels at full brightness the controller senses a brownout and restarts. A Mean Well 36V 10A power supply with screw terminals is not that much more expensive than the brick would give a ton more headroom for brightness.
- I would use different controller, either a QuinLED or something similar with an ESP32. The ESP32 has fewer weird limitations than the ESP8266 and seems to be more reliable, and the QuinLED controllers have all of the level shifting and boosting built in so I (probably) wouldn't have to have the separate amp. The QuinLED boards also can have more output channels.
I don't think I'm going to rebuild this controller setup any time soon, but I might add more strings to wrap around the back of the house and would probably build a separate controller for it.