5
\$\begingroup\$

I am building a matrix with 20 WS2812 LED Strips. Each strip is 80 pixels for a total of 1600 pixels. I want to drive them all from a single Arduino Mega board. To handle the power needs, I have a 24V 15A power source that I then run to 5 buck converters that each power 4 strips.

The data wire runs through all 20 strips but every 4 strips the power is connected to a separate buck converter.

Currently it works but there is flickering across the strips. I'm not sure how to diagnose or fix the problem.

Is this the right way to try to power a large array of pixels?

Thanks for the help, I'm a computer science guy trying to pick up the EE side and am still relatively inexperienced so any help or guidance is very appreciated.

****** UPDATE***** I've made some progress here. I am now using 4 digital outputs on the arduino. Each output connects to a set of 4 LED strips which is also connected to a buck converter. That eliminates the flickering. So I think it had to do with the data line running through the LED's but the power coming in from the arduino and them not being in sync (at least that's my current hypothesis).

\$\endgroup\$
2
  • \$\begingroup\$ You failed to mention what the power requirements are for the strips or any details on the buck converters. If you power a single strip rather than 4, does it still flicker? What is the flicker rate? Do all strips flicker at the same rate? Have you tried lighting only one color at a dim intensity? Do they power up flickering? With and without the data cable connected? \$\endgroup\$ Aug 21, 2018 at 12:44
  • \$\begingroup\$ The Arduino might not have enough RAM to deal with all the RGB values. \$\endgroup\$
    – Wesley Lee
    Aug 22, 2018 at 8:37

2 Answers 2

1
\$\begingroup\$

You do not say what Library you are using to address the LEDs. I have found the following regarding the FastLED Library: https://github.com/FastLED/FastLED/issues/288

There it says that with 1024 LEDs on a single string you are already limited to 30 frames per seconds. That alone could already be perceived as flickering, and you are using quite a lot more than 1000 LEDs, so you will have an even lower framerate. The Adafruit NEOPixel library has a similar issue as far as I know.

I would suggest splitting the strings into two, or even four separately controlled strings.

To test for a potential power issue, you should be able to reduce brightness in your code. In my experience this will reduce power consumption by a lot, and if the flickering then stops you might indeed have a power issue.

\$\endgroup\$
2
  • \$\begingroup\$ Not just a matter of framerate, the Arduino might not have enough RAM to handle all the RGB values \$\endgroup\$
    – Wesley Lee
    Aug 22, 2018 at 8:36
  • \$\begingroup\$ Thanks - I've made some progress here. I am now using 4 digital outputs on the arduino. Each output connects to a set of 4 LED strips which is also connected to a buck converter. That eliminates the flickering. So I think it had to do with the data line running through the LED's but the power coming in from the arduino and them not being in sync (at least that's my current hypothesis). \$\endgroup\$
    – Dan B
    Aug 22, 2018 at 15:26
0
\$\begingroup\$

Each pixel draws 60mA 4 strips of 80 pixels is 320 pixels at 60mA equals to 19.2A What buck converter are you using? You could have a power issue.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ This answer looks a lot like a comment. \$\endgroup\$ Aug 22, 2018 at 16:10

Your Answer

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

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