Als ich mir in meinem Zimmer im Studentenwohnheim eine zweite Ebene eingezogen hatte, bemerkte ich schnell wie sich die eine Ecke meines Zimmers ohne Fenster und ohne Deckenlicht zu einem schwarzen Loch verwandelte. Glücklicherweise stand sowieso ein IKEA Besuch an, und von da an bezwangen zwei ROLFSTORP Lampen für je 7 € die Dunkelheit.

Im Alltag merkte ich aber schnell, dass mir das separate Anschalten zweier Lampen zu unpraktisch ist. Eigentlich wäre es viel praktischer, wenn die Lampen einfach zusammen mit der Deckenlampe angehen würden.

Geschlossene Lampe

Erste Schritte

Auf die inneren Werte kommt es an

Frei nach diesem Motto habe ich die Lampe erstmal geöffnet. Das Gehäuse wird von einigen Plastikclips zusammengehalten. Nachdem man das Batteriefach geöffnet, die dortige Schraube gelöst und alle Batterien entfernt hat, lässt sich die Diffusorabdeckung abclipsen. Am besten ging das bei mir mit vorsichtigem Aufhebeln an einer der Stirnseiten mit einem Messer.

Nahaufnahme des Öffnens

Danach kann man die Blende komplett abnehmen und sieht direkt die Platine mit den LEDs sowie, an einem Ende, einen silbernen Schaumstoffwürfel mit leitendem Metallnetz. Das ist die Elektrode für den Touch Knopf.

Geöffnetes Gehäuse mit allen Teilen

Aus der Nähe sieht man den Touch Sensor noch etwas besser. Das leitende Netz sitzt direkt auf einem kleinen Pad der Platine, der Schaumstoff darunter sorgt nur dafür, dass beim Zusammenbau genug Anpressdruck gegen das Gehäuse entsteht.

Touch-Schaumstoff

Als nächstes lässt sich die Platine aus den Halterungen herausklipsen. Auf der Rückseite sieht man neben den Kontakten für die beiden AA Zellen auch schon die komplette Elektronik neben dem Mikro USB Port auf der PCB.

Übersicht der Rückseite mit Batteriefach

Ein bisschen Reverse Engineering

Um die Lampe sinnvoll umzubauen, braucht man erstmal ein grobes Verständnis davon, wie die Schaltung funktioniert. Zum Glück ist die recht überschaubar gehalten. Abgesehen von den LEDs sitzen alle Bauteile auf der Rückseite neben dem Mikro USB Port. Die Schaltung besteht im Wesentlichen aus drei integrierten Schaltkreisen mit ihren jeweiligen passiven Bauteilen drumherum.

Übersicht der Elektronik

Auf der Platine sitzen drei ICs: CS32F302FE0, MT7282 und CN3085.

Der CS32F302FE0 sitzt an der Stelle, wo auch die Leiterbahn zum Touch Pad ankommt, und übernimmt vermutlich die kapazitive Auswertung des Touch Signals sowie die eigentliche Ablaufsteuerung der Lampe (an, aus, Helligkeitsstufen). Ein offizielles Datenblatt dazu konnte ich trotz einiger Suche nicht finden, der Chip scheint eine wenig dokumentierte MCU eines chinesischen Herstellers zu sein. Praktischerweise hat sich schon jemand anderes an genau dieser Lampe versucht und das Verhalten des Chips gemessen statt nur zu raten: im Forenthread bei All About Circuits wurde gezeit, dass ein Pin des CS32F302FE0 je nach gewählter Helligkeitsstufe eine unterschiedliche Analogspannung ausgibt, gemessen wurden dort etwa 1,49 V, 0,92 V und 0,63 V für die verschiedenen Stufen.

Nahaufnahme des CS32F302FE0

Diese Spannung geht über ein Netzwerk aus Widerständen, unter anderem R43 und R45, direkt auf den ADJ Pin des MT7282. Das ist laut Datenblatt ein Boost/Buck Boost/Buck Konstantstromtreiber für weiße LEDs mit einem Eingangsspannungsbereich von 2,5 V bis 40 V, der genau zu der Spule und der Schottkydiode neben dem Chip passt. Der ADJ Pin regelt dabei die Helligkeit, jede Spannung über etwa 1,6 V wird laut Datenblatt auf 100 % Stromausgabe geklemmt. So ergibt auch die verschiedenen Analogspannung des CS32F302FE0 Sinn: Sie steuern so den LED Treiber und damit das Helligkeitslevel.

Nahaufnahme des MT7282

Der dritte Chip, CN3085, ist laut Datenblatt ein Laderegler für NiMH Akkus mit bis zu 1 A Ladestrom, was gut zu den beiden verbauten AA Zellen passt. Für den Umbau kann man ihn getrost ignorieren, da die Lampe am Ende dauerhaft über USB betrieben wird.

Nahaufnahme des CN3085

Umbauanleitung

So soll die fertig umgebaute Platine am Ende aussehen, mit dem zusätzlichen Board und drei Litzen zur Hauptplatine.

Übersicht des fertigen Umbaus

Benötigtes Material

Kabel am ESP32 anlöten

Es werden je ein Kabel an den 5V Pin, den GND Pin und einen digitalen Pin des ESP32 gelötet. In meinem Fall war das GPIO33.

Stromversorgung

Für die Stromversorgung nutze ich den Bypass Kondensator direkt neben dem Mikro USB Port. Sobald die Lampe eingesteckt wird, wird darüber auch der ESP32 mit Strom versorgt. Die Kabel dafür werden wie folgt angebracht:

Anschluss der Stromversorgung

Signal

Den digitalen Pin des ESP32 verbinden wir auf der linken Seite mit dem Knotenpunkt von R43 und R45. Diese beiden Widerstände bilden den oben beschriebenen Spannungsteiler, der normalerweise das Ausgangssignal des CS32F302FE0 auf den ADJ Pin des MT7282 gibt. Der ESP32 übersteuert dieses Signal jetzt direkt und übernimmt so die Helligkeitssteuerung. Der Nachteil dabei ist, dass wir dadurch die Fähigkeit verlieren, den Touch Sensor noch direkt zu verwenden, da der ESP32 das ursprüngliche Signal überschreibt. Wer den Touch Knopf parallel weiter nutzen möchte, findet im oben verlinkten Forenthread einen alternativen Ansatz über einen zusätzlichen Pullup Widerstand statt einer direkten Übersteuerung.

Anschluss des Signalpins

Robust machen

Anschließend kann der ESP32 direkt in das Batteriefach geklebt werden, dort ist ausreichend Platz. Der Batteriebetrieb ist für mich sowieso uninteressant, da ich die Lampe dauerhaft am Netzteil nutzen will. Die Kabel können danach ebenfalls festgeklebt werden, damit später beim Zusammenbau nichts lose in der Gegend rumhängt.

Fixierter ESP32 im Batteriefach

Programmieren

Jetzt kann der ESP32 per USB mit dem PC verbunden werden. Als Software habe ich mich für ESPHome entschieden. Damit lässt sich die Firmware für gängige Mikrocontroller allein über eine YAML Konfigurationsdatei erstellen, ganz ohne eigenen Code, und direkt in Home Assistant einbinden. Für meinen Fall reicht die monochromatische Lampe von ESPHome, die aus einem einfachen Helligkeitsausgang eine dimmbare Lampe macht und sich so ohne viel Aufwand programmieren und in Home Assistant einbinden lässt.

Anschließend kann alles wieder zusammengebaut und getestet werden. Der ESP32 sollte danach in Home Assistant auftauchen und sich von dort dimmen und zusammen mit der Deckenlampe schalten lassen.

Fazit

Auch wenn es inzwischen schon fast zwei Jahre her ist, dass ich die Lampen umgebaut habe, ist mir das als schönes kleines Projekt für einen Abend im Kopf geblieben. Für mich hat es alle Punkte erfüllt: schnell umzusetzen, günstig, praktisch, und seitdem läuft es fehlerfrei.

Fertig zusammengebaute Lampe von hinten mit Typenschild