I am currently working on a Arduino / Raspberry Pi project, where I am trying to drive a line of 64 PL9823 LEDs which are said to be equivalent to the popular WS2812 LEDs. Datasheet: http://www.adafruit.com/datasheets/WS2812.

Everything just works fine, but from time to time the first LED in line seems to break (i.e. stays dark) and keeps the data signal from reaching the subsequent LEDs. It seems that this mainly happens when powering on the LED matrix.

Do you have any idea what could be the reason for this and how it could be prevented? I have already thought about voltage spikes that occur when powereing on the power adapter, but am unsure about how to implement a safety feature.

  • \$\begingroup\$ The problem is electrical overstress on the diode. If you want more than that you'll have to post a schematic with the details of your implementation. \$\endgroup\$ – John D Sep 1 '17 at 14:27

I would blame the interaction between the fast PWM current drawn by the LEDs and the wire inductance to the adapter, or the adapter itself misbehaving on transients.

You can try putting an electrolytic capacitor at the power terminals on the LED strip. Something like 470µF, or whatever you have lying around, preferably with ESR in the "not too high but not too low" zone, like 0.1-1 ohm.

If that fixes the issue, then my diagnosis was correct... If not, check the voltage with a scope to see if your supply does indeed misbehave.

  • \$\begingroup\$ I don't think the problem is related to any fast PWM or else. The problem is with the design of WS2812. It has three LEDs, two with Vf=~3V, and a Red with 2V, but all have a common VDD. It isn't possible to limit LED current for all three, and the thing must rely on PWM to avoid overcurrent (20 mA limit per LED). If on power-on the Red LED starts active, and no digital control comes yet, 5V might be applied to a 2V LED, spelling trouble. That's why they advocating some "smooth" power-up methods. This 2812 design stinks. \$\endgroup\$ – Ale..chenski Oct 20 '17 at 17:24

The pulse current in each LED can be up to 100mA in spec or 60mA DC suggests distributed C needed for each LED for immunity. Verify each LED has 150R + 0.1uF Then check Vdd voltage drop, Vss rise with all LED on or 64* 60mA worst case est. = 3.6A.

Timing ought to be verified and has been analyzed by some users.

enter image description here

Impedance controlled data lines need signals to be examined for integrity and noise margin with worst case pulse loads using two probes in differential mode with short gnd clip.

Sch. diode Clamp diodes may be necessary based on overshoot.

Shielded twisted pair needed for long cables.

Verify source Z, load R matched or close.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.