My partner bought this insane looking lamp.

I asked the eccentric man who dropped it off how to replace the lights if they die. He said "take it to an electrician".

So I took it apart and it had extremely questionable internals.

The plan was to replace it with low-voltage (ELV) guts so that it was legal. I bought 5m of LED strip, and a USB-C power delivery breakout. I had a spare ESP32 board and 5V Pololu regulator on hand.

I quickly learnt that:

  • The LED strip I bought is definitely not 2700k-3000k despite being labelled that way. It's more like 4000k.
  • A lot of USB-C wall adapters don't support 12V.
  • The USB C cable matters.

So I decided to:

  • Order a 5V SK6812 addressable strip, which had a better chance of being a warm white
  • Start with 20V from USB-C PD and step it down to 12V with a regulator for the LED strip.

After waiting for the stirp to arrive I mounted everything on proto board and this is what it looks like. I used BP connectors to join the LED strips up.

I drilled out two holes on the proto board to mount it to the frame. It's wonky because I didn't bother tightening the bolts much.

Adjustable voltage regulator mounted on proto board USB PD breakout board and ESP32 mounted on proto board

The lamp can be driven from the ESP32 and controlled like the other ESPHome devices in the house.

Original Mastodon posts: controller build and rainbow demo.