IKEA Frekvens - VIPnytt/Frekvens GitHub Wiki
π‘ IKEA Frekvens LED multi-use light
Article number: 504.203.53
π Schematics
LED panel schema
βββββββββββββββββββββββ SPI CS
β βββββββββββββββββββ SPI SCLK
β β βββββββββββββββ SPI MOSI
β β β βββββββββββ OE
ββββββββββββββΌββββΌββββΌββββΌβββββββββ
β ββββββββ΄ββββ΄ββββ΄ββββ΄ββββ΄ββββ΄βββ β
β β GND LAK CLK DA EN VCC β β
β β β β
β β SW1 U2 ββ΄ββ΄ββ΄ββ΄ββ΄ββ΄ββ΄β β β
β β SW2 89F112 ββ¬ββ¬ββ¬ββ¬ββ¬ββ¬ββ¬β β β
β β COM β β β
β β βββ β β β
β β U3 β€ β β β β
β β LM358 β€ ββββ΄βββββββββΌββΌβ Amplifier
β β€ IR β€ β β β
β β β€ β β β
β β MIC βββ β β
β ββββ¬βββββββββββββββββββββββββββ β
β GND LAK CLK DA EN VCC DC- DC+ β
ββββββββββββββββββββββββββββΌββββΌβββ
β βββββ +4 V DC
βββββββββ 0 V DC
Buttons schema
ββββββββββββββ
β COM SW1 SW β
ββββΌββββΌββββΌββ
β β ββββ Button 2
β ββββββββ Button 1
ββββββββββββ 0 V DC
Power supply schema
βββββββββ
100-240 V AC ββ€ L + ββ +4 V DC
Neutral ββ€ N - ββ 0 V DC
βββββββββ
ESP32 schema
ββββββββββββββββββ
β VIN ββ +4 V DC
β 3V3 ββ +3.3 V DC
β GND ββ 0 V DC
β β
β SCLK ββ SPI SCLK
β MOSI ββ SPI MOSI
β β
β Digital output ββ SPI CS
β Digital output ββ OE
β β
β Digital input ββ Button 1
β Digital input ββ Button 2
β β
β Analog input ββ Amplifier
ββββββββββββββββββ
Logic level shifter schema
0 V DC βββββββββ¬ββββββββ 0 V DC
+3.3 V DC βββββ β βββββ +4 V DC
ββββ΄ββββ΄ββββ΄βββ
β VCC GND VCC β
SPI CS ββ€ A1 βββΊ B1 ββ SPI CS
SPI SCLK ββ€ A2 βββΊ B2 ββ SPI SCLK
SPI MOSI ββ€ A3 βββΊ B3 ββ SPI MOSI
OE ββ€ A4 βββΊ B4 ββ OE
βββββββββββββββ
π Getting started
Opening up
After loosening the four screws and opening the back panel, thereβs eight nuts held in place by four plastic clips. Once those and the four screws in the bottom are removed, everything slides out easily.
Disconnect the buttons
The next step is to disconnect the buttons from the green PCB, SW1, SW2 and COM.
Removing the U2 chip
This step can be a bit challanging; removing the 89F112 chip labeled U2 from the green PCB.
[!TIP] If the integrated microphone is not needed, the entire green PCB can be desoldered from the LED panel. This makes the modification easier, while still allowing the board to be re-soldered back on later if desired.
Wiring the microphone
For the microphone to be functional, connect a wire from the LM358 amplifier labeled U3 pin 7 to an analog input on the ESP32.
[!TIP] Since the 89F112 chip must be desoldered, it might be easier to connect from
U2pad 11 instead.
The Missing IR sensor
The device was originally designed with an IR sensor in mind, but the feature was never implemented in production β leaving the IR pad unused.
The hole next to C10 was reserved for this purpose and can still be used to mount an IR sensor, enabling a capability that was planned in the original design but never realized.
Wiring the LED panel
Next up is attaching the ESP32, via the logic level shifter. Thereβs two noteworthy locations, the first one is on top of the green PCB, and the second one is the six unlabeled pads at bottom left. Thereβs no difference between them except for DA, where the labeled one on top is input and the unlabeled at bottom is output.
[!CAUTION] The two left-most unlabeled pads will be blocked by the chassis.
Connecting the button
The last step is to connect the buttons: SW and SW1 each connect to separate pins on the ESP32, while COM connects to GND.
[!TIP] On the stock wiring harness, the red power button
SW1uses the black wire, and the yellow mode buttonSWuses the white wire. They both share a red wire forCOM.
βοΈ Logic level shifter
For safe and reliable communication between the ESP32 and the LED panel, a suitable logic level shifter is required. An TXU0104 is the ideal choice for this application, but alternatives such as the TXB0104/TXB0108, and even TXS0104E/TXS0108E are reported to work as well, although with some minor caveats.
The SCT2024 operates at 4 V and uses pull-resistors on its inputs β which can feed unsafe voltages back into the ESP32. To protect the microcontroller and ensure consistent communication, all signal lines should go through a level shifter, not just those that are at risk.
[!WARNING] Some users have reported success without level shifting, but this is outside the specifications of both ESP32 and SCT2024. Skipping it can lead to unstable behavior, and even damage the ESP32.
π οΈ Hardware considerations
The IKEA Frekvens hardware isnβt perfect, but thereβs room for improvements for those who desire.
Capacitors
The original 89F112 chip lacked dimming capabilities, but the ESP32 enables full PWM dimming. Because PWM involves rapid switching, it can stress the power supply and introduce noise. Decoupling capacitors are recommended to smooth out these fluctuations, improving stability and preventing timing issues.
The SCT2024 datasheet suggests a total of ββ₯85 Β΅F, placed as close as possible to the SCT2024 chips and LEDs. Instead of a single large capacitor, it is generally better to use two smaller ones.
Easily accessible soldering points:
VCC/GNDpads β near the top of the panelDC+/DC-pads β near the middle
[!NOTE] Capacitors are optional β consider adding if you already have some available, or if you notice flicker or instability.
π§ Configuration
| Label | Type | Constant |
|---|---|---|
LAK |
Digital output | PIN_CS |
CLK |
SPI SCLK | PIN_SCLK |
DA |
SPI MOSI | PIN_MOSI |
EN |
Digital output | PIN_OE |
SW1 |
Digital input | PIN_SW1 |
SW |
Digital input | PIN_SW2 |
U3 pin 7 |
Analog input | PIN_MIC |
Power and ground
Supplies power to both logic and LEDs.
DC+/DC-is intended to supply high current to the LEDs.VCC/GNDis intended as outputs for low current components handling the logic.- Both are tied together internally on the PCB.
[!CAUTION] To prevent backfeeding, never connect the ESP32 to USB while the 4β―V power supply is connected β even if it is unplugged from the mains.
SPI CS
Chip Select for the LED drivers.
Any digital output pin can be used.
Configure in secrets.h:
#define PIN_CS 1 // LAK
[!NOTE] Logic level shifter recommended.
[!WARNING] Avoid strapping pins as this pin is pulled LOW with 25 kΞ© resistance. On ESP32 classic it is recommended to use specialized pins, such as
CS(sometimes labeledSSon older boards).
SPI SCLK
Serial clock for SPI communication.
Any SPI SCLK pin can be used.
Configure in secrets.h:
#define PIN_SCLK 2 // CLK
[!NOTE] Logic level shifter recommended.
SPI MOSI
Master-out data line for SPI.
Any SPI MOSI pin can be used.
Configure in secrets.h:
#define PIN_MOSI 3 // DA
[!NOTE] Logic level shifter recommended.
Output Enable
Enables or disables LED output.
Any digital output pin can be used.
Configure in secrets.h:
#define PIN_OE 4 // EN
[!IMPORTANT] Logic level shifter required.
[!WARNING] Avoid strapping pins as this pin is pulled HIGH with 25 kΞ© resistance.
Buttons
Button inputs for user interaction.
Optional to connect. Use RTC-capable digital input pins for best compatibility.
Configure in secrets.h:
#define PIN_SW1 5 // SW1
#define PIN_SW2 6 // SW
[!IMPORTANT] Avoid strapping pins as these is pulled LOW when pressed.
Microphone amplifier
Analog input from the microphone amplifier.
Optional to connect. Use an ADC1-channel analog pin for best compatibility.
Configure in secrets.h:
#define PIN_MIC 7 // U3 pin 7
[!WARNING] Avoid strapping pins as this pin is biased.
π Template
Configure in .env:
# Device type
IKEA_FREKVENS='true'
# Names
NAME='Frekvens' # optional
HOSTNAME='frekvens' # optional
Configure in secrets.h:
#pragma once
// GPIO pins
#define PIN_CS 1 // LAK
#define PIN_SCLK 2 // CLK
#define PIN_MOSI 3 // DA
#define PIN_OE 4 // EN
#define PIN_SW1 5 // SW1
#define PIN_SW2 6 // SW
#define PIN_MIC 7 // U3 pin 7
// Wi-Fi credentials
#define WIFI_SSID "name"
#define WIFI_KEY "secret"
// Weather location (optional)
#define LATITUDE "0.000"
#define LONGITUDE "0.000"
π Resources
A collection of external links for deeper exploration β including teardowns, mods, datasheets, and community projects β provided for reference only and with no formal connection to this project.
- GitHub: ah01/box-of-life
- GitHub: attowatt/frekvensHack
- GitHub: CrazyRobMiles/Frekvens-stuff-from-Rob
- GitHub: frumperino/FrekvensPanel
- Hackaday: FREKVENS FJΓRRKONTROLL
- IKEA: FREKVENS Press kit
- IKEA: IKEA and Teenage Engineering team up for the FREKVENS collection
- Imgur: FREKVENS HACKING
- Imgur: IKEA FREKVENS Matrix Teardown
- PixelkΓΆnig Blog: Y-Clock (IKEA FREKVENS HACK)
- Reddit: FREKVENS LED Matrix Aux in replacement (or add on) for the microphone Tutorial (kinda)
- Sprites mods: Frekvens LED box hack
- StarChips: SCT2024 DataSheet
- Teenage Engineering: Frekvens
- YouTube: REVIEW & TEARDOWN : IKEA FREKVENS sound to light box (a QUICK-VID)
- εη«εEDA: 89F112