LED Dimming Linearity: Why a 10% Command Is Not 10% Light
LED dimming linearity is not a property of the LED alone. It is the product of a driver transfer function, an optical response and a receiver, and each of them bends the curve in a different region. This guide separates the three, shows where each one breaks, and gives a measurement routine that produces a curve a product can actually be calibrated against.
Quick Answer: Two Curves Are Being Multiplied
The command sets a current or a duty cycle. The LED converts current into flux with an efficiency that changes with current and temperature. The eye, or the sensor, then weights the result. A linear command therefore produces a nonlinear optical result even when every element behaves exactly as specified, because the relationship between current and perceived brightness is not a straight line through the origin.
The practical consequence is that linearity has to be defined against a stated target: optical power, luminous flux, or perceived brightness. A design that is linear in one is usually not linear in the others, and a specification that does not say which one cannot be tested.
From Command to Light: Three Transfer Functions
It helps to write the chain down, because each link has its own failure mode.
- Command to drive. The register value becomes a current setpoint or a duty cycle. This link is where resolution, quantization and reference accuracy live.
- Drive to flux. The LED converts current to optical output. This link is where efficiency, junction temperature and binning live.
- Flux to perception. Luminous or radiometric weighting, and the eye's own response. This link is where a curve that looks linear on a meter feels wrong in a dark room.
Most arguments about dimming behaviour are arguments between people measuring different links. The guide to photometric vs radiometric LED measurement sets out why the first and third links give different numbers for the same hardware.
Where Nonlinearity Enters
| Mechanism | Region affected | Signature on the curve |
|---|---|---|
| Driver resolution and quantization | Bottom of the range | Staircase: several commands give the same output |
| Low-current efficiency droop | Bottom of the range | Output falls faster than the command below a knee |
| Reference and offset error | Whole range | Curve offset from the origin; minimum never reaches zero |
| Thermal shift during a sweep | Whole range, direction dependent | Curve differs between upward and downward sweeps |
| Perceptual weighting | Lower half | Output is proportional, apparent brightness is not |
The first two rows are the ones that decide whether the product has a usable low end; the fourth is the one that makes two measurements of the same unit disagree.
Analog and PWM: Different Failure Shapes
Analog dimming reduces the current through the LED. Its curve is limited at the bottom by the driver's ability to regulate small currents: offset voltage, leakage and comparator thresholds all become significant when the setpoint approaches zero, so the lowest commanded level is usually not reproducible.
PWM dimming keeps the current constant and varies the fraction of time it flows. Its curve is limited instead by resolution and by the minimum pulse the driver can produce, and its visible artefacts are temporal rather than amplitude-based. What the two approaches do to colour and to segment current is compared in the guide to 7 segment display PWM dimming, and the way a PWM current relates to the device's continuous rating is covered in LED pulse current vs continuous current.
A hybrid is common: PWM at high levels, analog below a threshold, or the reverse. Hybrids are where measured curves most often show a kink, because the two mechanisms do not meet at the same output.
The Low End Is Where Products Fail
The bottom of the range is where all the error terms concentrate. Three questions decide whether it is usable.
- What is the minimum reproducible level? Below it, unit-to-unit variation exceeds the step size, so two products at the same setting look different.
- How many steps are available there? A curve with fine resolution at full brightness and three usable steps at the bottom cannot be dimmed smoothly, even if its top end is perfect.
- Does the minimum reach a true off state? An offset that leaves a faint glow is the difference between a display that disappears in a dark room and one that does not.
The same logic explains why LED brightness linearity is usually specified over a truncated range. Claiming linearity from one percent to full scale is a much stronger statement than claiming it from ten percent, and most drivers only support the second.
Temperature and Age Move the Curve
The drive-to-flux link is temperature dependent, so a curve measured cold is not the curve the product runs. As the junction warms, output for the same current falls, which compresses the upper half of the curve more than the lower half and changes the apparent shape rather than merely scaling it.
Age does something similar at a slower rate. A calibrated curve stored in firmware at production will drift away from the hardware over the product's life, which is why a stored table needs either a reference measurement at service or enough margin that the drift stays inside the specification. The forward-current relationship that underlies this behaviour is set out in LED forward current vs rated current.
Measuring and Calibrating a Dimming Curve
A curve worth calibrating against has to be measured under conditions that can be repeated. The routine below is short enough to run on every design revision.
- Fix the optical geometry: distance, aperture and angle, and keep them identical for every point.
- Let the unit reach thermal steady state at the setting being measured, or sweep fast enough that heating is negligible — and state which.
- Sweep upward and downward, so hysteresis and thermal drift become visible as a gap between the two traces.
- Record raw values, not just a normalised percentage, so the curve can be re-plotted against a different reference later.
- Repeat on at least three units, because the spread at the low end is usually larger than the step being specified.
Then decide what the firmware should store. A lookup table that corrects the measured curve to the target response is more robust than a formula, because it survives a driver change without re-deriving the model. Where the same display has to look uniform across several digits or several units, the table has to be paired with the acceptance method in LED display brightness uniformity.
Frequently Asked Questions
Why is LED dimming not linear even when the driver is?
Because the driver's linear command meets an LED whose efficiency changes with current and temperature, and a receiver that weights the result nonlinearly. Why LED dimming is not linear is therefore a question about which link is being measured, not about a single component.
How should the LED dimming curve be specified in a datasheet?
With the measured range stated explicitly, together with the quantity being measured and the temperature at which it was taken. An LED dimming curve quoted without those three conditions cannot be compared with another supplier's figure.
What is the difference between LED brightness vs PWM command behaviour and analog behaviour?
PWM keeps current constant and varies time, so its curve is limited by resolution and minimum pulse width. The relationship between LED brightness vs PWM command is closest to linear in the middle of the range, while analog dimming tends to lose reproducibility at the bottom first.
Can the LED driver dimming response be corrected in firmware?
Yes, and it usually should be. The driver dimming response can be flattened with a lookup table measured on the actual hardware, which also compensates for the LED's own low-current behaviour.
Does dimming change colour?
Analog dimming can, because the emission spectrum shifts slightly as current changes. PWM avoids that by keeping the current constant, which is why it is preferred where colour consistency matters more than the lowest achievable level.
How do I measure LED dimming response curve reliably?
Hold the optical geometry fixed, sweep in both directions, and record raw readings across several units. To measure LED dimming response curve properly, the thermal state at each point has to be known, otherwise the sweep measures heating as much as it measures the transfer function.
Conclusion: Measure the Curve, Then Store It
Dimming is not a straight line, and pretending it is produces products that look fine in a demo and inconsistent in the field. The fix is unglamorous: define which quantity is being linearised, measure the actual curve in both directions across several units, and correct it in firmware with a table rather than a hope.
Once the curve exists, the low end becomes a specification instead of a surprise, and every later change to the driver or the LED can be compared against a number. If you need a display or an LED assembly characterised across its dimming range for a product build, send your project requirements to the HOUKEM team.