Introduction
Using LED strips as accent lighting for a room has been growing in popularity for quite some time now. Cheap kits from Amazon come with a roll of LEDs, a power supply, and an IR blaster that make it incredibly easy for anyone to add some color to any room in their home. However, these kits are usually quite rudimentary at best. They come with basic strips that can only produce one color at a time and can only be controlled with the included remote or some proprietary app. Some of the more expensive kits work with Alexa/Google Home, but I'm not really interested in setting up an OOTB smart home system. I'd prefer to manage my own hardware, thank-you-very-much! Fortunately for people like me, there are other options available! All of the traditional LED kit components can be purchased and programmed individually, allowing for an entirely custom setup. In the past, this meant buying your own micro-controller, doing some soldering, and building your own firmware, which isn't exactly beginner friendly. And oftentimes you are left with a mess of wires unless you also own a 3D printer.
WLED
That is of course, until WLED came around. WLED is an open-source webserver that can be run on a wifi-capable microcontroller that allows individually-addressable LED strips (often called neopixels) to be controlled over your network! The WLED project also comes with a large variety of interfaces, including all those mentioned above, but at its core, a simple REST API means that anything that can send a web request can control your lights. Aside from the plethora of options for interfacing with your lights, WLED also provides a large effects library that should have you covered when it comes to how you light up your space. And if you need something that there isn't an effect for, you can create your own effects, if you are willing to write the code for it at least. In fact, since WLED is an open-source project, anything about it can be customized to your liking. However, I found that the built in effects were sufficient for my needs. The REST API is what I am most excited about using.
WLED-Enabled Controllers
I'm sure you're thinking, "WLED sounds great and all, but don't I still have to put together my own hardware?" and yes, for quite some time that was the case. However, nowadays, there are loads of controllers on Amazon for sale that come with WLED pre-installed! These controllers allow for a simple plug-and-play experience just like the all-in-one kits mentioned earlier. Well, mostly like the all-in-one kits. You'll still have to bring your own power supply and LED strip, but not having to flash firmware and solder is a big convenience! And I'd like to think that needing to buy everything separately just means that you can get exactly what you want, how you want it, which I'm sure is why you are reading this article.
With the "why" out of the way, let's jump into talking about what exactly you need to get started!
Materials
The hard part about this project is just knowing what to get. There are lots of options out there and not a real definitive buyer's guide. I'll share links to what I used for my LED project, but know that there are other options out there. Regardless of what your project is, you will need a few basic things:
#1 - Controller
The controller is one of the easiest things to find, and I'd suggest picking it first, because it will give you some hints as to what other parts you should get. A simple search on Amazon for "WLED Controller" will come back with a lot of results, but you are going to want something like this: GLEDOPTO ESP32 WLED LED Strip Controller Mic UART. This Controller comes with WLED preloaded and also has a microphone for music-sensitivity and a serial port to allow you to easily update the firmware. However, there are other cheaper versions that don't include those features if you think you won't need them. One of the great things about these controllers is that they can support anything from 5V to 24V strips, and can also power two parallel strips at the same time.
#2 - LEDs
This is probably the most difficult thing to pick. When it comes to options, there are far too many. Here are the ones I went with: BTF-LIGHTING WS2811 IC=RGB+IC Addressable Dream Color LED Strip 16.4FT 30LEDs/m 10Pixels/m. I went with a relatively low-end strip compared to what is out there, but I planned on running about 30ft in serial so I wanted something that wasn't going to draw much current. Fortunately, WLED lists what kind of strips it is compatible with on its main page. And most likely, the controller you select will also let you know what strips are compatible. Just keep a lookout for something like one of the following: (WS2812B, WS2811, SK6812). Here are a few other things to keep in mind when shopping for strips:
- LED Density: Different strips will have different numbers of LED/m. Strips with higher LED/m will be brighter, and have less obvious pixels. They will also draw more power
- Pixel Density: Pixel density and LED density are not the same! A "pixel" is the smallest individually addressable unit. Sometimes, each LED is it's own pixel. But if you are interested in saving some money, strips that have 2-5 LEDs per pixel cost less. However, you will not be able to get incredibly detailed animations as you would with higher pixel density strips.
- RGB(W); Strips come in RGB and RGBW variants. the RGBW LEDs have a separate white diode in addition to the Red, Green, and Blue ones. These strips produce better (less-blue) whites and are more ideal for regular room-lighting (like a lamp)
- 5V/12V/24V: The voltage of your strips is important! Higher voltage strips are less common, but will pull less current than lower voltage equivalents. If you plan on doing a large project, then you will probably want to opt for a bigger voltage.
- Waterproofing: If you plan on implementing your project outside, I'd strongly recommend opting for water-resistant strips. Otherwise, it is not necessary
- COB/traditional: COB strips are somewhat newer and offer better diffusion and pixel-density than your traditional strips.
There are lots of videos on youtube comparing the differences between LED strips that I'd strongly recommend watching:
At the end of the day, there are lots of great options, so don't get overwhelmed trying to find "the best" For your first project, I'm sure you'll be blown away by whatever you decide to use.
#3 - Power Supply
This is a relatively easy one to shop for. Whatever LED strips you purchased will determine what kind of power supply you will need! This is the one I bought: 12 Volt 6 Amp Power Supply Adapter. You'll want to get something that looks like what you'd expect a laptop charger to look like, usually some kind of long cable that plugs into the wall with a brick in the middle and a simple barrel connector at the end. The WLED controllers all expect this barrel-style plug. Aside from that there are two main things to concern yourself with:
- Voltage. It's extremely important that you buy a power supply that provides the voltage your strip expects. A 12V strip will only work with a 12V power supply and a 5V strip will only work with a 5V power supply. If you mix-and-match you will end up frying your LED strip, and potentially start a fire. DO NOT GLOSS OVER THIS STEP!!
- Current. Once you've matched the voltage, you are going to need to get a power supply that can supply sufficient current for your strip. There are some calculators online that can help you determine what you need. As a reference point, my 6A power supply has no troubles powering two of the LED strips I bought in series.
NOTE: If you are using very dense LEDs or a lot of LEDs you may need to get a beefier power supply than what would fit in a laptop charger form-factor. Those exist and can be used as well. You will need to also get some wires to hook them into your controller. You can also inject power in the middle of your strip, but I won't go over how to do that.
#4 - Diffuser Channel (Optional)
A diffuser channel allows you to run your LED lights in a conduit, so they aren't exposed, and they also diffuse the light produced by your strips, which helps to make the pixels blend into each other. I bought this one: hunhun 10-Pack 3.3ft/1Meter V Shape LED Aluminum Channel System with milky Cover, End Caps and Mounting Clips. This is not required, but I would strongly recommend it. It will make mounting easier, it will help cool your LEDs (it serves as nice heat sink) and it will make your project look nicer. If you are using your LED strip to light up a room, then there is really no reason why you shouldn't get Diffuser Channels. As a side benefit, it prevents your room from looking like a high-schooler's bedroom.
Installation
Now that you've gotten all your components, now it's time to install everything! This is probably the easiest part. For a video demonstration of how to do (most) of the following steps, check out this one by Chris Maher.
#1 - Testing the components
Before you starting mounting things, I'd recommend making sure your strip, power supply, and controller are all working. To do this go ahead and plug in your strip into the controller. If you bought the same strip that I did, it should come with a nice connector that you can plug into the controller. The ends of the wires are a bit too short out of the box, so you are going to need to strip off a couple of mm of wire first.
example of plug and wire stripper
Match up the colors for ground, data, and voltage from your strip to the connector, and then plug in your connector into the controller. The controller will clamp down onto the ends of the wires, no soldering required! Once your connector is attached to the controller, you can then plug your controller into the power supply and your strip into the controller. Some lights on the strip should have lit up, but not all of them, we'll now need to configure the controller. NOTE: if your lights haven't come on automatically, it may be because you connected them to the non-default GPIO (most controllers have two). This is fine, continue on and we will configure WLED to output to the correct GPIO in step 2.
controller with everything plugged in
#2 - Configuring the controller
To get the controller set up you'll need a device that can connect to wifi. If you search for available networks you should see one called WLED-AP. This network is being created by the controller. Once you connect, it should bring up a sign-in page. On this page it may ask you for a password. If so, try wled123. The manual that came with your controller should explain how to do this step if you run into any issues. From there you will be presented with a GUI that has a WIFI SETTINGS button.
<picture of WLED ui>
Click that and you will be redirected to a page that will prompt you to connect to your WIFI. Enter your SSID and password, or use the wizard to find the network automatically and connect. Once the controller has connected to your network, (you can verify by seeing the connected devices on your router management page) you can go ahead and reconnect your phone/computer back to your home network and then download the WLED App on your phone. With your phone on your network and the WLED app open click the + button in the top right. you should see a prompt to discover WLED devices on the network. Go ahead and do that and then the information should get populated automatically. Once your device is discovered you can back out and then it should appear in the list on the main menu.
From here we can click on it and be brought to the control panel.
Click config and then LED Preferences. From here, go ahead and enable the brightness limiter, and if you have a 12V strip, you can set the maximum current to 4000 mA. This is the limit of the little connector we use to wire the strip to the controller. See instructions on the page for 5V strips. Also, make sure to set the correct LED voltage on the next dropdown.
Now we can go down to the Hardware setup section and continue setting up our strip. On the LED output 1. go ahead and:
- Set the correct strip type from the dropdown
- Set the correct color-order (should come with the information about your strip
- Set the correct length in pixels (not necessarily the same as the number of LEDs, see the LED section above)
- Select the correct GPIO pin (should be printed on the controller where you plugged in your strip)
Here is what mine looks like:
WLED strip setup menu
Once you've done that you can go ahead and save. Now all the lights on your strip should be lit up and should be the correct color as shown on the Colors page on your WLED app. Now that we have everything configured, turn off the LED strips off if they are still on, as they will get really hot with them still wound in the spool. From here we can go to the next step.
#3 - Mounting
Now it's time to install our controller, power-supply, and strips. This step will obviously depend on where and how you intend to mount everything. The LED strips themselves should have a sticker layer behind some wax paper on the back. Using that you can theoretically mount your strip anywhere. For my case, since I know I'm going to move out in a year or so, I decided to not use any permanent mounting and just use blue sticky tack. Luckily for me I wanted to mount along the baseboards on the floor which have a nice wide, flat, top. So for me, mounting was essentially just setting everything on the baseboard and using a bit of sticky tack to keep it there. That being said, essentially all diffuser channels come with screws, so if you don't plan on taking down anytime soon you can do a much more professional job than what I did. One thing that is important to note, you shouldn't bend/fold your strips at any sharp angles, you may risk damaging the PCB. All of the right angles on my strips were taken very gently (which is easily hidden by the channels).
LED diffuser channel mounted on wall
Final Results
Now that everything is configured and mounted you should be good to turn on your lights! Enjoy the cool patterns that WLED offers, and feel free to explore all the complexities that WLED offers! You can get much more in depth with your configuration than what we went over in this short guide. For more articles on things you can do with WLED, check out the project associated with this one near the top of the page. Best of luck to you in your LED adventure!