Control Color of LED Stage and Architectural Lighting: Easy, Accurate 13-Bit Color using High Power 4 × 1A RGBW LEDs, I2C Control

Red, green, and blue (RGB) LEDs can be used in architectural and stage lighting systems to create brightly projected colors—with a white LED sometimes added to the RGB mix to extend the color range in hue, saturation, and brightness (Figure 1). Regardless of the number of color components, the brightness of each component color must be accurately controlled to achieve predictable colors, or compensate for color discrepancies amongst LEDs. The number of available colors depends on the number of resolvable brightness levels of each component color. A few systems offer resolution down to 1/256 (8-bit) of full brightness. Higher resolution is possible and yields more colors (Figure 2) and control.

Figure 1. A Cree XM-L RGBW high power LED can be driven by two LT3964 LED drivers for accurate 1:8192 per channel dimming.

Figure 2. The I2C-controlled LT3964 RGBW LED driver enables unprecedented color control of high power LEDs used in stage or architectural lighting installations. Driver solutions typically offer 8-bit color resolution. The solution based on the LT3964 enables 13-bit color resolution—easily achieved using the intuitive buck driver setup described in this article.

The most accurate way to control a wide LED brightness range is with PWM dimming control. LED drivers featuring internal PWM dimming clocks and digital registers (to set dimming ratios) are the best option for RGBW systems. For large and complicated systems—those with many different component RGBW LEDs—a serial communications bus enables on-the-fly setting of these registers in digitally-enhanced LED drivers.

Figure 3 shows two ways to drive and dim RGBW LEDs. The first, a matrix LED dimmer solution, was until recently, the best way to digitally control a high power array of RGBW LEDs is with. The second, a “direct drive” solution, is a more accurate, efficient, and lower-ripple solution using four separate, digitally-enhanced LED drivers, one for each color (R, G, B and W).

Figure 3. Two ways to power and control color (component dimming) for a large RGBW LED array: (a) a matrix dimmer using the LT3965 vs. (b) a LT3964 direct drive solution. The LT3964 non-matrix solution features improved color control, solution efficiency, and lower ripple.

In such a system, the LED current, or PWM dimming, of each individual LED or string is driven by its own LED driver and control signals as shown in Figure 2. In the matrix dimmer solution, a single LED dimmer controls the PWM current for up to eight LEDs. The added requirements for this system are a high voltage line and a low output capacitor buck LED driver to drive the string of LEDs. The high voltage rail might require an additional boost regulator and the LED current (from the low output cap buck) can have high ripple.

Lighting systems with a large number of RGBW LEDs require a substantial number of drivers, and synchronization of the control signals to those drivers. The highest performance approach is to directly control each component LED with its own high performance LED driver. In this method, the PWM dimming and the DC current and voltage of each, and every, LED can be controlled with the least amount of ripple and greatest predictability. This type of system is easy to implement using LT3964 dual buck LED drivers controlled via serial bus.

Dual Buck LED Driver with I2C Dimming Control

The LT3964 dual buck LED driver with I2C control and reporting is an ideal solution for driving multiple LEDs or strings of LEDs with high current and high bandwidth—via serial communication. Buck regulators are inherently high bandwidth, and having two 36V, 2MHz, synchronous and high frequency buck LED drivers in a single package, with integrated 2A switches, makes driving multiple channels of high current LEDs relatively easy with the LT3964.

TheI2C serial communications capability simplifies both analog and PWM dimming for two independent high current LED channels supported by each LT3964, with up to eight different LT3964 addresses on a single I2C bus. For instance, the 2MHz dual 1A buck LED driver example circuit in Figure 4 features high efficiency and very small size. It can be altered to power up to 30V of LEDs per channel from a 34–36V input—as shown in the datasheet—with greater than 90% efficiency.

Figure 4. The 2 MHz dual 1 A (or more) buck LED driver demonstration circuit DC2424A features a high efficiency and compact layout. It can be altered to power up to 30 V of LEDs per channel from a 34 V to 36 V input—as shown in the data sheet—with greater than 90% efficiency.

13-Bit RGBW Color Control

Two LT3964 drivers are enough to drive a single, or a string of, RGBW LEDs at 1A (or higher,) as shown in Figure 5. Although RGBW color is commonly controlled with a 1:256, 8-bit resolution, the LT3964 can accomplish up to 1:8192, 13-bit, PWM dimming for each channel combined with 1:10 analog dimming—all controlled by I2C.

Figure 5. Two LT3964 drivers can be used together to drive a single or a string of RGBW LEDs at more than 1 A. Each RGBW component color is limited by the dimming resolution, typically 1/256, or 8-bit resolution. Much higher resolution is available with a LT3964-based solution can accomplish up to 1/8192, or 13-bit PWM dimming for each channel combined with 1/10 analog dimming—all controlled by I2C.

This direct drive approach allows for component RGBW LEDs to differ greatly in brightness and voltage—each channel is completely independent. In this example, a single Cree RGBW LED is driven by four LT3964 channels, each with 1A output. With a few digital register changes, the brightness and color control extends as far as 1:8192 PWM dimming and 1/10 analog dimming can provide for each red, green, blue, and white LED. The only real color limitation is the LEDs themselves. In fact, having so much control over color mixing allows for color correction of LEDs if desired.

Easy Syncing for Large Arrays and Low Ripple Operation

The integrated synchronous power switches and 2MHz switching frequency result in a very small solution size, with a small inductor and ceramic output capacitor for each LED channel. The CLKOUT and SYNC pins of the LT3964 allow two ICs to synchronize, preventing unwanted beat frequencies, and maintain uniform timing of PWM dimming through serial communications. This eliminates the need for both ICs to be clocked from an external clocking source, simplifying the solution.

Figure 6 illustrates the low ripple output current of this 4-channel, two IC solution in contrast to the higher ripple matrix LED dimmer solution referenced above. Clearly, the non-matrix, direct drive LT3964 solution presents a cleaner LED current waveform than the matrix dimmer solution, which has higher ripple content due to small output capacitor(s).

Figure 6. The 4-channel, two dual buck LED driver solution has low ripple current in contrast to the higher ripple matrix LED dimmer solution. The LT3964 presents a cleaner LED current waveform than the dimmer solution.

Flexible, Intuitive Buck Scheme

The LT3964 is flexible enough to support systems that require more than four color components. The color gamut for RGB(W) LEDs is shown in Figure 7. When a wider color range is needed, two additional LED elements such as amber, more green, or even cyan LEDs can be added. To drive the additional component colors, simply tie another LT3964 into the same I2C bus.

Figure 7. The visible color gamut includes colors not available in the RGB color gamut. When an expanded range is required, two additional LED elements, such as amber, additional green, or even cyan LEDs can be added by simply adding an LT3964 tied onto the same I2C bus.

Not all RGBW color-mixing LED systems use monolithic RGBW LED chips. In some systems, separate strings of red, green, and blue LEDs are built into larger, brighter fixtures. Strings of LEDs with different voltages can be driven by each LT3964 step-down channel, as long as the LED string voltages remain below the input voltage. Strings of up to 30V of LEDs at 1A and greater can be driven by a single LT3964 channel.

I2C Serial Communications

There are two options for controlling analog and PWM dimming with the LT3964 LED driver. One option is to directly drive the dimming pins with external voltages without using the serial bus. In non-I2C mode, the CTRL1 and CTRL2 pins are driven with adjustable DC voltages for analog dimming of the LEDs and the PWM1 and PWM2 pins are driven with pulsed signals with duty cycles that correspond to the PWM dimming brightness of the LEDs. In this method, the LED PWM frequency is synchronized to the PWM pin inputs and the LED brightness and LED current duty cycle matches the PWM pin input pulses. In larger systems, generating a combination of PWM and analog dimming input signals for a large number of channels can be complex.

The second and potentially more effective method is using a serial communications bus, such as I2C to control each LED channel or string. The simple 2-wire I2C bus is used to control the functions of eight different slave devices from a single master device such as a small microcontroller. Running at speeds of up to 400kHz, the I2C bus master only needs to generate three bytes to update each of the nine registers on the LT3964 slave devices. There are four PWM registers, two analog dimming registers, a Status Enable register for setting faults, a Status register for reading faults, and a Configuration register for a few global functions. The three bytes of I2C WRITE commands include the address, subaddress, and data words. Figure 8 demonstrates the different I2C WRITE and READ words used in the LT3964 serial communications.

Figure 8. The LT3964 I2C serial communications use standard I2C write and read words.

LT3964 features 13-bit (1:8192) PWM dimming capability using I2C. The PWM dimming duty cycle and frequency are set by writing to the two PWM dimming registers for each channel as shown in Figure 9. Figure 10 shows the resulting ILED waveform. It is easy to update up to 16 different channels (two channels each and eight addresses total) with a quick series of I2C writes.

Figure 9. LT3964 features 13-bit (1:8192) PWM dimming capability with I2C. The PWM dimming duty cycle and frequency are set by writing to the two PWM dimming registers for each channel. Here, Channel 2 is set to 1:8192 dimming while Channel 1 is set to 128:256 analog dimming.

Figure 10. ILED waveform showing 1:8192 dimming.

In addition to PWM dimming control, each channel features an 8-bit analog dimming register, which can be updated with a single write command. Analog dimming, if invoked, is typically used only down to about 1/10 dimming. More often, PWM dimming is used exclusively for RGBW color mixing—it is sufficient for accurate and repeatable color creation without adding analog dimming. Nevertheless, in systems requiring expanded control, DC LED current adjustment is a useful tool to have in the box.

Other I2C registers include fault protection setting and reading. The LT3964 can report faults for each channel via its ALERT pin and I2C STATUS registers. The faults are only reported if the STATUS registers are individually enabled and a fault has occurred. Open LED, short LED, overcurrent, and overvoltage feedback faults for both channels can be enabled, reported, and read (Figure 9). They can also be disabled and ignored. Fault protection can be a critical part of any serial communications system.

2MHz Demo Circuit and QuikEval

It is easy to produce a prototype and evaluate an LT3964 LED system with I2C. Analog Devices has created a demonstration circuit, including a graphical user interface (GUI) for testing the serial communications. This system uses the QuikEval program when hooked up to a PC through a Linduino® One demo circuit (DC2026C) via USB. A quick start guide for connecting and evaluating the LT3964 demo circuit, DC2424A, is included in the manual for the demonstration circuit. In short, when connected to USB through a DC2026C (Linduino) the LT3964 demo circuit serial communications can be evaluated one command at a time.

Figures 9, 11 and 12 show the easy-to-use GUI pages of the LT3964 demo circuit. On each page, the register elements can be set, then updated over the I2C serial bus. The analog and PWM dimming registers can be updated for each channel as well as the status enable bits, the global configuration register, and the status enable bits. For each I2C command sent over the bus, the interface shows the address, subaddress, and data bits generated. The registers can also be read back through the GUI read commands. If a fault occurs during testing, the GUI displays an ALERT signal in the upper left (Figure 13) and steps can be taken to examine the nature of the fault and to clear the fault though the STATUS and STATUS ENABLE registers.

Figure 11. The LT3964 DC2424A demonstration circuit can be controlled with a free GUI through QuikEval. On each page, the register elements can be set and then I2C write or read commands can be sent with the press of a button through USB and a Linduino DC2026C demonstration circuit. The IC address bits can be set for any address and the GUI can communicate to many LT3964 ICs at once.

Figure 12. I2C registers include fault protection setting and reading. The LT3964 can report faults for each channel via its alert pin and I2C status registers. The faults are only reported if the status registers are individually enabled and a fault has occurred. Open LED, short LED, overcurrent, and overvoltage feedback faults for both channels can be enabled, reported, and read. They can also be disabled and ignored.

Figure 13. Two off-the-shelf DC2424A demo circuits can be connected and used to drive an RGBW LED or string of LEDs with a ribbon cable for I2C control using the GUI and a Linduino.

In a single RGBW system, there are two separate IC addresses needed (for four LED components) on the I2C bus. By default, the GUI sends all commands to a default address ‘1100’, but this can be altered. The address is shown in the upper right of every page and can be changed by clicking on the digits. Thus the dimming and status registers of up to eight addresses can be controlled and read through the use of the GUI. Additionally, the Digital Word page of the GUI allows the user to enter any three address, subaddress and data words manually and send them as an I2C command. Users can consult the data sheet or the other pages of the GUI to generate READ and WRITE commands, which are shown in the serial data log at the bottom of the screen.

Figure 13 shows how easy it is to tie together two off-the-shelf DC2424A demo circuits with a ribbon cable for I2C control using the GUI and a Linduino. The SDA and SCL 2-wire I2C lines are shared on the bus and the ALERT signals are tied together with the Linduino ribbon cable. The ALERT pin of each LT3964 is an open collector pull-down, so the master can detect when there is a fault present on any IC. When this happens, the GUI displays a red ALERT flag circle in the upper left corner. Once a system fault is detected by the master microcontroller, an alert response protocol is followed to detect and/or clear the fault(s).

Fault Detection and Protocol

The LT3964 has extensive fault protection. It smoothly handles both open and short failures of the LED string. It can also handle overcurrent faults to the output, which are not necessarily short circuits. When these faults occur, the ALERT fault flag of the LT3964 asserts. When shared on the same bus, the ALERT bus line gets pulled low (asserted) when any of the LT3964s within a system experience a failure. The I2C communications can be used to locate the IC with the fault first, and then diagnose the fault itself. The types of faults that can assert the ALERT flag can be set within the Status Enable register. A fault such as short LED or LED overcurrent can be enabled or disabled here.

After an ALERT assertion, a BROADCAST READ command is used to poll the slave ICs to find out which IC is asserting ALERT. In the case of multiple alerts, the IC with the lower address sends its address first. The next step is to read the STATUS registers of the faulted address. This should give enough information to diagnose the fault and to clear the fault flag. If the fault flag remains asserted, another BROADCAST READ command can check for subsequent faulted addresses. When the faulted addresses and the Status registers have been read, the faulted status bits can be cleared by sending a write command to the faulty address. If the fault does not clear, it can be reported that service is needed, or the fault can be ignored by turning off the status bit enabling the fault.


The LT3964 dual buck LED driver with I2C serial communications can be used in computer-controlled lighting systems featuring a large number of high power LEDs and LED channels. Two LT3964s are enough to drive a single RGBW LED— or string of RGBW LEDs—at 1A with accurate and precise dimming to produce predictably repeatable color content.

Figure 14. Complete digital control over high power RGBW LEDs using the LT3964 dual buck driver with I2C serial communications. Two LT3964s are enough to drive a single RGBW LED—or string of RGBW LEDs—at 1 A with accurate and precise dimming to produce predictably repeatable color content.

Evaluation is easy using the off-the-shelf DC2424A demo circuit and free QuikEval PC-based software. The LT3964’s shared I2C 2-wire serial communications bus can be used to control up to eight addresses and 16 switching channels. Its wide input voltage range and compact, but powerful, integrated synchronous step-down switches can be used for up to 30V of LEDs on each channel. Switching frequency capability up to 2MHz enables compact designs and small inductors, important when the driver circuit is duplicated throughout large-scale systems that feature numerous LEDs and channels.


Keith Szolusha

Keith Szolusha

Keith Szolusha is an LED drivers applications manager with Analog Devices (formerly Linear Technology) in Milpitas, CA. He received his B.S.E.E. in 1997 and M.S.E.E. in 1998 from MIT in Cambridge, MA with a concentration in technical writing.