We’re done! The ambilight is in place behind my monitor and has been running great. To finish up, I wanted to reflect a bit on what I learned and talk about where to go from here.

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

Things Learned

Although I had gotten my feet wet with addressable LEDs for the ‘Footwell NeoPixels’ project (which is currently on the back burner…), this was my first finished project using them. For being so inexpensive, they are powerful and ridiculously easy to use. Look for more projects featuring them in the future.

On the software side, I learned quite a bit about serial structure and speed. I also learned how to use Git, created a Git repository for my own Adalight software, and contributed to a few open source projects along the way.

I also learned how to design a PCB using Eagle and how to etch copper clad boards at home. Although Eagle is now defunct (thanks Autodesk!), I’m sure I can transfer the basic ideas to another CAD program.

Further Improvements

As with any project, there is more I’d like to do with this eventually.

Top of my list is extending the LED leads so the monitor can be tilted through its entire range. This isn’t an issue at the moment, but it’s poor design to build something that adds unintentional limitations to the existing hardware.

I’d also like to design and build a version 2 PCB, which ditches the Arduino Nano and has all of the Atmega components onboard. I’d also like to add a few other things, such as:

  • Headers for the LED leads
  • Calibration setting jumper
  • Checksum status LED
  • Multiple LED data output leads (for expansion)

Prismatik, as useful as it is, could also use some attention to improve the color calibration UI and add more advanced support for the Adalight protocol. I’ve submitted feature requests to psieg’s fork, but I may find myself contributing some code to that project in the future.


In the words of the great Porky Pig, “ble, ble, ble, that’s all folks!” Thanks for following along. Onto the next!


  1. Hi, thanks for the very thorough tutorial!

    You mentioned on further improvement, that you are looking at expandability. I currently have one screen and would like to add a TV to my setup. What I would like to do is to have the PC monitor for gaming and the TV for films. Both of the screens will be equipped with Ambilight. But That when I watch a Film and turn off the Pc Monitor only the LEDs from the TV would light up, and vice-versa. Is this currently possible with the Arduino configuration? Thanks in advance!


    1. Hi Daniel! That’s a PC software limitation, not an Arduino one. The capture software I’m using (Prismatik) currently does not support multiple monitors / ambilights, although you may be able to find software that does.

      1. Ok, thanks for the comment. I´ve set up my Ambilight already on one monitor :). I have also increase the bud rate for better FPS perfomance in games. Everything works perfectly

          1. Not really. In theory it’s working as intended, as the colors aren’t at the edges of the display so there’s no reason to extend them.

            You could create another preset with the grab zones manually moved to the edge of the letterbox zone, but you would have to do that by hand.

  2. Hi Dave!
    I was thinking about DIY Ambilight for pc, and eventualy I found your (awesome) project. Now I´ve got everything ordered, but I have few questions regarding the connection:
    1. If I want to connect strip from both sides to power, I just connect the beginning cables to +5V and GND and second par of cables too to +5V and GND? Data wire should be connected only from one side, right?
    2. How should be capacitor connected? From +5V power supply to one leg of the capacitor to the strip and from GND to second leg of the capacitor to strip?
    Thx for your work, your projects are great!

    1. Hi Dom!

      1. Exactly right. The strip should be labeled with “Data In (DI)” on one side and “Data Out (DO)” on the other. Make sure you’re wiring the data connection to the right side or it won’t work.
      2. Yes, the capacitor is wired in parallel to the power lines. Most electrolytic capacitors are polarized, so be sure to connect the longer lead to 5V.

      Best of luck!

      1. So the Arduino came and Ambilight is working. I just need to do calibration and change position of the monitor – currently monitor is in corner and one wall behind monitor is green, and that green wall really affects colors from Ambilight – in the bad way. Every color has a greenish tinge. Once I get those things sorted out, I´ll post there a video.

  3. Dave, I was hoping you might have some insight on a problem I’m having. I did a build like yours using an Uno R3, and it’s working minus one small issue. A ten led section of my leds don’t turn off regardless of if they’re off in Prismatik or Prismatik is disconnected. They do react to color and change appropriately, but they never go off. I’m kinda flummoxed. Is this a hardware thing? Something weird in my config in Prismatik?

    I appreciate any help, thanks.

  4. Hello Sir,
    Great project, I’ll be tackling it soon myself. I have a question tho. Have you ever done any research whether it is possible to launch two Prismatiks at once if someone wants to put Ambilight on two monitors (with two arduinos of course)?

    1. You cannot launch two instances of Prismatik unfortunately. You can spread the capture zones across monitors to use a single Arduino with a long strip, but I don’t believe there’s an easy way to replicate this setup with multiple monitors.


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.