The first step in taking the Arduino-based ‘ambilight’ from concept to completion is to modify the LED strip so it fits nicely around the monitor.  Like most addressable LEDs, the 5m roll I’m using has cut lines where you can trim it.  Because each pixel is its own self-contained circuit, you can arrange them in any shape or number you can think of so long as you connect the three wires: power, ground, and data.

This post is part of a series on creating a DIY ambilight using Adalight and WS2812B LEDs. Check out the project page here.

To start I disconnected the monitor and laid it face-down on a soft towel.  I unrolled part of my WS2812B strip and started measuring.  The plan is to leave about a half inch between the LEDs and the monitor edge, to account for wires and light spill.  The easiest way to arrange the strips is end-to-end, leaving a gap in the corners for the wires.  I wanted an LED in the corner, so I took the slightly more difficult path of having the edges butt up against each-other with the side strips as the primaries.

Adalight Strip Corner Overlap

On my 24″ monitor, I’m using 7 LEDs on each side of the bottom edge, 18 LEDs on each side (including the corners), and a single 30 LED strip along the top.  This gives me a nice round number of 80 total LEDs.  (In hindsight I probably should have used one fewer LED for each of the bottom strips and then added an anchor for strain relief on the cables.  More on that later.)

Once I had all of my strips cut, the next step was to take off the waterproof sheathing.  The roll I ordered uses IP67 waterproofing, where the LED strip is encased in a silicone tube.  I didn’t need the waterproofing for this project, but it’s easy to remove and the price was the same.  I wouldn’t recommend keeping the waterproofing regardless – the silicone makes the strip difficult to mount, blocks some of the light output, and prevents the strips from staying flat.  The strip is loosely sitting inside the sheathing, so a firm pull is all you need to separate them.  I ended up cutting off the first pixel with the sealed end because the sealant would be difficult to remove and I would have to re-solder the ends to remove the power leads anyways.

Before soldering, make absolutely sure the data direction is correct.  For my setup the data direction runs counter-clockwise when viewing from the front, which is the same direction the default Prismatik config goes.  Here’s a trick for soldering: only the data wire has to be in-line!  Both the power and ground wires can run from anywhere on the strip.  In fact: if you’re running a long strip, it’s best to apply power to various points along the strip to prevent voltage drops.  To avoid overlaps, I ran the power wire to the next row over and the ground wire from the previous row on the source strip.

Adalight Completed StripAfter each segment was soldered I tested the setup using an Uno and a FastLED test sketch to make sure the connections were solid.  In my research I also discovered that the 3-pin JST connectors that are sold with all of these strips are only rated to handle a maximum of 3 amps (!!!).  For a 5m strip that can use up to 18 amps at full brightness, that’s a scary thought.  For this small 80 pixel setup, the max load it will ever see is 5 amps (80 pixels * 3 diodes per pixel * 20 mA), and after calibration it’s likely to never be close to that.  Still, it’s better to err on the safe side so I put a second JST connector on the end of strip for power.  Make sure you are using a power supply that can handle the load,  you cannot run these LEDs at full power using the Arduino or USB power.  Don’t break things, use an adequate 5V power supply.  I’m using this 10A power supply, which is a little overkill for this project.

Once everything has been cut and soldered, it’s time to attach the LEDs to the monitor. I used some 10mm 3M tape with 300LSE acrylic adhesive which holds great and shouldn’t be too difficult to remove if I ever need to replace the LEDs.

And just like that, we’re up and running!

Next up: Part 3 – PC Software Options for Adalight

17 Comments

    1. The LED strand is composed of WS2812B addressable LEDs. The “Data In” line of the LED strip is connected through a 470 Ω resistor to one of the Arduino’s I/O pins. The resistor isn’t strictly necessary, but it helps prevent the strip from drawing too much current through the pin.

      Dave
  1. Hi, I have the same configuration as you. A 24″ screen with 80 LEDs. I have bought a 5V 4 Amps power supply. Do you think it will run correctly?

    Thanks in advance

    Pablo
  2. Hi Dave,

    thank you so much for this great tutorial!

    Do you know whether the 3 amp maximum also applies to 4-pin JST connectors? (I’m using WS2801.)

    In my setup, there will only be 1.5 meters worth of strip. I’m still planning to supply power from both ends. I’m a little confused though because there are additional cables for power and ground attached to the beginning of the strip and the power cable is a little thicker than the others. Ideally, I would like to get along exclusively with the two JST connectors.

    Jean
    1. Hey there!

      I don’t know for sure, but I’d imagine that it does. You should look up the datasheet if you want to know definitively.

      The extra power cables are there for exactly that reason – the JST connection is not rated for the power requirements of the full strip. You can tape those wires off if you’re not going to use them, just so long as you’re within the power limits of the JST connectors.

      Dave
      1. Hm, that’s what I was assuming. On the other hand, the strip uses 10 watts per meter, or two 2 amps. I checked the datasheet and the rating is indeed 3 amps (unless there are versions with differing cables or something). This leads me to believe that the JST connector would be enough for a single strip and that using connectors at both ends would be enough to power 1.5 meters … But I might well be wrong. Perhaps it’s because the strips are sold in sizes up to five meters?

        On a kind of related note: Does it make sense to add a 3 amps fuse to the power output to make sure the connections won’t be overloaded?

        Thanks for taking the time to answer!

        Jean
        1. Yeah the addressable LED strips are usually sold in varying lengths and with varying densities (30/m, 60/m, etc.) so it’s not surprising they would use the same connector setup for every one.

          You can add a fuse if you’d like, it won’t hurt anything (assuming you spec it correctly).

          Dave
    1. I believe so, but you’d have to test it yourself. Last I checked the software doesn’t support multiple devices, so you would need to use one big LED strip across both monitors and tie it into one Arduino. Then arrange the capture zones yourself across both monitors.

      Dave
  3. Hello.

    What are the multi coloured wires called which you used to connect the different LED strips together? I can’t find them anywhere because I don’t know what they’re called haha.

    Thanks

    Bob

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.