What does this circuit do?

I've got these inexpensive USB powered "grow lights". They have a small controller with buttons to turn them on/off, change to light "color" and change the brightness. Some have a timer feature to automatically turn them on/off. Lights like this are a dime a dozen on Amazon and they all seem to have the same (or similar controller). I want to replace the controller with an ESP32 running ESPHome so I can automate them.

I can look at the circuit and get a good idea of what's going on inside. There is USB 5v VCC in, a crystal for the timer function, an unlabeled MCU, a pair of (presumably) MOSFETS and three output wires. I've not tested the wires but I assume the red one is just 5v out (labeled VDD).

What do the white and black wires do? I imagine that one of them is a PWM signal from the MCU to a MOSFET and then to the LEDs to control brightness. What about the other? How does it handle changing color temperature? How do I go about reverse engineering this so I can accomplish the same thing with an ESP32?

I'm experienced enough with electronics to know how to proceed once I know what I am actually trying to reproduce.

Any help would be appreciated!

https://preview.redd.it/tuntk7klaboe1.png?width=2534&format=png&auto=webp&s=e0bb155cd7419c08025696cd61591e06b30872b6

https://preview.redd.it/1upidrvkaboe1.png?width=1357&format=png&auto=webp&s=0f50025fca93d1c2aa2329ccf90ffdca2fb5d0cb

Posted Mar 12, 2025, 7:55 PM UTC

17
Loading comments…