-
Hi there! I have bought a RGB LED curtain (this one, "Traumheim Smart Color Changing Lights") and noticed that it doesn't quite work in WLED, no matter which protocol I choose. So I pulled out the scope and attached it to the original controller, and found out that the timings are out of spec for WS2812. Instead, they are:
These values appear to be pretty constant, and yes, the symbol lengths significantly differ between a 0 (1410 ns) and a 1 (1830 ns). I'm not a C++ programmer, but I can talk to that strip without any issues using MicroPython with a custom NeoPixel timing: leds = NeoPixel(pin, 400, timing=(330, 1080, 1170, 660)) The curtain uses 20 strands of 20 LEDs, with each LED enclosed in a white ball around 15 mm in diameter, rather hard (but still somewhat squishy) silicone or plastic. Color order on the wire appears to be RGB, not GRB. I don't know whether the LEDs use fixed addresses or whether there's some kind of chip in the small white plastic housing on the top of each strand. I don't know whether NeoPixelBus supports this protocol already because I'm quite confused by the plethora of WS28xx variants. Can anyone of you please tell me which protocol this is, so I can possibly talk to the WLED devs to add support for it? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
You didn't mention which platforms you use. Esp32? Esp8266? Some "methods" (how we use hardware to generate the signals) can't support asymmetrical timing like that. But often specs are not very accurate. With your working micro python, try these and see if they work |
Beta Was this translation helpful? Give feedback.
I've cut the wire down from almost 5 m to just 3 m. I can now successfully talk to the LEDs using WLED's "400 kHz" protocol.
Thanks again for your efforts @Makuna, I highly appreciate it!