How the calculation works
Full white is the worst case: every pixel with all its channels on. The current is the number of pixels times the full-white current of one pixel, scaled by the maximum brightness you set. Datasheets give the current per channel; the table below shows what each chip adds up to.
Typical effects use Adafruit’s rule of thumb, about a third of full white, because animations rarely light every channel at once. The WS2815 is the exception: its red, green and blue LEDs are in series, so a pixel showing a single colour draws about as much as a white one, and the calculator keeps the full figure.
The supply has to deliver the current you size for plus the headroom. The calculator gives it in amps, because the rated current on the label is what counts: the watts in a model’s name refer to its family, and Mean Well’s LRS-150F-5, from the 150 W family, is rated 22 A at 5 V, 110 W. One supply goes up to 60 A at 5 V, 29 A at 12 V and 14.6 A at 24 V, the ratings of the 350 W class (Mean Well LRS-350); beyond that the strips are split over several supplies. Enter the rated current of the supply you have and the WLED and ESPHome limits follow from it.
Feed points follow a rule of thumb, not a datasheet value, because strips differ in how much copper they carry. On 5 V strips no LED should be more than 1 m from a feed at 60 LEDs per metre (Adafruit’s guidance); the distance shrinks on denser or brighter strips, because the drop grows with the current per metre and with the square of the distance. On 12 V strips the calculator puts a feed at least every 5 m, closer on dense strips. Measure the voltage at the far end at full white: the WS2812B datasheet’s operating range starts at 4.5 V.
Each feed carries the LEDs around it. Its cable is sized with the same copper resistance as the DC wire calculator, and its fuse is at least 1.25 times that current. The limit for WLED or ESPHome is what the supply can give while keeping the headroom.
Current per pixel by chip
Full white, all channels on, per addressable pixel. Your strip may draw less: measure it if you can.
| Chip | Supply | Full white | Where the figure comes from |
|---|---|---|---|
| WS2812B | 5 V | 60 mA | Adafruit’s worst case; the Worldsemi datasheet gives 16 mA per channel |
| SK6812 RGB | 5 V | 44.1 mA | 3 × 14.5 mA, the maximum per channel in the Opsco datasheet, plus 0.6 mA for the chip |
| SK6812 RGBW | 5 V | 51 mA | The 0.25 W rating of the LED at 5 V, plus 1 mA for the chip |
| WS2813 | 5 V | 54.6 mA | 3 × 18 mA per channel plus 0.6 mA for the chip, Worldsemi datasheet |
| WS2815 | 12 V | 17 mA | Red, green and blue in series at about 15 mA, plus up to 2 mA for the chip; WLED counts 12 mA |
| WS2811 | 12 V | 55.5 mAper chip, 3 LEDs | 3 × 18.5 mA per output; each output drives 3 LEDs in series |
| APA102 / SK9822 | 5 V | 61 mA | 3 × 20 mA per channel plus 1 mA for the chip, SK9822 datasheet |
Wiring checklist
- Connect ground first, then power, then data; disconnect in the reverse order.
- Fit a 500 to 1000 µF capacitor across + and − at the strip input.
- Put a 300 to 500 Ω resistor in the data line, next to the first LED.
- With a 3.3 V controller and a 5 V strip, add a 74AHCT125 or 74HCT245 level shifter.
- Give every feed point its own pair of wires and its own fuse.
- Join the grounds of the supply, the strip and the controller.
- Power the LEDs before the controller, or at the same time.
WLED and ESPHome limits
WLED’s automatic brightness limiter keeps the estimated current below “Maximum PSU current”. It needs the current of one LED at full white (mA/LED): 55 mA is its default for 5 V WS281x chips, and the WS2815 has its own 12 mA mode. WLED takes its own board off the limit, about 120 mA for an ESP32 and 80 mA for an ESP8266. Its documentation advises keeping the limit below 1 A if the LEDs take power from the controller’s 5 V pin.
ESPHome’s color_correct option sets the maximum brightness of each channel, before the gamma curve (gamma_correct, 2.8 unless you change it): a channel capped at 50 % draws about 14 % of its full current. The percentage the calculator gives already allows for this and keeps full white within the supply; brightness then stays capped even when only a few LEDs are lit.
5 V or 12 V?
For the same number of pixels, a 12 V WS2815 strip draws about a quarter of the current of a 5 V WS2812B strip at full white, so cables get thinner and feed points fewer. 5 V strips come in higher densities and are easy to run from USB for short lengths. Beyond a couple of metres at full brightness, 12 V is usually simpler to wire.
Frequently asked questions
How much current does a WS2812B LED draw?
Up to about 60 mA at full white, with red, green and blue all on: that is Adafruit’s worst-case figure, and the Worldsemi datasheet gives 16 mA per channel. With mixed animations the average is closer to 20 mA. A 5 m strip with 60 LEDs per metre therefore needs 18 A at full white.
What power supply do I need for 5 m of WS2812B strip?
At 60 LEDs per metre that is 300 LEDs and 18 A at full white, 90 W at 5 V. With 20 % headroom you need a supply rated at least 21.6 A at 5 V. Go by the amps, not the watts: Mean Well’s LRS-150F-5, from the 150 W family, gives 22 A (110 W) at 5 V. If you set a current limit in WLED or ESPHome, a smaller supply sized for typical effects will do.
How often should I inject power into an LED strip?
On a 5 V strip with 60 LEDs per metre, keep every LED within about 1 m of a feed: feed both ends and every 2 m. Denser strips need feeds closer together. On 12 V strips a feed every 5 m is a common rule. LEDs turning yellow or red towards the far end at full white are the sign of too few feeds.
Can I power LEDs from the ESP32’s 5 V pin?
Only a few. That pin passes the USB supply through the board, and the WLED documentation advises keeping the limit below 1 A when the LEDs take power from it. For anything bigger, give the strip its own supply and join the grounds.
Do I need a level shifter between an ESP32 and a WS2812B?
The WS2812B datasheet asks for at least 0.7 × VDD on the data input, 3.5 V at 5 V, while the ESP32 gives 3.3 V. Many strips work anyway and some newer WS2812B versions accept less, but a 74AHCT125 or 74HCT245 makes it reliable. The 12 V WS2815 reads 3.3 V directly.
What value should I set in WLED’s brightness limiter?
What your supply can give with some margin: the calculator divides the supply current by 1 plus the headroom, so a 30 A supply with 20 % headroom gives 25000 mA. Set mA/LED to the current of one LED at full white, or pick the WS2815 mode for WS2815 strips.
Why does a WS2815 strip draw less current?
Each WS2815 pixel runs its red, green and blue LEDs in series from 12 V at about 15 mA, instead of three parallel channels at 5 V. The power per pixel is lower too, about 0.2 W with the chip, against 0.3 W for a WS2812B, and the higher voltage loses less in the strip’s copper.