The LivingColors lamp from Philips that was introduced in 2007 is a big succes. The RGB LED design lamp has sold over a million copies. It may have a nice remote control that let's you
select a color from a color ring but we want more. In May 2008 the electronic magazine Elektor placed an article from Jeroen Domburg who reverse engineered the communication
protocol and wrote the article on how to control the LivingColors lamp using a cc2500 transceiver.
Thanks to the pioneering work of Jeroen we can present you a tutorial on how to control the lamp from an Arduino or PC.
Using the A-blocks it is simple to create the hardware.
We are using the following parts:
Start with building and connecting the modules using the instrucions and tutorials for the modules.
Arduino control
The credits for the Arduino software go to Ivo Noorhof. Ivo created a cc2500 shield for the Arduino and with minor adjustment his library can be used for the a-blocks version also.
The software can be downloaded from the
2.4 Ghz Module page.
First install the library. Next upload the example.pde to the Arduino. Each remote control uses an unique id that can be paired to 1 to 7 livingcolors lamps.
The example code contains a commandline tool to determine the id of your remote. After you loaded the program on your Arduino open a serial monitor on 9600 baud.
- Type 'l' and ENTER (if you use the Arduino 0017 IDE you must add a @ after each command)
- Pick up your remote control and change colors until you see a '!'. Keep your remote close to the arduino receiver.
- Type 'i' to see the detected ID
- Write down the id
Now we have the id of the remote control load the Example 2 code in the Arduino IDE. Look for the following code:
unsigned char lamp1[9] = { 0x70, 0x3D, 0xF3, 0x3C, 0x23, 0xC8, 0x2D, 0x43, 0x11 }; // Lamp ID
Change the ID to your own ID that you determined in the previous step. Then upload the example code to your Arduino. This example assumes that you connected you 2.4 Ghz module to D5,
a button & led module connected to D3, and a rotary sensor on A5. The button & led module and rotary sensor are just for this demonstration. You can leave them out and directly control the lamp from code if you want.
With the example code you can turn your lamp on or off using the button on the button & led module. You can change the color by turning the rotary sensor.
PC control
You can also control the lamp from a PC program by sending control codes to the Arduino serial port from your PC. We do not have a ready to use example for this but we trust the skills of our readers to code this themselves.
If you need some help you can always sent us an email we will be glad to assist you.
Generation 2
Note that this tutorial only works for the original Livingcolors lamp. Philips introduced a 'Generation 2' version that is not compatible with the original Livingcolors.
20% discount
We are offering 20% discount on the 2.4 Ghz module if you order it now.