# WS2812B LED strip + Arduino First Pixel keeps dying/breaking

I am trying too hook up a WS2812B LED strip to an arduino nano. The current strip consists of 6 pixels, and the whole thing is powered via a 5.26V Pc power supply.

The problem is that the first pixel keeps dying after about 1 minute. This means i have to cut the strip and re-solder the connections. Before the failure, the strip runs the correct examples from the FastLED package.

As this happened I looked for solutions. https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices suggested: 1) adding a 1000 µF capacitor between ground and +5v to cancel power peaks 2) adding a 300-500Ohm resistor between the strip_Data_in and D5

I had no 1000µF+ Capacitor, so i used what i had, a 470µF, and installed it with the resistor.

This did not solve the problem. Another recommendation was to place a diode between the data and +5. ( I think this is to remove any power spikes in the data connection. With a good power supply this should not be necessary i guess, but it couldn't hurt.) Another tip was to add a 100kOhm resistor between data and ground.

putting all mentioned above together gives something like this:

But in the end nothing changed. I tried alot of variations of solutions:

• With and without condensator between ground and Vin.

• With and without resistor between data and arduino, and varied it between 220 Ohm to 1kOhm.

• With and without the diodes. I tried connecting data with a diode to ground, +5v, to both, and to none.

• I have tried using a 3.7V power source to see wether i could avoid burning the pixel. The Leds had too little power to light up.

• I have tried powering via the USB->Arduino->Arduino +5v pin -> strip +5v

Any Idea where i might be fucking up?

I have burnt 30 pixels so far, with all the same result: blinking, tripping, and eventually failure. Removing the first LED always fixed the problem. This brand of LEDStrip did work on some other premade controller.

Some of my own ideas, of causes:

• There really needs to be a 1000µF Capacitor. (i have never had trouble with voltage peaks with this powersupply, and this does not explain why the system fails after some time, instead of at plugin.)

EDIT 1): I did some additional tests.

• Raised the resistor before the data pin, from the recommended 470 Ohm, as high as possible. I reached 8kOhm (higher did not work). -> Same result, burned pixel

• Lowered the voltage on the Data input pin, with two resistances, one connected to ground. The LedStrip only recognised data input when the ''Din_High'' was above 3.5 volts. Running at a bit lower voltage stopped the leds from recognising data. Yet still, Same result -> Burned pixel.

• Changing the power supply: I changed the PC power supply to a 5V Power bank for loading celphones. The voltage this device was regulated to was between 5.2 and 4.8V. The behaviour was the same -> Burned pixel.

I would guess that IF:

• the 5V is stable and within 5.5 and 4.5V And

• The Din is within 0 and 5V

The cable should be unable to break itself right?

• Powering via the usb cable is the safest. What was the result with just one rgb led and all the power from the usb 5v? You need another rgb led to compare, can you buy a normal rgb led? Some led controller chips (inside the rgb led) operate at 3.3v and a trick is used to make them work at 5v, perhaps the premade controller did something special to avoid to damage them. Can you show your power supply? If it is cheap and not allowed in your country, then you should not use it. For now, I think the combination of a non-standard led strip together with a cheap power supply might be the problem. – Jot Dec 8 '18 at 16:59
• USB 2.0 only allows for 500mA. It can be more, but that's the (assumed / agreed upon) limit if you are plugging into, for example, a lap top. I would try a new / better 5 volt USB power supply. One that can provide several Amps of power. Guessing, those types of LED can take tens of mA. Perhaps 60mA. So 6 x 60mA is 360mA. So I would at least get a supply that is double that. – st2000 Dec 8 '18 at 17:53
• In the third picture, take out the bridging jumper on 40. (last before the input pin of the led) Put another series resistor in place of the wire, from the input to the diodes. Also take a short wire and connect the ground track at the module (41) and connect it directly to 51 at the bottom of the Nano, duplicating the ground connection. Keep the wire short, not using premade jumper wires. This is in case you have a point on the breadboard that is not making adequate connections. Your wiring technique is as good as can be expected using a breadboard. A scope would be handy at this point. – Rudy Dec 8 '18 at 18:20
• does the first pixel flash green before it dies? – dandavis Dec 11 '18 at 20:31
• first pixel failure seems to indicate a problem with the data line .... the second pixel is buffered by the first pixel ..... you could also try inserting a diode in series with the 5.26V power supply just to knock 0.6V off the voltage – jsotola Dec 12 '18 at 5:07

I finally found the solution:

The soldered pin connections at the cable was leaking current. This was due to the soldering flux remaining around the pins. Rinsing the connection with water carefully solved the problem.

Just scraping, and wiping with tissues between the connections is apparently unreliable. The flux is water cleanable, said the cup. Of course by taking care not to make anything wet besides the connection, and drying careful afterwards. Perhaps it failed after a minute or so because the flux started flowing due to heating up.

Thank you for your tips. You help me keep improving myself.

Any more tips on cleaning soldered connections are welcome.

To my understanding, anything connected to the data line (resistors, diodes, etc) is there to protect to data pin from either sourcing too much current to the LEDs or receive a too high voltage.

The capacitor, on the other hand, is there to provide a buffer and maintain the voltage at the right value when current absorption increases with a spike.

If your LEDS burn up and it's always the first one, assuming they are all programmed to lit up of the same color, the most reasonable reason IMHO is you are feeding too much current, in particular in the form of higher voltage through the resistors on the strip.

I suggest you double check the source voltage with no load and with a light load, then try a different power supply and, as last resort, try to lower the brightness intensity of the LEDS: set brightness to 50% and check if it takes like 3 or 4 times longer to burn the LED, which will be a confirmation about my statement.

The first LED is the one receiving the highest voltage in the strip as the strip itself has a non trivial resistance, especially the cheap ones. Lowering the brightness you are actually lowering the amount of time the LED is on and it should prolong the LED life in a non linear way.

If my assumption is correct, this also means you have already partially damaged all the LEDS on the strip, the closer to the power, the more damaged they are.

• I HIGHLY doubt that there would be any significant voltage drop between adjacent LED modules on the strip. If there was that kind of loss then a strip of lights would never work as they do. The most likely point of damage would be to the control input. And there is a reason that Adafruit recommends adding series resistance to the input. It is known to be the weak point. – Rudy Dec 11 '18 at 5:27

https://www.kitronik.co.uk/pdf/WS2812B-LED-datasheet.pdf

Check the power supply. It is likely too high a voltage. 5.3V is the absolute max. The resistor is only to prevent signal reflections on long wire runs. Neither it or the diodes are needed for your setup.

For comparison, here are 4 rings of 43 WS2812B each, with only a 0.1uF cap per chip, each ring driven from a different data pin on an Uno, which is off screen, and a 10A power supply (4 rings x 43 LEDs/ring * 60mA/LED = 10.3A max current). https://www.youtube.com/watch?v=CGOxbehyoM4 You can see the wires are much longer than yours. Unfortunately the camera doesn't self adjust to the brightness changes too well, so the video can be a bit glary at times.