How to build a dimmable lamp with four LEDs

Mihai Cuciuc, senior applications engineer from Microchip Technology shows how to control individual LEDs to simulate an incandescent lamp

Custom colour temperature lighting can be obtained by mixing the outputs of four individual white LEDs with different parameters. This can be used to build a dimmable lamp with a particular colour temperature or use a dynamic model that simulates an incandescent lamp whose colour temperature changes as it is dimmed.

Colour temperature

The colour temperature of a light source is the temperature of a black body that radiates light that is close to the colour of the light source. To define the distance between two colours, a parametric way of defining colours is needed, such as the CIE 1931 xy colour space shown in Figure 1.

This colour space provides a simple mechanism that aids colour mixing. Figure 1 also shows the Planckian locus defined by the possible colours of a black body as its temperature changes.

Light output

Since this application allows the configuration of the colour temperature, it would be desirable to have the same luminous flux range for any colour temperature chosen. This requires an extra normalisation step at the end of the colour mixing process to bring the maximum luminous flux to the same value for all possible colour temperatures.

Mixing colours

Starting with a desired colour defined by its coordinates in the CIE 1931 colour space, the LED coordinates can be computed by first checking if the point lies within any of the triangles defined in the CIE 1931 colour space by the coordinates of three of the available LEDs. For all the triangles that contain the point, the individual LED contributions can be computed. It is then a matter of selecting the configuration that yields the maximum output for the chosen LED.

Lastly scale the dimming values such that they lie between zero and the maximum value usable for the LED PWM. Values obtained after this step can be used to yield a constant luminous flux of any colour temperature.


This application uses a modified Microchip lighting communications main board with four Cree LEDs whose colour temperatures in the CIE 1931 colour space have been measured. The board can supply a maximum current through each LED of the order of 200mA.

The simulation starts with the user selecting a slider position. This is translated into a colour temperature that is used to pick both a scaling factor for all LEDs as well as individual scaling factors for each one.

The lamp has three modes of operation that the user can switch through. Firstly, simulating an incandescent lamp; this both dims and changes the colour temperature according to the proposed model. Secondly, constant luminous flux; this allows the user to pick a colour temperature using the slider while keeping the luminous flux at the maximum. Finally, dimming with constant colour temperature. This performs dimming while using the colour temperature chosen in the previous mode.

Check Also

Latest LED Driver family from Allegro eliminates PWM audible noise with patented control method

Allegro MicroSystems has launched the A8060x family, its latest generation of advanced LED backlight drivers. …