IKEA Obegransad - VIPnytt/Frekvens GitHub Wiki

πŸ’‘ IKEA ObegrΓ€nsad LED wall lamp

Article number: 005.262.48

πŸ“Œ Schematics

LED panels schema

                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +5 V DC
                β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ SPI CS
                β”‚   β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ SPI SCLK
                β”‚   β”‚   β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ SPI MOSI
                β”‚   β”‚   β”‚   β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€ OE
                β”‚   β”‚   β”‚   β”‚   β”‚   β”Œβ”€β”€β”€β”€ 0 V DC
         β”Œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”
         β”‚     VCC CLA CLK DI  EN  GND β”‚
 Button ─┼ SW ───────────────────────┐ β”‚
         β”‚ SW1                       | |
 0 V DC ─┼ DC-  U1 β”Œβ”΄β”€β”΄β”€β”΄β”€β”΄β”€β”΄β”€β”΄β”€β”΄β”€β”΄β” | β”‚
+5 V DC ─┼ DC+     β””β”¬β”€β”¬β”€β”¬β”€β”¬β”€β”¬β”€β”¬β”€β”¬β”€β”¬β”˜ | β”‚
         |                      β””β”€β”€β”€β”€β”˜ |
         β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
         β”‚ DC-                         β”‚
         β”‚ DC+                         β”‚
         β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
         β”‚ DC-                         β”‚
         β”‚ DC+                         β”‚
         β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
         β”‚ DC-                         β”‚
         β”‚ DC+                         β”‚
         β”‚     VCC CLA CLK DO  EN  GND β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Button schema

──┐
  β”œβ”€ Button
  β”œβ”€ 0 V DC
β”€β”€β”˜

USB cable schema

──────┐
White ┼─ +5 V DC
Black ┼─ 0 V DC
β”€β”€β”€β”€β”€β”€β”˜

ESP32 schema

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            VIN β”œβ”€ +5 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
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Logic level shifter schema

   0 V DC ────────┬──────── 0 V DC
+3.3 V DC ────┐   β”‚   β”Œβ”€β”€β”€β”€ +5 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 the back panel

The recommended method is to break the rivets with a 3mm drill bit. When drilled slowly, they will usually form a spiral which leaves minimal amounts of aluminum shavings. Clean and remove the back panel once the upper edge of all rivets are broken. Then switch to a 2mm drill bit to remove the last fragments, preferably in combination with a flat screwdriver or pliers.

[!TIP] The risk of hitting something inside is minimal, there are few electronic components and it is mostly just an empty box. For those who wish, it is possible to use 2 mm rivets to seal the unit again afterwards.

[!NOTE] Alternative methods to open the back panel could be using a tiny chisel and hammer, or even just a utility knife.

Removing the U1 chip

The U1 chip handles display outputs as well as the button input. It’s easy to locate as the device consists of 4 panels where the U1 chip is only present on one of them. Remove it by desoldering.

Wiring the LED panels

Next up is attaching the ESP32, via the logic level shifter. There’s two noteworthy locations, at the top labeled IN, and at the bottom labeled OUT. There’s no difference between input and output, except for DI and DO.

Connecting the button

The button can be wired in several ways, depending on the desired level of modification. The simplest and most visually clear method is to connect it directly between the ESP32 and GND. This keeps the wiring straightforward and self-contained, reducing the chance of confusion from the PCB’s existing circuitry.

If reusing existing connections is preferred, the wire on the SW pad can either be re-routed to the ESP32 or simply spliced by adding a second wire. For those comfortable with fine-pitch soldering, the newly desoldered U1 pad 7 provides another solder point with the same electrical result.

[!NOTE] On the LED panel, SW1 is internally tied to GND.

↔️ Logic level shifter

For safe and reliable communication between the ESP32 and the LED panels, a suitable logic level shifter is required. An TXU0104 is the ideal choice for this application, but alternatives such as the SN74AHCT125, TXB0104/TXB0108, and even TXS0104E/TXS0108E are reported to work as well, although with some minor caveats.

The ESP32’s 3.3 V signals are too weak for the SCT2024 to reliably register. At the same time, the SCT2024 operates at 5 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 must go through a level shifter.

[!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 ObegrΓ€nsad hardware is sub-optimally designed, but fortunately for those who desire it’s easy and straightforward to do something about it.

Wiring

The USB cable powers the first LED panel by connecting to its DC+ and DC- pads. Power is then passed along to the other panels through the secondary bus interface.

For best performance, the power supply should be wired in parallel to all four DC+ and DC- pads. This ensures even power delivery, significantly shorter power paths, and reduced noise.

Capacitors

The original U1 microcontroller 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. Optimal performance is achieved by distributing capacitance across multiple solder points, rather than concentrating it in a single large capacitor.

Easily accessible soldering points:

  • 4x DC+ / DC- pads β€” one at each panel
  • 2x VCC / GND pads β€” top and bottom
  • 4x J3 JTAG pads β€” pin 1 (square, VCC) and pin 4 (round, GND)
  • 3x C2 SMD pads β€” one at each panel, except the fourth which is already populated
  • 4x C7 SMD pads β€” one at each panel

[!NOTE] Capacitors are optional β€” consider adding if you already have some available, or if you notice flicker or instability.

πŸ”§ Configuration

Label Type Constant
CLA Digital output PIN_CS
CLK SPI SCLK PIN_SCLK
DI SPI MOSI PIN_MOSI
EN Digital output PIN_OE
SW Digital input PIN_SW2

Power and ground

Supplies power to both logic and LEDs.

  • DC+ / DC- is intended to supply high current to the LEDs.
  • VCC / GND is intended as outputs for low current components handling the logic.
  • Both are tied together internally on the PCB.

The IKEA ObegrΓ€nsad can draw up to 2.0 A at 5 V (10 W) under full load. Use a USB power supply rated for at least this continuous output.

[!CAUTION] Do not use the ESP32’s USB port while the IKEA ObegrΓ€nsad’s USB-cable is connected to a power source!

SPI CS

Chip Select for the LED drivers.

Any digital output pin can be used.

Configure in secrets.h:

#define PIN_CS 1 // CLA

[!IMPORTANT] Logic level shifter required.

[!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 labeled SS on 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

[!IMPORTANT] Logic level shifter required.

SPI MOSI

Master-out data line for SPI.

Any SPI MOSI pin can be used.

Configure in secrets.h:

#define PIN_MOSI 3 // DI

[!IMPORTANT] Logic level shifter required.

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.

Button

Button input for user interaction.

Optional to connect. Use an RTC-capable digital input pin for best compatibility.

Configure in secrets.h:

#define PIN_SW2 5 // SW

[!IMPORTANT] Avoid strapping pins as this pin is pulled LOW when pressed.

πŸ“ Template

Configure in .env:

# Device type
IKEA_OBEGRANSAD='true'

# Names
NAME='ObegrΓ€nsad'     # optional
HOSTNAME='obegransad' # optional

Configure in secrets.h:

#pragma once

// GPIO pins
#define PIN_CS 1   // CLA
#define PIN_SCLK 2 // CLK
#define PIN_MOSI 3 // DI
#define PIN_OE 4   // EN
#define PIN_SW2 5  // SW

// 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.