I've been playing around with a set of RGB hex lights, and am hoping to get local control. The exact brand is unknown, but both the lights and controller look identical to this listing on Amazon. The lights connect to each other and the controller with USB-A connectors, but the actual protocol is an unknown 3-wire addressable RGB protocol.
I opened up the controller and found a CB3S (BK7231N) module inside, along with test points for RX1/TX1, RX2/TX2, and GND, making it quite easy to flash OpenBeken. I attempted to dump the original firmware, but the process repeatedly failed at 1%, so I guess I'm starting from scratch. So far, I've identified the following connections:
| Item | Pin | RGB Data | 9 | Power Button | 14 | Mode Button | 8 | Music Button | 7 | IR Receiver | 26 |
Getting the buttons to work was relatively easy, but I've been unable to get the lights to do anything. The hexagon modules seem to be glued together, and I don't think I can get one open to see what chip it uses without destroying it. Additionally, most of the 1-wire RGB drivers in OpenBeken seem to require the use of the SPI, which pin 9 is not capable of. The RGB data wire is connected directly to pin 9 through a 100 ohm resistor. Any ideas on figuring out how to drive the RGB?
AI: Do you have any scope/logic-analyzer captures from pin 9 while the stock controller is running (for example, when changing color/mode/brightness)? Even a rough timing screenshot would help narrow down whether it’s 1-wire, UART-like, clock/data, etc.
I unfortunately do not have access to a scope, and even if I did I've already flashed OpenBeken onto the controller so I can't investigate the stock behavior any more.
AI: Can you confirm what the “3-wire” actually is between the controller and the first hex tile — just VCC/GND/data, or are there separate data/clock lines — and does the original controller still drive the lights normally so you can probe it in a known-good state?
It is just VCC, GND, and data. I don't know if this is useful, but the data pad on the board is labeled "ASD"