Hi,
I made a LED strip with x360 WS2812B. I use two 5V 8A power supply and Arduino to manage the data (with Adafruit Neopixel library). There is a shared ground between every component.
The data comes from an Arduino’s digital output. The transmission of the data works in a cascade way in which the data-out of the first LED goes to the data-in of the second LED and so on…
The last 120-150 LEDs have a flickering issue.
Cases:
Instruction to be all off: the last 120-150 LEDs flicker in various colors.
Instruction to be all red, they all turn red but the last 130-150 sometimes flicker in other colors.
Also if I use only 180 LEDs, the issue comes out with the last 60 LEDs.
Yes, but what Arduino? You have been detailed about the other components, but not the arduino. Different models of Arduino have different specifications, so it's important to remember to state what model of arduino is used.
Your strip of LEDs will mean the Adafruit library (and fastLED too) will need half of all the RAM memory on, for example, an Uno. Depending how much RAM the rest of your sketch needs to use, there may not be enough RAM and that can lead to this kind of problem. So post your sketch also.
Please read the forum guide so that you are familiar with what to post when asking a question and how to post it correctly.
What happens if you stop the processor from sending data, or if you disconnect the data input to the strip? When you stop the data it should "freeze". ...You may have to ground the data input or ground it through a 1K resistor. If it's floating it may pick-up random noise. (If it picks-up random noise the whole strip will flicker.)
Or, there is a voltage drop through the "thin" conductors built-into the strip and if you read the Adafruit guide they recommend "injecting" power (along with a ground connection) about every meter.
Hi everyone. I'd like to share some additional information that may help us better understand the issue at hand. I've included the code I used and a simple schematic. I'm working with an Arduino Mega for this project (however, in the schematic, you'll see an Arduino Uno as it was the only option available in the software). Additionally, I'm using two 5V 8A power supplies. I recently separated the data into three parts and used the PololuLedStrip library, but these changes did not resolve the issue. I should also mention that there are 30 buttons connected, all using pull-up and each with its own digital input and a shared ground. Despite disconnecting the buttons, the problem remains. The data to turn on the LEDs is sent from a Node.js script via the serial and read by the Arduino, and there are no read/write problems with this process.
Two thoughts
I too have had flickering issues with WS2812B leds. Unfortunately for me and possibly for you it maybe a fault at the led at the position the leds start to flash. There is no simple answer. I have found you will have to cut the strip beyond the suspect led and connect your arduino circuit to the strip beyond the suspect led. In this way you identify if the strip is at fault or not the problem.
Also, the leds do not need the full power supply rating if they are not on full brightness. Try your circuit with brightness set to a minimum when you apply power. It will take less current and will identify if you have a power supply problem. Ramp up the brightness and see what happens.
180*36mA = 6,48A. A good power supply and not to thin wire must be enough.
Why using Software Serial? Mega has 4 UART. They use less resources from the Mega.
It is not only that the software serial works without problems. The software interrupt on the received data can be the reason for problems with data write to the neopixel.