Last fall when I was working on the now-defunct ‘Footwell NeoPixels’ project I wrote a short post talking the fact that you cannot use the FastLED library with RGBW leds, and have to deal with the clunkier Adafruit NeoPixels library. Well last week, a man named Jim Bumgardner commented on that post and shared his method for doing just that: using the FastLED library with RGBW leds.
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.
Project complete! The LEDs are in place, the code is done, the PCB is built, and everything is installed and running. So what is there left to do? Shoot some videos of everything in action! In all of these videos, the ambilight is generating colors in real time based on the monitor’s image. The monitor image is as-filmed and is not superimposed.
I’ve previously mentioned that I was initially using this code by James Bruce to drive the ambilight. While I was waiting for the circuit board components to arrive, I thought I would take some time to expand on his work, fix some bugs, and add a few features I thought were missing. After a few recent tweaks it’s now ready for distribution. Presenting: Adalight-FastLED! I’ve reworked the Adalight code to provide user-friendly options that allow you to easily customize it for your setup. I also added a brightness limiter and a calibration mode, which sets all LEDs to the same…
So far the hardware side of the Adalight setup has been a nest of wires on my desk, with the Arduino on a breadboard and the power running through a terminal block. Now it’s time to wrap up this project by getting everything off of the breadboard and onto a dedicated PCB in its own custom case!
In this post I’m going to show you how to calibrate your ambilight in Prismatik so that it matches your screen, showing proper white and truer colors! This is going to be a long post, so sit back and strap in!
Once the LED strip has been soldered together and attached behind the monitor, the next step is to configure the software on the PC. The communication protocol for Adalight is quite simple, which means there is a variety of PC software that can send color information to the Arduino. There are other options, but the two I’ll cover are Processing and Prismatik.
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.