Addressable RGB strip works fine individually but cannot set all LEDs to full white I have a 5 meter strip of 12V digital RGB LEDs. The chip is WS2811 (see photo of IC). There are 50 addresses on the strip.



Using the FastLED library, I am able to run the "FirstLight" example that chases full white with a single address at a time, up and down the length. That works fine. So I know they individually perform properly.

However, if I set all LEDs to full white (255), the first few addresses look white but then the higher the address, the more red it is. See photo below. The strip starts in the center of the reel.



#include &lt;FastLED.h&gt;

// How many leds are in the strip?
#define NUM_LEDS 50

// Data pin that led data will be written out over
#define DATA_PIN 5

// This is an array of leds.  One item for each led in your strip.
CRGB leds[NUM_LEDS];

// This function sets up the ledsand tells the controller about them
void setup() {
    // sanity check delay - allows reprogramming if accidentally blowing power w/leds
    delay(2000);
    Serial.begin(115200);
    Serial.print("### SETUP ###");

      //Both strips are ordered BRG 
      FastLED.addLeds&lt;WS2811, DATA_PIN, BRG&gt;(leds, NUM_LEDS); 
      //FastLED.addLeds&lt;UCS1903, DATA_PIN, BRG&gt;(leds, NUM_LEDS); 

}

void loop() {

   for (int i = 30; i &lt; NUM_LEDS; i++) {

       leds[i] = CRGB::White;

   }

   FastLED.show();
}




To debug, I tried turning on just the last half. The result was still problematic:


for (int i = 30; i &lt; NUM_LEDS; i++) {

    leds[i] = CRGB::White;

}




I then tried setting all LEDs to white at half brightness, and that looks much better, but the LEDs at the outside are still off-color compared the inside:




I've tried setting the whole strip to full blue, and that works fine.

I also have another nearly identical LED strip that instead uses the 1903 chip. The same code (initialized for 1903 instead of WS2811) works just fine on the 1903 strip!

Other things I've ruled out:


I'm using a bench power supply capable of 5A, this strip pulls less than 1.5A on full white.
I have verified the supply holds at 12V
I have not let the LEDs heat up while coiled in the reel. I make sure to unplug them after observing their color.


What could cause this on the WS2811 strip while the 1903 strip works perfectly?
I would suspect that it is a voltage drop in the power rails caused by the current draw. Probably cheap construction with copper tracks that are just too thin and so have too high a resistance.

To combat it you will need to inject power into the strip at various points along it.  Initially to prove the theory you can try connecting the power to both ends of the strip and see if the "dull" spot is half way along the strip.  If it is, then it's certainly a voltage drop.  (incidentally, a voltage drop will cause the blue LEDs to fade out first making it go yellow-red. Then the green ones would probably be next, making it go red).

Then, once proved, you will need to add extra power connections into the strip at the middle of any dim sections and feed the voltage directly in at those points.