WS2812B Flickering with WS2812Serial Library

Status
Not open for further replies.

vince.cimo

Well-known member
Hi guys, I'm having flickering issues using the WS2812B LED chips.

Here's what's going on:
*This is USB powered, so I have max 400mA to work with. Keeping that in mind...*

I have 12 WS2812B LEDs connected, which I planned on operating at half brightness, meaning I should be drawing a total of 30mA * 12 = 360mA.

With solid colors (Red, Green or Blue), I can run all 12 LEDs just fine.
Colors that require mixing, however, badly flicker if I'm running more that 3 LEDs.

What troubles me, is that this flickering is persistent even if I lower the brightness level to 1/10th of the brightness. Furthermore, the flickering sometimes turns the LED off, but sometimes flickers a totally different color, at a seemingly random brightness.

It seems like this issue has less to do with power consumption and more to do with my logic not properly getting to the LEDs or noise on the signal line.

I'm attaching my schematic...if you guys have any tips it would be greatly appreciated. schematic.jpg


UPDATE:
This is weird, but I've just found that if I send unequal RGB values to the LEDs, they seem to work fine...for example, 0x121212 will not work, but 0x121416 will work. Is this a software issue? Super confused...
 
Some checks of your level conversion process might be useful, point the standard blink at the pin (7?) and confirm the input to the pixels swings 0 to 5V. Other check is to measure the 5V power during operation but that seems most likely to be stable.

What would be interesting is if these pixels flicker when you have a delay(1000) active (are you updating too fast?) or if you use the adafruit neopixel library.

Failing that seeing the code you are using may be useful, since it is possible something is disrupting the timing critical elements of the pixel data stream.
 
Does it flicker if you run the LEDs with a Teensy 3.2? (not your custom board)

If so, can you post a small but complete program, so anyone can copy into Arduino and run it to check if the flicker happens?
 
Status
Not open for further replies.
Back
Top