I ordered a set of inexpensive ($20) grow lights in early 2020 for some supplemental lighting for a few succulents. The lights worked for intended purpose but had some annoying features like always on or flashing bright blue LEDs and the on/off timer needed to be reactivated every time power was interrupted. Reactivation had to occur at the time when you wanted the lights to turn on.
In early 2022 the controls stopped working the lights. A quick inspection didn't identify anything obviously wrong with the unit so a similar replacement was ordered. The lights sat on the work bench inching closer to an eternity in one of my junk bins but were spared by this project.
Replacing the damaged control board and eliminating the annoying features is the objective of this project. The replacement lights had a similar control board but the physical case was redesigned. I designed the a replacement PCB to fit either enclosure. I ordered a few more different varieties of these USB powered grow lights. Unfortunately seems like the new control box with RGB indicator lights are much smaller and will not work my redesigned board. (At least not without 3d printing a replacement case too.)
The replacement PCB uses and ESP8266 module which just fits inside the case. The factory boards had option to control 6 different channels of outputs so this was replicated. The 5V input power has a linear regulator for 3.3V power for the ESP with some protection features added for good measure.
For the software side of things, ESPHome is perfectly suited to IOT these grow lights. Proof of concept ESPHome configuration allows all of the button inputs to accessed in home assistant and PWM output of each LED channel controlled. My test unit has been running the original set of lights for 2 weeks now controlled by an automation routine in home assistant.