LED Array Design Guide
Series/Parallel Topology, Current Sharing, Thermal Spreading, Binning & Bypass Protection
1. Introduction — From One LED to a Light Engine
A single LED is a diode with a forward voltage and a current limit; an LED array is a thermal, electrical and optical system where the interactions decide whether the design lives or dies. Whether the array is a 6-LED backlight strip, a 24-LED horticulture panel, or a 100 W street-light module, the same four problems appear: how to arrange the LEDs (series, parallel, or matrix) so the drive current is controlled and shared, how to keep the junction temperature low enough that the output and lifetime hold, how to handle the manufacturing bin spread of Vf and flux, and how to survive a single-LED failure without darkening the whole fixture. This guide covers all four, with the electrical arithmetic, a comparison of topologies, thermal spreading math, binning and current-sharing practice, protection and bypass strategies, and a complete worked example of a 48 V, 36 W array. It complements the LED driver design and LED thermal management guides on this site.
2. The Arrays: Series, Parallel, Matrix
| Topology | Pros | Cons | When to use |
|---|---|---|---|
| All series | Identical current in every LED, simplest current control, one driver | Highest voltage, one open LED kills the string | Most luminaires, single string up to driver Vmax |
| All parallel | Low voltage | Current hogging (negative Vf tempco), worst sharing | Only with individual ballast resistors / matched Vf |
| Series-parallel (N×M) | Balances voltage/current, tolerant to a string failure | Need to match strings, string-level imbalance | High power, when Vf count exceeds driver Vmax |
| Matrix (cross-connected) | Survives multiple failures, fault tolerant | Complex, harder to analyze | Reliability-critical (signage, traffic, medical) |
The core electrical rule is that parallel LEDs share current according to their Vf at the operating temperature, and the LED’s forward voltage has a negative temperature coefficient (≈ −2 to −4 mV/°C): the LED that carries more current heats up, its Vf drops, it takes even more current — a positive-feedback current hogging that can run one die to failure. Series strings avoid this entirely because the current is identical everywhere. The exception is a parallel bank of well-matched LEDs driven below their rating with individual ballast resistors (or a shared current-mirror/driver per string), where the ballast converts the Vf mismatch into a small current mismatch: ΔI/I ≈ ΔVf/(I·R_ballast). The practical design flow is therefore: prefer series as far as the driver voltage allows, then add parallel strings with matched counts and a driver per string (or per-string ballast), and reserve the matrix for the reliability-critical cases.
3. Forward Voltage, Dropout and Driver Headroom
Size the string against the driver’s constant-current compliance window. For N LEDs in series: V_string = N · V_f(T_j) , and the worst case must sit inside [V_driver_min, V_driver_max] over the whole temperature and bin range:
V_string_max = N · (V_f,hot,max_bin); V_string_min = N · (V_f,cold,min_bin)
Because Vf rises when cold (the negative tempco means cold LEDs have a higher Vf), a design that only checks the hot case can exceed the driver’s maximum output at power-on in a cold environment — the driver clamps and the LEDs run at reduced current, dimming the fixture. Conversely, checking only the cold case can leave too little headroom at full temperature, wasting efficiency in the driver. The design must also account for the driver’s dropout and regulation margin (typically 0.5–1.5 V for a linear or switching driver), and for the wiring/trace drops if the array is remote from the driver. A useful check: compute the required output power with the power calculator and verify the driver’s P = V·I capability across the V_string_min … V_string_max window.
4. Current Setting and Ballast Arithmetic
The LED current is what sets the light output, and it must be programmed precisely. In a linear arrangement the sense resistor sets the current: I_LED = V_ref / R_sense. Example: a 0.2 V reference with a 2 Ω sense gives 100 mA. In a switching (buck/boost) LED driver the same expression holds with the internal reference, but the resistor now sets the average current and the ripple is a design parameter. For a parallel bank with individual ballast resistors, sized so the ballast drop is a meaningful fraction of the Vf spread: with a ±0.15 V bin spread and a ballast that drops 0.5 V at full current, the current mismatch is ≈ ±30%; drop 1.5 V and the mismatch falls to ±10%, at the cost of efficiency. The trade is explicit: more ballast = better sharing = lower efficiency; less ballast = higher efficiency = worse sharing. A single-LED series resistor (for a status indicator) uses the same arithmetic as any resistor divider and can be checked with the LED resistor calculator, which is the right tool to verify the current for the chosen Vf and supply before committing to a hardware value.
5. Thermal: The Design That Decides the Lifetime
The junction temperature is T_j = T_a + P_LED · (R_θ,j-sp + R_θ,sp-b + R_θ,b-a), summed over the series/parallel network, where P_LED = V_f · I_f is the electrical power per LED (minus the small radiated optical fraction, which for a power LED is 30–50% and is often conservatively ignored). Two things matter. First, the thermal resistances are in series and dominated by whichever is worst — a cheap FR4 board typically has R_θ,j-a of 30–60 °C/W per LED, while a metal-core PCB (MCPCB) or a heatsink can bring it below 10 °C/W. Second, thermal coupling between adjacent LEDs in a dense array means the “ambient” seen by an interior LED is higher than the edge LEDs: T_j,interior > T_j,edge — the classic thermal droop and color shift pattern at the edge of an array. Layout rules: spread the LEDs (pitch, not clustering), use thermal vias under each die pad into a copper plane or MCPCB, keep the plane unbroken, and give the array a path to the enclosure. The junction temperature arithmetic can be driven from the datasheet values with the thermal calculator, which also computes the required heatsink R_θ for a target T_j. Never design an array by the LED’s rated current alone — the derating curve is a function of T_j, and running a 1 A LED at 1 A with T_j at 110 °C is a lifetime measured in months.
6. Binning, Color and Flux Matching
Production LEDs are sorted (binned) by Vf, by luminous flux and by color (chromaticity); the bin spread across a production lot is significant. Design implications: (a) Vf binning matters for parallel strings — mixing bins makes the current-sharing math worse; order tight Vf bins or a single bin code where possible; (b) flux binning matters for visual uniformity — a mixed-flux array shows bright and dim spots, so a light engine should be built from a narrow flux bin and a narrow color bin, or the driver must trim per string; (c) color binning matters for the white point — mixing color bins gives a visible tint variation across the fixture. The rule is to specify the tightest bin your supplier offers (one bin code per color/flux) and to re-verify the optical uniformity after assembly, because the thermal profile also shifts color (a hotter LED shifts toward longer wavelengths, so a non-uniform thermal design produces a non-uniform color even with perfect binning).
7. Protection and Fault Tolerance
In a series string, a single open LED extinguishes the entire string; in a parallel arrangement, a single shorted LED raises the current in the others. Protection strategies: (a) a parallel Zener/TVS or an “open-LED bypass” device across each LED or group that clamps and conducts when the LED opens, keeping the rest of the string alive at a small efficiency cost; (b) split the array into multiple shorter strings driven in parallel, so any single failure only darkens a fraction; (c) ESD/TVS at the array connector and a series fuse or electronic breaker for the driver; (d) for reliability-critical products, the cross-connected matrix, where the redundancy is built into the wiring topology itself. Also protect against reverse voltage at the connector, and remember that hot-plugging an inductive LED array can produce a transient that exceeds the driver’s absolute maximum — the same discipline as any power port.
8. Worked Example — 48 V Constant-Current Array, 36 W
Target: a downlight engine of 16 LEDs, driven by a 48 V constant-current buck driver at 750 mA, target T_j ≤ 85 °C at 40 °C ambient, uniform color and flux, single-LED-failure tolerance.
- Topology: 8S2P — two strings of 8 LEDs in series, the two strings in parallel. V_string = 8 × 3.05 V ≈ 24.4 V (typ), well inside the 48 V driver’s window with headroom for regulation and wiring.
- Vf window: bin Vf 2.9–3.2 V at 25 °C, hot shift −2.5 mV/°C. Cold worst case 8 × 3.2 = 25.6 V + driver margin ≈ 27 V; hot worst case 8 × 2.9 − ΔT·0.02 ≈ 22.6 V. Both inside the driver compliance range → no dimming at either extreme.
- Current: 750 mA total, 375 mA per string → P = 48 × 0.75 ≈ 36 W; per LED P ≈ 1.14 W at 3.05 V × 0.375 A. Confirm the power budget with the power calculator.
- Thermal: target T_j = 85 °C, T_a = 40 °C → allowed rise 45 °C at 1.14 W → R_θ,j-a ≤ 39 °C/W. An MCPCB with thermal vias and a 6 °C/W interface plus a modest heatsink achieves this; the thermal calculator returns the required heatsink R_θ and flags the worst interior LED.
- Sharing: each string has matched 8-LED count and the same bin; the driver regulates the total current, so per-string mismatch is dominated by Vf spread and is accepted (the driver’s constant current keeps both strings near the same total). If tighter sharing is needed, use one driver per string.
- Protection: a bypass device across each LED so an open die only costs that one LED’s light; a TVS at the input connector; the driver’s over-temperature and open-load protection enabled.
- Optics: single color/flux bin, uniform pitch, and the perimeter-to-center thermal gradient measured after 30 min; if the center runs hot, spread the pitch or thin the plane to equalize.
9. Common Mistakes
- Parallel LEDs without ballast or matching: current hogging from the negative Vf tempco runs the hottest die to failure.
- Checking only the hot Vf: the cold start can exceed the driver’s Vmax and dim the fixture; both temperature extremes must be in-window.
- Designing by rated current, not by T_j: ignoring the derating curve and the array’s thermal coupling turns a “1 A LED” into a 0.5 A device in practice.
- Mixing bins to save cost: visible flux and tint variation across the array, especially after the thermal profile differs.
- Under-designed PCB thermal path: FR4 without vias/plane gives 30–60 °C/W; the junction runs far hotter than the case suggests.
- No fault protection: one open LED darkens the whole string in a simple series design.
10. FAQ
Q: How do I choose the string voltage? A: As high as the driver’s compliance allows (fewer parallel branches, better sharing), but with margin for the cold Vf maximum and the driver dropout — typically 60–80% of the driver’s Vmax.
Q: Can I drive parallel strings with one constant-current driver? A: Yes, if the strings are matched in LED count and Vf bin; the driver controls the total and the strings split it. For strict current matching use a driver or current-mirror per string.
Q: How much ballast resistor for parallel LEDs? A: Enough to drop several times the Vf spread — with ±0.15 V spread, a 0.5–1.5 V ballast at full current gives roughly ±30% to ±10% current sharing.
Q: What pitch should I use? A: Whatever keeps the interior LED’s T_j within the target after coupling — often 1–2× the LED package size for power arrays on MCPCB; verify by measurement, not by guess.
11. Conclusion
An LED array is electrical sharing plus thermal spreading plus binning discipline plus fault tolerance — four disciplines that must be designed together. Prefer series strings, add parallel branches only with matching and ballast, size the string inside the driver’s window across the whole temperature range, hold the junction temperature with a real thermal path, bin tightly for optical uniformity, and protect the string against the single-failure case. Do that and the array will deliver the rated light, the specified color, and a lifetime measured in tens of thousands of hours instead of months.