I have a 210 LED strip that even with a good power source (a 18650 battery) has some strange flicker effects. Using a Teensy 3.2. If i reduce NUM_LEDS to ~70, the flickering is not happening. Any ideas what could that be?
The code is just:
void loop() {
for (int i = 0; i < n; i++) {
leds[i] = CRGB::Red;
}
FastLED.show();
delay(1000);
n += 1;
}
Voltage drop across the LED’s? Are you giving them 5V with that 18650 or 3.3V?
It seems that a 18650 battery is rated for 4.2V. I would check that you truly have 5V supplied. It is weird that it happens early in the sequence and not later when more current is demanded.
Do you have resistor on the data line?
How does this behave when you use one of the demos?
Maybe 3,3v data is only reliable when your battery supply sags a bit. Weird that it’s the last led that is flickering.
Measure across the power supply lines at the far end with all of the LEDs running. Inexpensive LED strips have thinner +/gnd traces and the voltage drop from end-to-end can be sizeable. You may need to to two things: 1) use a proper 5V supply (one of those USB power banks with an 18650 battery in it); and 2) add +/gnd wires in parallel and connect them to the strip every 50 LEDs or so. I’ve had to do this with a 150 LED-long “Christmas light” style string because the 3 wires between each LED were not only thinner than I would have expected (judging from the diameter of the wire insulation) but contained a percentage of iron, lowering the cost but raising the resistance. I know this because little fragments of the wire were attracted to a magnet.
You are powering 210 pixels with 1 single 18650?
My bet is the voltage is very low at the far end of the strip and thus, the data is not being handed from chip to chip cleanly.
I can run 296 SK9822s ( 4 strips of 74) from a 2000 mAh single cell lipo battery… (I limit the current to 500 mA)
