Ws2811 arduino questions


I bought a cheap strip of what I assume are WS 2811 LED’s. It has a 12v lead, red, green and blue as well (4 wires total).

Is it possible to individually address just one LED so only that one comes on? Also if I cut the strip on the cut lines- how does the arduino know how to address the led’s individually now that there are less led’s on that strip? So for example I start with a strip of 20 and I cut it on the cut line and now there are 12- will what used to be led #13 just not illuminate if I try to address it?

Also- any recommendations on how to safely connect power to the strip via external power supply and still use the arduino to control it? I’ve messed with the 12 led neopixel ring and have that figured out but I’m powering it with the arduino (uno) so it’s a bit different.

Thanks for any help you can offer!

Post a clear, readable picture of 3 LEDs and their control chip, or whatever you have,.

Attached. After doing a bit more digging, I believe what I have is a strip of RGB analog LEDs but it would be nice to get confirmation one way or the other.

Regardless of what I have, my questions still stand in regards to WS2811 LEDs.

Thank you for your response!

Ok, those look like 3 LEDs in a 6-pin package with a current limiting resistor per color. That would not be addressable on an LED by LED basis. You apply 12V, take one of the R, G, B leads low and the whole string will light up.

If you had strips with WS2811 and LEDs, or WS2812B (which is controller and LEDs combined) then you could address them individually. The FastLed.h library, or the Neopixel library from Adafruit, will let you do that. For every WS2811 or WS2812B in the strip, the library sends out 3 bytes, and you update the whole strip together every time you make a change for any on device. Unchanged chips still must have their data resent. If you code it for 20 (so 60 bytes go out) and then only connect up 10 LEDs, the first 30 bytes will disappear, and the last 30 are what get used by the chips.

As for power - connect the signal to the Arduino, power to the strip from the supply, and Gnd from the Arduino to Gnd from the supply.

Not all ws2811 and ws2812b strips allow you to control each led individually.

Strips requiring a 5V supply usually allow individual control.

Strips requiring a 12V supply usually allow control of each group of 3 LEDs, but not each individual led.

Strips requiring a 24V supply usually allow control of each group of 6 LEDs.

There are exceptions to this, I'm sure.

As Crossroads said, and you suspected, your strip is not individually addressable at all. There are no controller chips on the strip or integrated into the LEDs. But the most obvious sign is that there are separate connections for R, G & B. There are no connections for data in/out or ground.

To try to answer your question about addressing the LED in an adressable strip another way: each led/chip does not have a unique identity, they are all identical. What matters is their position on the strip. The led/chip nearest the Arduino is always #0. The one next to that is #1. If you take a strip of 20 and cut it after led 12, then attach the remaining 8 to the Arduino, the led that was #13 before you cut it is now led #0.