Adding USB Control For Ikea RGB LED Strips

Here’s an altered PCB that gives USB control to an Ikea Dioder. This is a $50 product that comes with four strips each containing nine RGB LEDs. The stock controller has a color selection wheel and a couple of buttons. [Rikard Lindström] wanted to use it to match ambient light to the colors of his computer monitor — yes, it’s another ambilight clone.

Since he already had a bunch of AT90USB162 chips on hand he chose that route. These chips have native USB support (he’s using the LUFA package which is a popular choice), but no on-board ADC. That means no need for the potentiometer from the original controller because there’s no easy way to read its value. Removing it made plenty of room for his add-on PCB. He also depopulated the PIC microcontroller that originally drove the unit, soldering to the empty pads in order to connect is own board. The finished product fits back in the original case, with the addition of a USB cable as the only visible alteration. Now he can dial in colors using a program he wrote.

In case you’re wondering, it looks like this is a newer version of control circuitry when compared to the original Dioder hack we covered.

12 thoughts on “Adding USB Control For Ikea RGB LED Strips

  1. The AT90USB162 has an an along comparator so one could use the old trick of creating a potentiometer-capacitor sub-circuit, charging the cap up with the pin acting as GPIO, then switching it to analog comparator duty and comparing against the internal bandgap voltage. Count how long it takes to discharge (i.e. for the comparator to change value) and you have a workable analog input for this job!

  2. A suggestion for dioder-hackers: why not just reprogram the PIC and overload the existing inputs for communication (assuming there are no open pins)?

    A zero hardware hack (well except the programmer).

    1. I don’t really think a zero hardware hack could add much, some new light modes maybe. But adding a simple piece of hardware could really add a great deal of value, like an IR-receiver and an old remote.

      I don’t know much about PIC, but assuming it’s not locked down to make programming impossible the actual programming shouldn’t be hard.
      There is even test pads i assume is for factory programming which is big and easy to solder.

      I have some schematics here if anyone is interested:

  3. Seems like the perfect project for my home theatre.

    Does anybody know of “ambilight” code that runs on a Mac?

    — there are no stupid questions, only inquisitive idiots

    1. My simple programs is written in Python using PyUSB (0.4) so if you install them the dioder_cli script should work (but it’s not tested on other systems), dioder_pulse and dioder_gtk have other dependencies that could be a quite a bit harder to satisfy on OS X.

      I haven’t tried analyzing video, but it’s not a high priority because the dioder hardware is single channel (all strips have same color), for edge color detection of video at least four channels is needed to get a good effect (one per edge).

      But if you think one channel is enough, and you are prepared to write some code it might be something for you.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.