3 Strips - WS2812b LED's not always firing.

I'm hoping someone can help here.

I have 3 strips of WS2812b led's (300 leds per strip). when connected all together and powered up, sometimes the first strip will only have the first 15 or so led's fire properly, the rest of the 900 leds dont work or the odd chip lights up but not following its directions. in order to get them working again I have to sort of short them out so they all fire back up and work as expected.
I dont think its anything to do with the code as I have the same results when using a sp105e controller (Alitove SP105E bluetooth controller)

Currently I have them powered with two 5v, 30amp power supplies with power injected at the beginning and end of each strip. Before each injection I have a 470uf Cap installed.

What happens is when power is connected, sometimes they all fire and work as expected. I can disconnect the power and reconnect and they will continue to work. A few days later, i'll connect the power and like mentioned above, only some work and the rest don't. At this point, disconnecting and reconnecting power does not rectify the issue. In order to get them to work again I have to quickly tap the leads to the power source and after a few tries the first string will fire properly but not always the other two strips. I have to tap the leads several time to get the other two strips to fire or disconnect the strips and short each strip individually to get them to start working again. The same scenario occurs when connected to the Arduino. (only difference is I have a 100k resistor between the Arduino and leds data connection.

I cant seem to see any rhyme or reason why sometimes it works consistantly sometimes and others it doesn't?

I'm hoping someone here has had the same experience and knows what the issue is as I want to use these as holiday lights around the eaves and don't want to install everything only to have them buggering up.

Thanks

Here are examples of what is happening. the first picture shows everything working and had for a day or so. was working this morning, then this afternoon I powered it up and it failed.
*note: the breadboard wiring is different now so don't focus on that. I just wanted to show an example of what the failure looks like.


Show us a good image of your wiring.
Posting images:
https://forum.arduino.cc/index.php?topic=519037.0

Is the power supply a rock solid 5VDC all the time?

Use 470 Ω resistor, not 1000K

Power supplies are 5v 30A each. I measure 5v at the beginning and end of each strip so power is stable.

Here is the worst schematic ever, hope it makes sense. Basically, power supply 1 feeds 5v to the beginning and end of strip 1 and beginning of strip 2. Power supply 2 feeds 5v to the end of strip 2 and beginning and end of strip 3. Each connection has a 470uf 50v Capacitor.

Uno does not have enough ram memory to drive 900 ws2812b LEDs. 3 bytes needed for each led, so 2.7K ram required. Uno has 2K. You need to upgrade your Arduino. Mega, ItsyBitsy M0... What I don't understand is how it could ever work. It shouldn't.

Also your schematic shows a 100K resistor in the data line - around 200 times too high - and your OP said 1000K.

PS. Where are you from? "Buggering up" is a very British expression, but "holiday lights" isn't.

PaulRB:
Uno does not have enough ram memory to drive 900 ws2812b LEDs. 3 bytes needed for each led, so 2.7K ram required. Uno has 2K. You need to upgrade your Arduino. Mega, ItsyBitsy M0... What I don't understand is how it could ever work. It shouldn't.

Also your schematic shows a 100K resistor in the data line - around 200 times too high - and your OP said 1000K.

PS. Where are you from? "Buggering up" is a very British expression, but "holiday lights" isn't.

I actually do have a Mega, The site I made the schematic with only had an uno so I used that for reference. I'll swap out the resistor for a 470r as suggested, but still doesn't address the issue why I have the same problem with the SP105E controller. I'm thinking the issue is more with the capacitors and current from the power supply, as it's the only common components in both scenarios.

I'm Canadian BTW.

I appreciate any help the community can provide, I would love to have these up and running.

I actually do have a Mega, The site I made the schematic with only had an uno so I used that for reference.

Oh, great. You could have at least mentioned that fact. Before we spend any more time thinking about your problem, please think carefully: is there any other misleading information you have given us so far?

PaulRB:
Oh, great. You could have at least mentioned that fact. Before we spend any more time thinking about your problem, please think carefully: is there any other misleading information you have given us so far?

My Apologies. I went to swap out the resistor but the closest I have is 330r or 1K (I used the 330r). The LED strips have a 3 wire connector for Data, +5 ,GND. In addition a set of 2 wires for +5 and GND. Power is injected to each strip via the 2 wires but I have the 3 wire connectors connected to each other for the data, this is how the power gets to the Arduino. The grounds are all connected throughout via -V not the AC GND.

rinkguy:
Power supplies are 5v 30A each. I measure 5v at the beginning and end of each strip so power is stable.

Here is the worst schematic ever, hope it makes sense. Basically, power supply 1 feeds 5v to the beginning and end of strip 1 and beginning of strip 2. Power supply 2 feeds 5v to the end of strip 2 and beginning and end of strip 3. Each connection has a 470uf 50v Capacitor.

So, if I understand you correctly, the +5V rails of the two power supplies are connected to each other via strip #2?
If so, you should definitely change that!

Connect the GND of both power supplies, but not the +5V.

Shuzz:
So, if I understand you correctly, the +5V rails of the two power supplies are connected to each other via strip #2?
If so, you should definitely change that!

Connect the GND of both power supplies, but not the +5V.

Okay, I'll change that. It'll require me to use a third power supply. May I ask why injecting power to the same strip but from different sources is a problem? It's 5 volts regardless (please excuse my ignorance, I just want to understand).

I think I figured out what the issue is by trail and error, I actually just happened upon it by chance. I've found that the strips will fail when it receives GND and +5V at the same time, i.e. when I flip the switch on. I'm able to replicate the issue consistently on all power sources, including the Arduino via USB as the power source.
If the GND is connected before the strips receive +5V, then everything works, and this can be replicated each and every time.

So, the question is... How can I delay the +5V from the power supplies to the strips?

If the GND is connected before the strips receive +5V, then everything works,

No supprise it was failing if you do not have a common ground between your Arduino and your power supply. Which is how I read your statement of connecting the ground and supply “at the same time”. This is because there is no such thing as “at the same time” in electronics, it looks like what was actually happening is that the 5V was being applied a fraction of a second before the ground leaving the strip floating and trying to parasitically power the strip through the data line.

You should not connect the outputs of two power supplies directly together because they fight. That is one changes the voltage to ensure it is regulated and that causes the other to change the voltage to compensate.

You can connect two supplies together if you use diodes between them but with this sort of current the diodes need to be big and they will get hot.

Grumpy_Mike:
No supprise it was failing if you do not have a common ground between your Arduino and your power supply. Which is how I read your statement of connecting the ground and supply “at the same time”.

I actually do have a common ground connected throughout with a separate ground wire.
What I mean is if I have the PSUs powered up without the + & - wires connected and I touch the - to the -terminal then the +to the + terminal all works fine. If I have both + & - wires screwed down in their terminals then they don't always work, the odd time it fails. I can get them working again by doing the - to PSU first "trick".

What I mean is if I have the PSUs powered up without the + & - wires connected

That is what I mean, you should always have the - ve wire connected.

Just cut the middle strip in half, power each half from one of the two supplies, connect the GNDs together and you are done. You don't need a third power supply.

Grumpy_Mike:
That is what I mean, you should always have the - ve wire connected.

Okay, I see what you're saying. Regardless, I do have a separate ground connected to the arduino. And yes there is no need to disconnect the other ground from the second leads from the strip. This is just what I was doing when I was troubleshooting the issue.
Do you have any suggestions how I can deter the +5V getting there first?

Shuzz:
Just cut the middle strip in half, power each half from one of the two supplies, connect the GNDs together and you are done. You don't need a third power supply.

Good idea but they are waterproofed and I don't really want to cut it in half. I got the PSUs for $8 each anyway so no big deal.

In your circuit you seem to have the 5V from your power supply connected to the Mega through a connector.
Is the power supply powering the Arduino? If not you should not wire it like this.

Grumpy_Mike:
In your circuit you seem to have the 5V from your power supply connected to the Mega through a connector.
Is the power supply powering the Arduino? If not you should not wire it like this.

Yes, the Arduino is powered by the PSU via the connector.

rinkguy:
I got the PSUs for $8 each anyway so no big deal.

In that case, go for the third PSU. They are pretty oversized for a single strip, but that will give you some headroom in case you want to expand in the future.

Also, there's no kill like overkill... :wink: