I picked up an Artika ceiling light on clearance at Costco.

Its formatted as a giant oyster light, and internally, has a smart power supply with an IR receiver, and (electrically) a pair of LED strips, one with warm white emitters and one with cool white emitters.

The power supply isn't that smart, there is no network connectivity, only IR. To make it smarter, I buzzed out the microcontroller to identify where the pins went, with the intent to replace it with an ESP32 running ESPHome. 

I chose to go with an ESP32 rather than an ESP8266 for a couple of reasons. First up, the ESP32 supports Bluetooth proxying in ESPHome, so this provides better Bluetooth coverage in the home. Secondly, the ESP32 has hardware timer outputs on many pins, so I can have buttery smooth fades on both LED channels.

The install was pretty straightforward, with a pin connected to the IR receiver, and two more for the warm white and cool white channels. Power was a bit of an issue, connected to an internal 19V rail, there was a 78L05 5V regulator. This has a current limit of 100mA, and was insufficient to power an ESP32, which can spike as high as 300mA. Instead, I took a lead off the 19V rail, and fed it into a cheap DC/DC supply board (I keep a pile of these around as they are pretty versatile), which I configured to output 3.3V directly into the ESP32. I glued this onto the ESP32 on a blank area, and wired it to the 3.3V pin on the ESP32.

For the wiring, I used 0.5mm enamel wire, which is great as it is thin, insulated, and you can make a connection to it just by soldering it. It turns out this was a bit stiffer than I would have liked, and I should have used a thinner wire. The wire ended up being about the same width as the pads I was trying to solder to.

There wasn't enough space in the case to fit the ESP, but since it was wired up to the low voltage, isolated side of the power supply, I mounted it externally, ensuring the enamel wire was long enough to reach out of the case. 

I've attached my ESPHome configuration as a reference in case anyone needs to do a similar integration.

Attachments
Images
Ceiling light box
Light controller PCB and pinout
Microcontroller replaced with an external ESP32
Case closed and the ESP32 mounted on the side