Hi Ross,
sorry for the late reply - traveling for work ...
As you might see in the video; I've not experienced the "flickering" (strobe) effect.
What you could try, is modify the "setAll()" function. It defines all LEDs to become black (OFF) and then actually shows it.
Each function in the New KITT effect uses this and after that it sets the "new" colors.
Now, showing the change in that function could theoretically make the strip flicker when the Arduino (or similar device) is not keeping up or too slow.
void setAll(byte red, byte green, byte blue) {
for(int i = 0; i < NUM_LEDS; i++ ) {
setPixel(i, red, green, blue);
}
// showStrip(); // Comment this line out
}
The downside would be that it might cause undesired effects with the other effects. If that happens, just make a second "setAll()" function, for example
void setAll2(byte red, byte green, byte blue) {
for(int i = 0; i < NUM_LEDS; i++ ) {
setPixel(i, red, green, blue);
}
}
You'd have to change the calls to "setAll(...)" in the New KITT function to "setAll2(...)".
In essence, every "setPixel()" call sets a color in an array.
But it does not affect the strip at all, until "showStrip()" is being called, which passes the array on to the strip.
So recap:
Currently the code defines all LEDs as black, materializes it by calling "showStrip()", and after that it will "draw" the next step in the effect and call ShowStrip again.
Skipping ShowStrip() in the setAll() function would be perfectly fine, and potentially reduce flickering.
Let me know if that worked