Hi all, I'm having an issue which seems to be a particular set of

Hi all,
I’m having an issue which seems to be a particular set of LED strips + FastLED code.

Firstly, thank you so much for the FastLED library! It’s been fantastic in the short time I’ve been using it and I really appreciate how well documented it is.

Hardware: I’m driving a 64-long WS2812b strip with the NodeMCU ESP-12E.

I’m having an issue with flickering, which you can see in the video below.

If I replace this particular strip with a strip from a different batch purchase, the flickering goes away.
If I replace the NodeMCU with an Arduino Mega, the flickering goes away.
If I replace the FastLED library with the NeoPixelBus library, the flickering goes away (you can see this here: https://photos.google.com/share/AF1QipOIo2t34G4Bs-em3d87vJ4EUBT_h4eNFzkOnw-fMKS8U_JfrYY0VjCcab5zdoq5jg?key=dXk3V1ZJeHRvVklNNjhva2R1Y1VVYUM4enVGSzln)

About the LED strips:
I have strips from two different purchases that exhibit this behavior. I have strips from a third batch purpose that does not exhibit this behavior. I can’t determine any notable difference between the strips, and unless they were incorrectly advertised (I purchased them from Amazon), they are WS2812b strips.
I’ve noticed also that this strip which exhibits this flickering behavior does not seem to dither as smoothly (it has a distinctly “steppy” fade) as the strip which functions as expected.

So there is an unexpected interaction between the FastLED communication and the particular batch of LED strips that I have.

I have made sure that everything is grounded properly. I’ve attempted various strip definitions from the FastLED library. I tried a logic level converter, and this did not help.

I would prefer to continue using FastLED rather than switch libraries, as I already have my code written there, and would prefer not to port it due to time constraints. On the topic of time constraints, I have a project that will be shipping this Saturday and don’t have time to buy several batches of LEDs and hope that one of them does not exhibit this behavior.

Can anyone point me in a helpful direction? Thank you in advance!
https://photos.google.com/share/AF1QipONbxSfaQQI7wXRbt43EKuuVRTPxPYkysF8troTdTu2xw0AknVtmKZxcPC1l-DVKg?key=ZEU3SE1sbTY4czlCYVdNd2x0ZC01RmFoWmxSb3VR

As I understand it, FastLED drives the LEDs faster than other libraries.

The only things I can think of are:

Adding a resistor on the data line, between about 100ohm and 500ohm

Or the first led could be the problem, cut out off, or cut the strip in half?

Which level shifter did you use?

This issue occurs at shorter lengths as well, and as far as I can tell, happens until I get down to a length of 16 leds or shorter. Anything longer seems to exhibit this behavior.

I"ll try cutting off the first LED as a last resort, because so far this behavior happens on every strip from this batch.

I’ll try the resistor, thank you.

I used these:

Hmm, looking again at the product page, the description for these LED strips say they’re WS2811s (down in the description, the title says WS2812B) that works with WS2812B controllers.

Setting the board definition in FastLED to WS2811 does not solve the problem, however

Adding a 500 ohm resistor turns the LED output into noise that only reaches the first 3 leds or so. This makes me think the signal voltage is too low in the first place.

aha. although i do not have wifi enabled, the solution to the problem below helped me. For some reason this strip is having an issue with interrupts, whereas other strips are not.

adding #define FASTLED_ALLOW_INTERRUPTS 0 solved the issue for me.

Thanks!

Well done :slight_smile: