BlinkStick and Ikea DIODER as AmbiLight

Blinkstick-pro-led-adapter-side-square-300
We now have BlinkStick Pro LED Adapter which makes it very easy to connect and control LED strips similar to IKEA DIODER!

This tutorial is only for BlinkStick v1.0! Click here for BlinkStick Pro tutorial. BlinkStick v1.1 does not support this feature.

Dioder-piece-lighting-strip-set

Step 1 - Preparation

For this tutorial you wil need:

  • One BlinkStick v1.0
  • One Ikea DIODER
  • A soldering iron
  • Some solder
  • Some wire

Ikea-dioder-case

Step 2 - Open the main board case

Pry open the case. Best way to do it is with a screw driver on one of the sides.


Dioder-main-board-remove-resistors

Step 3 - Remove the resistors

Remove SMD resistors R5, R6 and R7.


Blinkstick-connect-to-dioder-main-board

Step 4 - Wiring BlinkStick

Assemble BlinkStick, but exclude the LED1 component then wire the BlinkStick to the main DIODER board according to the schematic.


Blinkstick-connected-ikea-dioder

Step 5 - Using BlinkStick with DIODER

Connect BlinkStick to the computer and plug the DIODER to the mains. It still needs the external power supply to drive the LEDs.

Add an Ambilight notification to the client application and link it to the BlinkStick. The client application will calculate the average color on the screen and display it on the LED strips.

Once you finish the hack, the controls on the DIODER will not work any more. If you ever want to go back to all of the original features of DIODER, just remove the wires you have soldered in Step 4 and put the resistors back in.

Inverse mode

In order to use IKEA DIODER with BlinkStick software, you have to use inverse mode.

Client application

You can set the inverse mode for your client application:

  • Open the main menu BlinkStick -> Manage
  • Select your BlinkStick
  • Change control parameter to Inverse
  • Hit Apply button

This setting will be memorized for the BlinkStick with the serial number.

Python Control Script

The control script that comes with Python pip package contains the --inverse option. For example:

blinkstick --inverse --set-color red
Python code

BlinkStick object in Python module exposes set_inverse method to enable the inverse mode.

stick = blinkstick.find_first()
stick.set_inverse(True)
stick.set_color(name="blue") # this correctly sets color to blue
Node code

Currently under development.

Ruby code

Currently under development.