I have some flicker issues with HiLetGo NodeMCU ESP8266 while trying to use the

I have some flicker issues with HiLetGo NodeMCU ESP8266 while trying to use the 4x parallel output. (ESP-12E)

Just the first led in each strip flickers, and it flickers within the range set by LEDS.setBrightness()

You can see the flickering in this video (led on left corner):

my code:

-------

2 questions!

  1. Is there a fix for this using this particular board / version of the esp8266?

  2. If not, is there another vender or esp8266 board that anyone can confirm DOES work with 4 parallel strips with no flicker?

Ultimately I just want to stream as many pixels as possible, I’m used to using a teensy to do this as a cabled solution, but looking for the best way to stream pixels wirelessly.

Thanks!
Lucas

The eap8266 4x parallel output option doesn’t work correctly right now.

Thanks for the clarification! I’ll start trying some other solutions for the time being.

I used four strips on the ESPStaff using FastLED’s support of multiple strips in the same CRGB array using multiple output pins:

CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP];

void setup() {
FastLED.addLeds<WS2812, 5, GRB>(leds[0], NUM_LEDS_PER_STRIP).setCorrection( TypicalLEDStrip );
FastLED.addLeds<WS2812, 6, GRB>(leds[1], NUM_LEDS_PER_STRIP).setCorrection( TypicalLEDStrip );
FastLED.addLeds<WS2812, 7, GRB>(leds[2], NUM_LEDS_PER_STRIP).setCorrection( TypicalLEDStrip );
FastLED.addLeds<WS2812, 8, GRB>(leds[3], NUM_LEDS_PER_STRIP).setCorrection( TypicalLEDStrip );
}

@Garrett_Mace

How many leds did you use per strip?

It looks like you went for bit banging each one separately by declaring each strip separately? but unless I’m mistaken you’re using the same pins from the esp8266 parallel output page?

Overall led count and frame rate are constraints for my project, I’m trying to achieve 200+ pixels per strip.

Also, what esp8266 enabled device did you buy / use?

I used the same device that you linked above. FastLED is indeed outputting signals to each strip in sequence rather than in parallel. I used the same pins just in case parallel output was fixed someday (plus there aren’t that many usable pins!). Each strip had 120 pixels. https://plus.google.com/u/0/+GarrettMace/posts/8otsuqEqXKc

Very cool! I saw that project of yours earlier while searching the community.

Did you happen to try more than 120 to see how far you could push things?

Are you streaming to that staff wirelessly?

I didn’t try more than 120 pixels per strip. The wireless comms were only used for remote control using a phone interface, but no streaming of direct pixel data.

Oh got it! Last night I did a test streaming 512 pixels via udp @ 60 fps to pixels on this device.

Worked well, currently my best option (uses the neopixelbus with DMA) so refresh rate is fast.

i tried pushing it as far as 600 pixels at 60 with some glitching. could be my code, could be network traffic, not sure yet!

Thanks for the info

@Lucas_Morgan I have found the fix for this single pixel flicker. Open the FastLED library source code, find the file “platforms/esp/8266/clockless_block_esp8266.h” and add “ICACHE_RAM_ATTR” before “showRGBInternal” should be line 73. Recompile your code, hopefully it should now be working. Let me know how you get on.

@Ben_Delarre Thanks for this detailed tip! I will try this out and get back to the thread.