This is the addressable LED lighting installation for the three levels of my bedroom wardrobe.
Each level is 75 cm long, and the WS2812B strip I had is 5 V with a density of 60 LEDs per meter. That works out to:
60 LEDs/m × 0.75 m = 45 LEDs
So I cut the strip into three 45-LED sections, for 135 LEDs in total.
One ESP8266 running WLED controls all 135 LEDs as one continuous strip. Electrically, though, the three levels are powered separately.
How it is wired now
The final setup separates the data path from the power path:
DATA
Wemos ──────→ 45 LEDs ──────→ 45 LEDs ──────→ 45 LEDs
↑ ↑ ↑
5V/GND 5V/GND 5V/GND
│ │ │
USB-A 1 USB-A 2 USB-A 3
The Wemos D1 mini is powered separately through USB and sends the LED data signal from D4/GPIO2.
Each 45-LED section gets its own 5 V and ground feed from one of the USB-A ports on the LDNIO SC3412 power strip.
The strips alternate direction across the three wardrobe levels:
Level 1 → → → → →
│
▼
Level 2 ← ← ← ← ←
│
▼
Level 3 → → → → →
That keeps the data connection between one level and the next short. From WLED’s point of view, the physical arrangement does not matter: it still sees one chain of 135 LEDs.
All three sections and the Wemos share ground so the data signal has the same electrical reference throughout the installation.
The part that mattered: power
With a small strip, it is easy to think mostly in terms of voltage: the LEDs are 5 V, so give them 5 V.
At 135 LEDs, current becomes just as important.
WLED’s default estimate for a generic 5 V LED is 55 mA. Using that as a planning value:
135 × 55 mA = 7425 mA
or about 7.4 A at the estimated worst case.
That is not what the wardrobe normally consumes. I generally use solid colors at moderate brightness rather than running every LED at full-brightness white. But the number is important because it shows the scale of the possible load.
The USB-A side of the SC3412 is rated for about 3 A total at 5 V. Its three USB-A ports share that capacity; three ports do not mean three independent 3 A supplies.
So there are two different power problems to deal with:
- How much current the installation is allowed to use.
- How that available current reaches all 135 LEDs.
WLED’s current limiter handles the first part. It keeps the estimated LED demand within the current budget of the power source by reducing brightness when necessary.
The separate power feeds handle the second.
Why each level gets power directly
If all 135 LEDs were powered only from the beginning of the first strip, the current needed by the second and third levels would also have to travel through the wiring and copper traces of the sections before them.
Those traces have resistance, and current flowing through resistance causes voltage drop.
On a 5 V strip there is not much voltage available to lose before the effect starts becoming visible at the LEDs.
Feeding each 45-LED section directly gives the power a much shorter path:
USB-A 1 ──→ Level 1
USB-A 2 ──→ Level 2
USB-A 3 ──→ Level 3
This is power injection.
The extra feeds do not increase the total current available from the SC3412. They distribute that available current across the installation instead of making all of it enter through one end of the strip.
That distinction between power capacity and power distribution ended up being the main electrical lesson from this build.
Controller and wiring
The controller is an ESP8266 on a Wemos D1 mini development board.
I installed WLED rather than writing custom firmware because it already handles the parts I need close to the LEDs: WS2812B control, brightness, colors, presets, effects, current limiting, network control, and an API.
The API also means WLED does not have to be the final interface. I can control this installation from my own systems while WLED remains responsible for the actual LED hardware.
For the 5 V and ground feeds I used 22 AWG wire.
That works for this layout because the runs are short and each cable only feeds one 45-LED section. No single 22 AWG feed is carrying the load for the entire 135-LED installation.
For a longer run or one carrying more current, I would move to thicker wire such as 20 or 18 AWG instead.
How the design changed
The power layout was not part of the original installation.
Before this build, my only hands-on experience with WS2812B LEDs was a short 30 leds strip on a shelf at my desk. I powered the Wemos through USB and connected its 5 V, D4, and GND pins directly to the LED strip:
USB
│
▼
Wemos D1 mini
│
├── 5V ─────→ LED +5V
├── D4 ─────→ LED DATA
└── GND ─────→ LED GND
That worked, so when I installed the wardrobe LEDs I connected the larger strip in the same basic way, with all three 45-LED sections chained together and powered through the Wemos.
USB
│
▼
Wemos
│
├── 5V ──→ 45 LEDs ──→ 45 LEDs ──→ 45 LEDs
├── D4 ──→ DATA ─────→ DATA ─────→ DATA
└── GND ────────────────────────────────────→
Once the wardrobe was running, I started seeing dimming and flickering.
Those symptoms did not prove that power was the only possible cause. But the dimming was enough to make me investigate how the larger installation was being powered, though, and that was where I learned that the straightforward setup I had used on a small strip did not scale cleanly to 135 LEDs.
Two days after the initial installation, I changed the power design: the LED load was removed from the Wemos, and each wardrobe level received its own direct 5 V and ground feed.
The data chain stayed exactly where it belonged: on the controller.
Components
- LEDs: WS2812B, 5 V, 60 LEDs/m, cut into 3 × 45-LED sections
- Controller: ESP8266 on a Wemos D1 mini
- Firmware: WLED
- Power: LDNIO SC3412 USB-A output
- Power feeds: 3 separate 5 V/GND USB-A connections
- Power wiring: 22 AWG
Result
The wardrobe now behaves as one 135-LED addressable light while each physical level gets power locally.
More importantly, this was the build where I stopped thinking of a larger LED installation as simply a longer version of a small one.
The controller, total current budget, and physical distribution of that current are separate parts of the design. Once those responsibilities were separated, the wiring became much easier to reason about and much more useful as a pattern for future LED installations.