IKEA LED lamp hacking workshop
Uit RevSpace
Introduction
This page is intended to give step-by-step instructions for modifying an IKEA Skaftsarv LED light to replace the original control board with a programmable ESP32C3 board, then installing software on the board and configuring it to make it possible to control the light across wifi.
NB: This is a simplification, reordering and in some places expansion of the directions given at Simone Luconi's GitHub repo: SKAFTSARV to WLED. This version has been organized for use in a drop-in workshop at RevSpace as part of the Weekend van de Wetenschap.
Warning
These modifications will not only void your warranty, they also change the device from being a tested and certified piece of equipment to being a do-it-yourself project. Though you can glue it back together again, this version will not have been tested as well as the original version. If you find it running too hot, unplug it immediately.
Tools
You will need
- small Phillips head screwdriver
- spudgers
- cheap flat-head screwdriver for prying
- sharp knife and/or Dremel tool for cutting the case
- soldering iron
- solder
- hot glue
Components
- 1 IKEA Skaftsarv LED light
- 1 ESP32C3 mini development board
These two items may be available from the RevBank as a kit.
Step 1: Dismantle the light
Snap off outside translucent cover
This will likely require use of spudgers. The outside translucent cover is glued in place.
- If you squeeze the two long sides of the light together, the flexing may open a gap you can fit a spudger into. - If you apply a little isopropyl alcohol to the ends this may weaken the adhesion of the glue which holds the ends in place.
Unscrew inner diffuser panel
This should be done with a fine-head Phillips screwdriver. Keep the screws to reattach this assembly later.
Snap out original control PCB
This should be done with a cheap prying tool. The original control board is held in place by a clip which is glued in place. The clip must be broken to release it.
If you cut the clip on one side with a knife you may be able to slip the board out without breaking the clip, which makes it possible to out the board and the buttons back in place.
Optional Cut (with knife and/or dremel) slot for USB-C port
The replacement control board will stick its USB port out the hole you cut.
This hole should cut from the black plastic in the end of the light far from where the original control board was, but on the other side (away from the LED strip).
If you out it at the same end as the original control board it will be blocked by part of the frame for screws going in.
Step 2: Desoldering and soldering
Desoldering
Use a soldering iron the detach the wires from the original control board.
NB Optional: The original SKAFTSARV to WLED instructions suggest a way of keeping the original buttons working by desoldering the chip from the original control board and then wiring contact points on the control board to the ESP32C3, including two additional points which are connected to GPIO 0 and GPIO 1; this is more technically challenging and is not included in this set of instructions.
Soldering
NB Optional: If you have cut a hole to allow access to the new control board once the light is reassembled, you will need to extend the white, black and brown wires by about 8cm each, by soldering on extension wires. The two original white wires and the two original black wires can be joined at this extension point. Do not use the same colour wire for this; ensure you can keep track of which is still the "white" wire and which is still the "black" wire.
Use heat shrink wrap to protect the joints from short circuits in the case.
Solder the two white wires to the tab marked 5V.
Solder the two black wires to the tab marked G.
Solder the brown wire to marked 2.
Step 3: Flashing
Before you reassemble the light, connect the new control board using its USB-C port to a computer.
On the computer, upload the new firmware to the control board using the 'esptool' command.
For WLED
For a wifi-enabled LED light you can control from your computer or phone, use the WLED binary, available from https://kno.wled.ge
esptool write-flash 0x10000 ./WLED_16.0.1_ESP32-C3.bin
If WLED has successfully flashed, you should be able to plug in the light using the power cable to a USB-charger and it will turn orange. Follow instructions on the WLED website for configuration and start exploring!
For PowerLightNG
For the light to function as a Power Light, giving a graphic representation of power generation in the Netherlands, download the firmware from the project's Codeberg website: https://codeberg.org/rmartinnielsen/PowerLightNG/releases
The PowerLightNG firmware is still in early development stages. You should probably only install this if:
- You are very patient and interested and willing to debug it or reprogram it yourself
- You have cut a hole so you will be able to access the new control board's USB-C port to reflash it.
esptool write-flash 0x10000 ./PowerLightNG-esp32c3-0.1.0.bin
If PowerLightNG firmware has installed correctly, it should boot in AP (Access Point) mode. Plug it in, connect to your new device, configure it to connect to your wifi, and restart it.
Once the PowerLightNG is on a working wifi, it should boot (with a sequence of lights turning on), then flash the first LED a few times as it downloads the data from a server, and then show a representation of power generation in the Netherlands.
It will update its data every ten minutes.
Step 4: Reassembly
Once you are confident of the wiring of your modified light, reassemble it.
Control board
Ensure the rubber button covers are still in place to keep dust out of the light.
If your new control board does not extend its USB port out of the case, you can leave it unattached within the space of the light. Keep it on the side of the light away from the LEDs, which generate a lot of heat.
Optional If you have cut a hole for access to the USB port of the new control board, this is when you can glue it into place. Put a row of hot glue around the black plastic of the hole you have cut and push the control board into place. Ensure that the outer edge of the USB-C port is flush with outside of the case, so that you can still attach the stand to position the light upright.
Diffuser
Reattach the diffuser panel using the screws. It may take some fiddling to re-seat the led strip. You may want to use hot glue to stick it back into place.
Translucent outer panel
This can be held in place with elastic bands or sticky tape, or you can use hot glue to seal it back in place.