top of page

Firmware for Multichannel HBLED Systems

High-brightness LEDs are increasingly becoming the light source of choice in both general and specialty lighting applications. Advances in LED technology have led to higher lumens per watt. Improvements are also being made in package size, color options, CRI ratings, binning, and temperature stability. LEDs bring flexibility, efficiency, and intelligence to any lighting application and are quickly being adopted for these reasons.

A typical application of such a system is general household lighting where a user is able to create multiple shades of white or colored light with just one fixture. Such flexible lighting fixtures enrich the end user experience by giving control over light that consumers have never been able to experience before. The flexibility of these fixtures is enabled by two very important aspects: the possible color gamut of the fixture and the number of unique mixed colors the fixture can create, which is known as color resolution. For some applications, users desire as large of a potential color gamut as possible. This allows the fixture to create more vibrant colors that do not appear to be washed out.

One other aspect of a white light fixture that is often important is its color rendering index (CRI) rating. This is essentially a rating of how well colors and objects look when they are illuminated with the fixture. CRI is better when a light fixture emanates more unique wavelengths of light for a given mixed color.

Each of the three aspects - gamut, color resolution, and CRI - can be optimized by a single design factor: the number of uniquely-colored LED channels in the system. Having more LED color channels increases the possible color resolution exponentially with each channel added, as well as increases the color gamut since the different LED colors will cover a greater area of the color space. Finally, using more wavelengths of light to mix colors increases the CRI rating of the fixture.

Four-channel color combinations often work well for LED color mixing fixtures. Two common combinations are RGBA ('A' is for amber) and RGBW ('W' is for white). The RGBA combination gives a larger gamut than RGB or RGBW, and it generally creates light with a good CRI. The RGBW combination doesn't have a larger color gamut, but it has a good CRI and more of the primary mixed color that is desired: white. The number of channels does not need to stop at four. LED lighting fixtures with five, six, or even seven channels are sometimes necessary for very high-performance or high-end systems. While there are clear advantages to having more independent LED channels, there are drawbacks, including the obvious need for more hardware (LEDs and drivers) as well as an embedded microcontroller with more complex firmware. In such a system, the controller continuously calculates the appropriate dimming levels needed for each LED color channel. The output for each channel must be finely adjusted in order to mix to the proper color.

The system requirements will determine what calculation process is needed. One important question needs to be answered at this point: how many unique colors must the fixture be able to create? Put another way, can any color in the gamut be requested, or only a small subset of colors? For instance, a lighting fixture that only needs to create various shades of white may only need to create 100 or so unique colors ranging from warm white to cool white.

In this case, it is advantageous to design the microcontroller's firmware to calculate the dimming values with a look up table (LUT). This means that for each unique mixed color, a set of dimming values is predefined and stored in flash memory. When the processor receives a mixed color input, it looks up the appropriate values in the LUT. This method is very fast and simple. It also allows very complex calculations to be preprocessed so that the microcontroller doesn't need to make time-consuming calculations on the fly.

A LUT method is generally best if it is feasible. It becomes unfeasible when many unpredictable, unique mixed colors are required. For example, a color mixing system that has four LED channels with an 8-bit dimming resolution for each can create over 4 billion unique colors. For each of these unique colors, the LUT would need to store one 8-bit dimming value for each dimming channel, requiring over 16GB of memory. In general, a fixture with firmware using a LUT for color mixing can only support as many unique mixed colors as its memory size allows.

In order for the firmware to generate a large number of unique color outputs without using a gigantic LUT is by using color mixing algorithms. An algorithm can take any color request input and calculate dimming values that will create that mixed color. A general algorithm does not use an excessive amount of memory. However, it is more complex to develop and takes a longer amount of CPU processing time to generate dimming value outputs. Describing the details of a complex multichannel color mixing algorithm is beyond the scope of this article. For an embedded color mixing system, choosing the right microcontroller is essential.

bottom of page