Status: Geplant. Lampe gekauft, Controller gefunden, noch nichts gelötet.
Die Idee
Die IKEA OBEGRÄNSAD ist eine Wandlampe mit einer 16 × 16 LED-Matrix, einfarbig weiß. Ab Werk zeigt sie ein paar Animationen. Mit einem ESP32 statt der Originalsteuerung wird daraus ein kleines Display im WLAN: Uhr, Wetter, Lauftext, Pixel-Spiele, alles per Web-Oberfläche.
Mein Ziel: Die Lampe hängt neben dem Pult und zeigt als Lauftext, welcher Track gerade läuft. Artist und Titel, direkt von den Playern, ohne dass ich etwas tippe. Und zwischen den Sets wird sie zur Arcade-Kiste: Space Invaders und Pong.
Vorbild und Firmware
Der Umbau ist nicht meine Erfindung. Die Firmware stammt von ph1p und ist Open Source: ikea-led-obegraensad auf GitHub. Beschrieben haben den Hack Hackaday und Hackster. Laut Hackaday ist die Rückwand nur genietet und lässt sich aufhebeln, innen gibt es eine beschriftete Stiftleiste als Anschlusspunkt.
Die Firmware bringt laut README 25 Plugins mit, darunter Clock, Big Clock, Weather, Draw, Animation mit Editor im Browser, Game of Life, Rain, Firework, Falling Sand, DDP für Echtzeit-Pixel per UDP und eine Reihe Spiele.
Arcade: Space Invaders und Pong
- Space Invaders steht schon als Plugin in der Firmware, ebenso Breakout, Snake, Tetris, Flappy Bird und Tron.
- Pong gibt es als „Pong Clock“ und „BigPong“. Beides sieht nach Pong zum Zuschauen aus, als Spiel beschreibt das README es nicht.
- Steuerung ist die offene Frage. Der eine Taster an der Lampe wechselt laut README nur das Plugin. Wie man die Spiele selbst steuert, steht nicht in der Doku. Das prüfe ich im Code, sobald die Lampe läuft.
- Plan, falls es keine Steuerung gibt: Plugins dürfen laut README einen eigenen Websocket-Hook haben. Damit wird das Handy zum Controller, zwei Handys für Pong zu zweit.
Teile
- IKEA OBEGRÄNSAD (gekauft)
- ESP32 Dev KitC V4 von AZ-Delivery mit ESP32-WROOM-32, 4 MB Flash, CP2102. Neu für 5 € bei Kleinanzeigen in der Altstadt gefunden. Tipp: zwei nehmen, eins als Ersatz für den Fall, dass beim Löten etwas schiefgeht.
- Lötkolben, Dupont-Kabel oder Litzen, Stiftleiste
- Ordentliches 5-V-Netzteil
Plan für den Umbau
- Lampe öffnen. Innen sitzen vier Platinen, angeschlossen wird an der untersten: sechs Anschlusspunkte an der Unterkante. Der Original-Mikrocontroller oben kommt raus.
- Verkabelung laut Firmware-Doku: GND an GND, VCC an 5 V, EN an GPIO26, IN an GPIO27, CLK an GPIO14, CLA an GPIO12, der Taster an GPIO16 und GND.
- Firmware flashen, ins WLAN bringen, Web-UI testen.
- Bekannte Falle: GPIO12 ist beim ESP32 ein Strapping-Pin. Bootet das Board nicht, lässt sich der Latch-Pin in der Firmware auf einen anderen GPIO legen.
- Flackert das Panel oder bleibt schwarz: 5-V-Verbindung zwischen Matrix und Controller trennen und beide getrennt per USB versorgen. Viele Netzteile liefern nur 10 W pro Port, bei voller Helligkeit reicht das nicht immer.
Now Playing: Woher kommt der Track?
Die Denon SC6000 senden ihren Status per StageLinQ ins Netzwerk. Selbst abgreifen müsste ich das aber nicht: Ich nutze für meine Twitch-Streams schon die Now Playing App, die genau das macht, inklusive der Logik, welches Deck gerade wirklich hörbar ist und nicht nur vorgehört wird.
Zwei Wege von der App zur Lampe:
- Webhook (Pro-Feature): Die App schickt bei jedem Trackwechsel Artist, Titel, BPM und Key als JSON. Ein kleines Script auf dem Mac nimmt das an und ruft die HTTP-API der Lampe mit dem Lauftext auf. Offen: ob der Webhook lokal vom Rechner kommt oder aus der Cloud. Aus der Cloud käme er nicht ins Heimnetz. Das teste ich mit einem Mini-Server auf dem Mac.
- Datei-Ausgabe: Die App schreibt den aktuellen Track in eine lokale Datei, ein Script beobachtet die Datei und schickt den Text an die Lampe. Komplett lokal, läuft parallel zum Twitch-Overlay.
Ausbaustufe zwei: ein eigenes Plugin in der Firmware, das das JSON der App direkt annimmt. Dann zeigt der Webhook auf die IP der Lampe und auf dem Mac läuft nichts Extra.
Bonus-Idee: BPM und Beat-Position kommen aus derselben Quelle. Zwischen den Titeleinblendungen könnte die Lampe per DDP im Takt pulsieren.
Offene Fragen
- Wie steuert man Space Invaders und Pong? Die Doku sagt dazu nichts.
- Hat der Font der Firmware Umlaute? Sonst wird aus „Köln“ schnell „K?ln“.
- Lauftext auf 16 Pixeln Höhe: Wie lang darf ein Titel sein, bevor er nervt?
- StageLinQ will Ethernet, die Lampe hängt im WLAN. Die Brücke auf dem Mac muss beide Netze sehen.
Wer hat die OBEGRÄNSAD schon umgebaut oder eine andere Now-Playing-Anzeige am Pult? Schreibt in die Antworten, was bei euch funktioniert hat, besonders zu Netzteil, Spielsteuerung und Lesbarkeit. Fortschritt kommt hier als Antwort unter den Beitrag.