Speed of LED pixels

Hi everyone,

I found RGBW LED Strip with generic controller (f.e. SK6812RGBW) - LEDs and Multiplexing - Arduino Forum topic from @MegaFan post " RGBW LED Strip with generic controller (f.e. SK6812RGBW) " and I am trying to make led pixels go faster than 1ms. I use standart_rgbw.zip file and line for one of times is:

#define SWAIT 1

Is it possible to go lower than 1? I supposed that "1" is 1ms but my intension is to get 100us.

Thanks.

strandtest_rgbw.ino (6.55 KB)

Is it possible to go lower than 1?

    delay(wait);

Why delay() at all ?

If you need a shorter delay then use delayMicroseconds()

I tray to comment out Your suggested code line but speed not changes. LED pixel speed changes when I change:

#define SWAIT 1

1 is fastest and then it goes slower if I increase this number. If it's possible to get SWAIT lower then 1?

If it's possible to get SWAIT lower then 1?

What happens if you remove the delay()s entirely ?

Led strip do not change speed after removing delay from code. (In red colour)

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint16_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}

Maybe there is some LED strip limitation how fast it can go?

With the delay() removed the for loop is running as fast as it can

Do you want each LED to change colour one by one, which is what your code does, or all at the same time ? If the latter, then take the strip.show() out of the for loop and do it just once when the for loop has ended

Since the code was not posted appropriately I cannot see what NUM_LEDs is, but for any significant number of LEDs, "strip.show()" is in fact, a significant delay. :sunglasses:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.