1.Why voltage sags along a strip

Addressable LED strips carry power and data down the same flexible PCB. The +5V and GND traces running the length of the strip are thin copper, typically well under 1mm² cross-section, and every LED module along the run taps current off them as it lights.

Copper has resistance. Current flowing through a resistance produces a voltage drop proportional to that current. Every LED between the feed point and a given position adds to the current the trace segments upstream of it have to carry, so the supply voltage measured at the strip decreases monotonically with distance from the feed point.

WS281x-family chips need roughly 4.5V minimum on a nominal 5V rail to run reliably. The first visible symptom of sag is color shift — blue drops out before red and green, so the tail of the strip runs yellow or pink — followed by flicker, then data corruption as the sag reaches the DIN threshold reference, then dead sections. Power injection (feeding +5V/GND at multiple points instead of just the strip's start) is the fix. This article works out where those points need to go, using the strip's actual current and resistance numbers rather than a flat spacing rule.

2.Current draw model

The design current for injection spacing is the worst case — every pixel at full white, full brightness — not the average draw of a typical animation. A single bright flash in an effect still has to clear the same voltage floor as steady-state full white.

ConditionPer-LED currentNotes
Idle (data held, output off)~0.5–1 mAController IC quiescent draw, present even with the strip logically off
Single channel full (R, G, or B)~20 mAEach of the three internal LEDs draws independently
Full white, full brightness~60 mAR+G+B simultaneously; use this for spacing math

ABL is a current ceiling, not a sag compensator

WLED's automatic brightness limiter scales output down to keep total controller current under a configured mA ceiling. It protects the PSU and wiring from overcurrent. It has no model of your trace resistance and does nothing for a LED that's undervoltaged because it's far from the nearest feed point. Current limiting and sag topology are separate problems that happen to share the same Ohm's law input.

3.The distributed-load correction

The naive calculation treats the strip as one lumped resistor carrying the total current:

ΔV = I_total × R_total  // overestimates the drop

This overstates the sag, because current doesn't traverse the full strip length for every LED. An LED one position from the feed point only loads the first trace segment; only the single farthest LED's current crosses the entire run. Model it properly: N LEDs, uniform per-LED current I_led, resistance R_seg per inter-LED segment (both rails, round trip). Feeding from k = 0, segment k carries the combined current of every LED from k to N:

I(k) = I_led × (N  k + 1)

total drop = R_seg × I_led × Σ(k=1..N) (N−k+1)
           = R_seg × I_led × N(N+1)/2

For large N, with I_total = N·I_led and R_total = N·R_seg, this converges to a clean continuous approximation for a single end-fed run:

ΔV_one-end  (1/2) × I_total × R_total

Use total current for PSU sizing, half-drop for sag budgeting

The 1/2 factor applies to voltage sag at the far end, not to how much current the supply has to source — the PSU still has to deliver I_total, just over an effectively shorter average path. Conflating the two leads to undersizing the PSU or oversizing the injection spacing, depending on which number gets carried through by mistake.

4.Two-point feed: the quarter-drop rule

Now feed a run of length L (N LEDs) from both ends with matched voltage sources. By symmetry, no net current crosses the exact midpoint — each half sources its own local load. That makes each half electrically identical to an independent one-end-fed run of length L/2 carrying N/2 LEDs. Substituting into the one-end-feed formula:

ΔV_half = (1/2) × (I_total/2) × (R_total/2)
         = (1/4) × [(1/2) I_total R_total]
         = ΔV_one-end / 4

Feeding the same span from both ends cuts worst-case sag to a quarter, not a half, of the single-end figure. This is the reason adding injection points has an outsized payoff compared to what "half the distance, half the drop" intuition suggests — the current path length and the current magnitude both shrink together at each end.

5.Injection spacing formula

Between two adjacent injection points spaced s meters apart, on a strip with LED density λ (LEDs/m), worst-case per-LED design current I_led, and round-trip trace resistance per meter R′, the quarter-drop result gives the sag at the midpoint:

ΔV_mid = (1/8) × λ × I_led × R′ × s²

Solving for the max spacing that stays inside a chosen drop budget ΔV_budget:

s_max = ( 8 × ΔV_budget / (λ × I_led × R′) )

Worked example

Standard 60 LED/m 5050 strip, worst-case I_led = 0.06 A, R′ ≈ 0.16 Ω/m round trip (typical for this density — measure yours; trace resistance varies with backbone width and copper weight across manufacturers). Budget ΔV_budget = 0.3V, leaving the far end near 4.7V on a clean 5.0V rail with margin left for connector and lead resistance:

s_max = ( 8×0.3 / (60 × 0.06 × 0.16) )
      = (2.4 / 0.576)  2.04 m

That lands close to the commonly cited "inject every 1–2 meters" guidance, but now it's a derived number tied to a specific density, current, and resistance rather than an assumption — plug in your strip's actual measured R′ and the spacing moves accordingly.

LED densityI_led (worst case)R′ (assumed)s_max
30/m60 mA0.16 Ω/m≈ 2.89 m
60/m60 mA0.16 Ω/m≈ 2.04 m
144/m60 mA0.16 Ω/m≈ 1.32 m

Higher LED density means more current per meter of trace for the same resistance, so spacing has to shrink to hold the same voltage budget — the effect is strong enough that a 144/m strip needs more than double the injection density of a 30/m strip.

6.Feed wire gauge

The spacing formula covers sag inside the strip's own copper. The wire run from the PSU or distribution bus out to each injection tap is a separate, ordinary Ohm's law problem:

ΔV_lead = 2 × d × R_awg × I_seg

where d is one-way lead length, the factor of 2 accounts for the return conductor, R_awg is resistance per meter for the chosen gauge, and I_seg is the current that tap has to deliver — roughly half of each neighboring spacing's load for an interior injection point.

AWGΩ/m (one-way, 20°C)
220.0530
200.0333
180.0210
160.0132
140.0083
120.0052

Example: an interior tap serving ~120 LEDs (one full 2m spacing's worth at 60/m) at worst case draws 120 × 0.06A = 7.2A. With a 0.5m lead on 18AWG: 2 × 0.5 × 0.021 × 7.2 ≈ 0.15V. Stacked on the 0.3V topology budget, that's 0.45V worst case — workable but tight. Dropping to 16AWG cuts it to ≈0.095V, restoring margin.

Don't reuse the strip's pigtail wires

The thin 24–26AWG leads soldered to the strip's factory input pigtail are sized for connecting to the first injection point, not for carrying multi-amp injection current over any real distance. Home-run injection leads should be sized off the segment current they're carrying, independent of what shipped on the strip.

7.Topology and grounding

Always tie GND locally at every V+ injection point

Injecting +5V without a ground reference at the same physical point forces the return current back through the strip's own ground trace over a longer path, which partially defeats the injection and can push the data line's voltage relative to the local WS281x GND pin out of spec — DIN is referenced to the chip's own ground, not the PSU's. This is a common cause of glitching that looks like a data integrity problem but is actually a power topology problem.

Home-run every injection point, don't daisy-chain power through the strip

Feeding point A, then routing through the strip's own copper to point B, forces the injected current back through the resistance the injection was meant to bypass. If the two feeds are even slightly mismatched in voltage, the mismatch drives a loop current through the strip trace between them. Each injection point needs its own pair back to the distribution bus.

Bulk capacitance at each tap

A 470–1000μF electrolytic plus a small ceramic across V+/GND at each injection point buffers the fast current transients a bright PWM update can cause. It's an energy-storage fix for transient flicker, not a resistance fix for static sag — it doesn't substitute for correct spacing, but it noticeably improves stability on top of a correctly budgeted topology.

8.WLED ABL configuration

9.Design checklist