Last week I bought a set of DIODER lights from the Ikea down the road, pretty much on a whim. They’re not the cheapest way to buy RGB strip lighting, but I did like the modular design. And it’s remarkably easy to modify the controller to drive the system with an arduino.
The system comes with a controller that allows you to set a colour manually, as well as pre-set colour change and fade functions. Rather than build my own circuit I wanted to save time by reusing this controller. Opening it up revealed a PIC microcontroller, and three MOSFETs for the red, green and blue channels.
First thing to do is disable the microcontroller by cutting through the power track. Cutting through the big pad I’ve marked on the diagram means it’s easy to then wire a switch across it if you want to be able to use the controller as normal.
Three output pins from the microcontroller drive the MOSFETs, but only two of them have big friendly solder pads, so I soldered wires on to the three resistors just below the MOSFETs (R5, R6 AND R7). Then soldered the other ends of these wires to a short strip of header pins. These are then plugged straight in to pins 9, 10 and 11 on my Arduino. I’ve labelled the picture with which MOSFET drives which LED channel, but they match what’s printed on the PCB where the input cable is connected.
Finally, we need a ground wire. Easiest way to connect it is to solder a wire on to the –ve wire on the input cable. The other end of that is again soldered on to a header pin, which is connected to the ground pin of the Arduino.
Right now I’m using this setup as a light controller for boblight on my XBMC media centre. Setting up the controller, writing my own single-channel boblight sketch, installing software and configuring the XBMC addon was all done in a single evening. It was a lot of fun, and even with a single channel the results are pretty awesome.