Size the supply for the worst case: every pixel at full white. A WS2812 pixel draws about 60 mA there, so 30 pixels plus a 220 mA controller need roughly 2.0 A at 5 V, or about 2.4 A once you add 20% headroom. Set your own numbers below.
Inputs
Result
2.42 A
recommended supply (+20%) at 5 V
Inject power at both ends for long strings.
Worst-case draw, full white
2020 mA · 2.02 A
Where the 60 mA per pixel comes from
A WS2812 is three LEDs in one package, red, green, and blue, each driven at about 20 mA. Full white turns all three on together, so one pixel peaks near 60 mA at 5 V (Adafruit NeoPixel Überguide, powering section). The OTD L1.03 board uses the XINGLIGHT XL-5050RGBC-WS2812B, whose datasheet gives the same 60 mA full-white figure for one pixel (One Thousand Drones, L1.03 design 2026). Most animations never hit full white on every pixel at once, so 60 mA per pixel is a worst-case ceiling rather than a typical draw. Size to that ceiling anyway, because a browned-out strip flickers and resets.
The formula
supply current (A) = (pixel count × per-pixel mA + controller mA) × (1 + headroom) ÷ 1000. The per-pixel term dominates once you pass a few dozen pixels. If you cap brightness in firmware, lower the per-pixel input to match, since current scales with the PWM duty you actually run.
Long strings: inject power, watch the copper
A long strip cannot pull all its current through the first pixel’s tiny pads. Voltage sags along the run, so the far end dims and shifts color. Feed 5 V at both ends, or every metre or so, from the same supply. On the L1.03 board the strip power comes in on its own injection terminal rather than through the USB rail, and the board copper, more than the screw terminal, sets the current limit (One Thousand Drones, L1.03 design 2026). Keep your supply ground common with the controller ground or the data signal loses its reference.
Worked example
Drive 30 pixels from an ESP32 node that itself draws 220 mA: 30 × 60 + 220 = 2020 mA worst case. Add 20% headroom and you want a 5 V supply rated for at least 2.4 A. Scale that to a 150-pixel strip and the pixels alone ask for 9 A, which is why a long run needs a dedicated brick and power injection rather than USB.
References
- Adafruit. NeoPixel Überguide, powering NeoPixels (60 mA per pixel at full white).
- One Thousand Drones. WS2812 addressable-LED driver (L1.03), power budget and XINGLIGHT XL-5050RGBC-WS2812B datasheet figure. Build the board.