IKEA RGB Led Strip Hack
The following project describes how to hack an IKEA DIODER RGB Led Strip to add a WiFi connectivity and access to an internal Web Server for configuring colors using low budget solutions! The hack utilizes an openPicus Flyport WiFi module and a Proto NEST expansion board, enabling RGB color selection through a Web page. The selection of the various color values is done within a Web page using a Color Picker
The concept is to replace the RGB controller “intelligence”, with our own microcontroller firmware. In this way we can leave the MOSFET drivers inside the RGB controller, without the need to provide the circuit with a driver or any additional software/hardware.
For this purpose the Flyport WiFi module has been used. The external connection interface is built based on a 2x16 pin connector (with 0.1”/2.54mm pitch that is the standard of any through hole board). As an expansion board, the Proto Nest expansion board has been used, since it just have all the connection for the module, a 5Vdc power supply input, and a prototype area that is large enough for the project purposes.
The List of Materials
- An IKEA Dioder Led strip like this
- A Flyport WiFi MakerKit
- Some colored wires (we used white, yellow, brown, green and red colors)
- A Soldering iron
- 3x 1K resistors
- screw drivers, scissors and/or a cutter
- A miniUSB cable
- A PC with Windows OS (for firmware development and flash inside the Flyport Wi-Fi)
- A Power source: a 5Vdc power supply for the correct working of the device when not connected to a PC
The Build Process
First of all, you have to remove the microcontroller inside the RGB controller of the IKEA DIODER Controller. It is a SMD IC, so it could be more easy to cut its connections before to desolder. Then you have to remove also the Voltage onboard regulator, since this type of regulator does not provide enough current for the Flyport Module. Once removed both microcontroller and voltage regulator, you can connect 5 wires as shown in the following picture:
These sub-steps will help you perform the removal of the components easier:
- Remove the microcontroller
- Remove the voltage regulator
- White wire is connected to GND
- Red wire is connected to 5V
- Green wire is connected to RED Color control
- Brown wire is connected to GREEN Color control
- Yellow wire is connected to BLUE Color control
n this way we can use 3 PWMs to control the 3 different colors brightness from our microcontroller.
Next comes the Proto Nest connection. You have to use the Proto NEST and connect 3 resistors (1KOhm, 10%), R1, R2 and R3 as follows:
- R1 between the 5V and pin4 of J1
- R2 between 5V and pin6 of J1
- R3 between 5V and pin17 of J1
The following schematic visualizes the connections:
and some photos of the hardware connections for Proto NEST:
Next, you need to solder the wires on the bottom of the Proto NEST as in the following picture:
Finally, solder all the 5 colored wires like in the following picture:
You are done with the hardware and ready to move to the programming part of this hack!
DOWNLOAD project source cod.:
Place Flyport Wi-Fi on the Proto NEST and connect the miniUSB programmer to J5 connector. Now connect the USB cable to the PC to download the firmware using the IDE.
' Create a new folder and copy all files within. Make sure you also create the 'Libs' and 'Web pages' sub-folders and save the provided files from the source code repository
Open the IDE and open the project folder.
Click the “Compile” button, and when completed click “Download” so that the new firmware is downloaded in the Flyport's microcontroller.
By success completion of the compilation process, your Flyport will boot up and will create an adhoc network named “FLY-RGB” and open security. Just connect your PC to this network and browse the following URL (IP) address:
Though this page you can select 3 colors, that are related to the 3 colors of the sequence your Flyport will perform:
You can now customize your firmware. For example you can modify the colorPause value (default is 200* 10ms = 2 seconds) or increase the number of color steps, etc.
Note: Inside the project, under the “Web Pages” folder there is also the source of the webserver page used. If you plan to customize the number of colors, you should also modify the HTML code of index.htm, but also the file “Web pages\scripts\jquery-tasks.js” to add the different colors.
Here is a video demonstrating the hack. Notice how easy it is to use the internal web age and modify the LED strip colors!
Special thanks to Simone Marra for this great hack and for the detailed project description! The concept and idea of the hack belongs to Gabriele Allegria.