0
\$\begingroup\$

My Raspberry-Pi controls 480 LED's on a WS2812b- strip. I have cut the strips into the shape of large digits and soldered these strips of 4 or 5 LED's together to create the number '8'. I then decide which LED's to light depending on what number I want to display. There are 15 such digits, using 480 LED's all on the same data line. I'm using a logic level shifter to get 5v for the LED's. I have a resistor in the data line and I am adding 5v into the LED strip at various points. This is being used as a cricket scoreboard. Sometimes, it all works fine. Why, if one LED fails to light correctly, do the following ones flash wildly? In the photo, the LED's should all be green. The red LED is the one erroring and this is immediately before the erroring LED's. Why should this LED error in the first place? Scoreboard digits

\$\endgroup\$
17
  • \$\begingroup\$ A diagram is easier to understand the question \$\endgroup\$
    – sai
    Mar 9, 2023 at 13:07
  • \$\begingroup\$ If it fails in the middle of the string, most likely power/decoupling issue \$\endgroup\$
    – bobflux
    Mar 9, 2023 at 13:11
  • \$\begingroup\$ A detailed schematic of your design would be helpful for troubleshooting. \$\endgroup\$
    – Matt S
    Mar 9, 2023 at 13:15
  • \$\begingroup\$ Consider using 3 or 5 data lines to limit the scope of any single failure. Consider running prefab strips mounted in parallel for redundancy. \$\endgroup\$
    – greybeard
    Mar 9, 2023 at 13:26
  • 1
    \$\begingroup\$ The data line is daisy-chained between all the LEDs. Each LED processes its own data and then passes the rest of the data to the next LED. It makes sense that if one malfunctions, it passes incorrect data to the next LED. \$\endgroup\$
    – user253751
    Mar 9, 2023 at 13:31

1 Answer 1

0
\$\begingroup\$

When one LED gets incorrect data or it misses a pulse or sees a double pulse, error happens and propagates through that LED to all subsequent LEDs.

I would have liked to see details about the resistor on data line. Now I see in the comments that you say you used TXS010BE for level shifting.

According to almost every question about similar level shifters, the circuits fail to work properly generally because it is just the wrong level shifter for the application.

My suggestion is to get rid of that level shifter and try another type that is known to work.

\$\endgroup\$
3
  • \$\begingroup\$ Thanks. I have no idea which works and which doesn't. Can you point me in the right direction please? \$\endgroup\$
    – Ian
    Mar 9, 2023 at 15:52
  • \$\begingroup\$ Do a search here. I think people have asked that here many times already. \$\endgroup\$
    – Justme
    Mar 9, 2023 at 15:53
  • \$\begingroup\$ @Ian The resistor will probably make things worse, so get rid of it or at least use a very small value if you want to experiment. But really the solution is to pick a normal unidirectional 3.3->5v level shifter. There are also many hacks online specific to the ws strips that avoid the need for a level shifter entirely. \$\endgroup\$ Mar 9, 2023 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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