Addressable RGB strip works fine individually but cannot set all LEDs to full white

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.


Majenko's answer is correct, and you could also verify it with the test performed.

Since it is an issue I encountered myself in the past in a similar case, I want to share some measurements I took on the LED strip I have, in case it can be useful for you or other people.

Premise: the tests were done with a 5m 60 leds/m RGBW strip (SK6812, natural white).

The first test was done to measure the current from each LED. These are the results:

  • All LEDs off: 230 mA (0.77 mA/led)
  • 10 LEDs to max RED, GREEN or BLUE (one color): 320 mA
  • 10 LEDs to max WHITE: 410 mA

This means that each R, G or B led absorbs at max 9 mA, while the W ones have a 18 mA current. Each LED, whether on or off, has a 0.77 mA current flowing through it.

In order to evaluate the voltage drop, I then turned on to full white the first 100 leds, then measured the current, the input voltage and output voltages of the strip. I got a voltage drop from 4.8 V to 4.16 V with a current of 2.11 A (which is almost equal to 230mA + 18mA/led * 100led).

I then modeled the strip as a sequence of ideal current generators joined by resistors:

schematic

simulate this circuit – Schematic created using CircuitLab

Calling R the resistance introduced by the strip, I_Led the current flowing into one LED and N the number of LEDs turned on (and ignoring the effects of the standby current), the voltage drop on the first resistor is dV1 = RNI_Led, the one on the second is dV2 = R*(N-1)I_Led and so on, up to dVN = RI_Led. The total voltage drop is dV = RN(N+1)*I_Led/2.

Using the measured data, we can calculate the resistance between two consecutive LEDs:

R = (2*dV)/(N*(N+1)*I_Led) = (2*0.64V) / (100*101*0.018A) = 7mOhm

NOTE: this is neglecting the effects of the standby current. However in my calculations I was searching for a worst case, and by excluding these effects I was in fact making worst assumptions, so I did not care about them

So, with this resistance I was able to calculate the voltage drop for arbitrary strips and consequently plan where to put the power supply joints. In my case I planned to have at max stubs 1.2m long (80 LEDs), so that the voltage at the end, in the very worst case (all LEDs on in RGBW, at max brightness), I had a voltage drop of slightly more than 1V.

Note that in my setup the voltage drop on the first element (the one with the largest drop) is (80*0.045A*0.007mOhm) = 25mV, with a power dissipation of 90mW.


For completeness, I want to include an RGB circuit simulation I made a while ago, along with some data. It's for analog RGB strips, but the concept regarding voltage drop is the same. I've since added a few more LEDs to show the effect of voltage drop across the length, and added the ability to switch the power connection as well.

The simulation shows the current through each 3-LED segment. 12V strips typically have 3 LEDs in series, and repeat that along the strip.

When I created this simulation, I chose exaggerated resistance values, however, this WS2811 strip may be rather close. I haven't modeled it with particular measurements though.

There are switches in simulation circuit that you can click on to switch the connection to 12V and ground at either end of the strip.

[Link to simulation] 12V LED strip simulation


Results:

With 12V and ground on the same end:  28.389mA - 27.892mA = 2.123mA difference

With 12V and ground on both ends:        28.389mA - 27.892mA = 0.497mA difference

With 12V and ground on opposite ends: 27.310mA - 26.834mA = 0.476mA difference

While both power and ground can be connected at both ends of the strip, this simulation actually shows a better balance by simply moving the ground to the opposite end of the strip that receives 12V.

The only way for each LED segment to be truly balanced would be for each to have it's own connection to power and ground.