Introduction: IKEA RGB Led Strip 2 Wi-Fi Hack
Finalist in the
Hack It! Contest
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 List of Materials
- An IKEA Dioder Led strip (http://www.ikea.com/us/en/catalog/products/60192355/ )
- A Flyport WiFi MakerKit ( http://store.openpicus.com/openpicus/prodotti.aspx?cprod=015366 )
- 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
Step 1: The Build Process - Step 1
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 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
In this way we can use 3 PWMs to control the 3 different colors brightness from our microcontroller.
Step 2: Step 2 - ProtoNest Preparing
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 schematic visualizes the connections, and the pics shows how we realized the "physical" connections using wires
Step 3: Step 3 - Software
Place Flyport Wi-Fi inside his Proto NEST, and connect the miniUSB programmer to J5 connector. Now connect the USB cable to the PC to download the firmware using the openPicus IDE (the free openPicus Integrated Development Environment, downloadable at www.openpicus.com and compatible with Windows only at the moment).
You can download the source files for this project from here.
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 (blank folders were removed
Open the openPicus IDE, and from the environment open the project folder.
Click the “Compile” button, and when the operation is 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:
Through 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.
For more information on Flyport development and the available hardware modules please follow the wiki documentation or download documentation and application notes at here
We have a be nice policy.
Please be positive and constructive.