74HC595 Segment Drive: Current Limits and Thermal Reality
A 74HC595 is a logic shift register with a strong-ish output stage. It is not an LED driver, and the difference shows up as dim digits, hot packages, or a part that works on the bench and dies in the enclosure.
Quick Answer
- Absolute maximum per output is about 35 mA; total through VCC or GND is about 70 mA.
- Recommended is far lower: roughly ±4 mA at 4.5 V, ±6 mA at 6 V.
- Eight segments at 20 mA is 160 mA — more than twice the package limit, before any thermal question.
- Practical: use the 595 for small indicators or multiplexed displays at 5–10 mA, and add a driver for anything brighter.
1. Three limits, not one
| Limit | Value | Meaning |
|---|---|---|
| Per output, absolute | ±35 mA | Above this, damage is possible |
| Through VCC or GND | ±70 mA | Sum of all outputs |
| Recommended at 4.5 V | ±4 mA | Guaranteed VOH/VOL |
| Recommended at 6 V | ±5.2 mA | Slightly better drive |
Notice the gap: 35 mA is five to eight times the recommended current. A design that runs at 20 mA per output is inside the absolute maximum per pin and far outside the guaranteed operating point — the output voltage sags, the part heats, and the behaviour varies between batches.
What the recommended value actually guarantees: at 4.5 V and 4 mA, the output high voltage is at least about 3.98 V, so the driver drops at most 0.5 V. At 20 mA the same output might drop 1.2–1.5 V, which changes the segment current and the colour temperature of the LED.
That is why a resistor calculated from (5 V − Vf) gives the wrong current in practice: the driver's drop is part of the loop, and it is not constant.
2. Eight segments add up
8 segments x 6 mA = 48 mA (inside 70 mA) 8 segments x 9 mA = 72 mA (at the limit) 8 segments x 20 mA = 160 mA (more than twice the limit)
That is the calculation to do before choosing the segment resistor. If the answer is above about 60 mA total, the 595 is the wrong part for the job, regardless of what the per-pin rating says.
Worked example: 5 V rail, red LED with Vf 1.9 V, target 6 mA. With a driver drop of about 0.5 V, the resistor is (5 − 1.9 − 0.5) / 0.006 ≈ 430 Ω. The same calculation at 20 mA gives 130 Ω, but the driver drop is then larger and the current is poorly controlled — and eight of those is 160 mA through a 70 mA package.
3. What happens at high current
At 20 mA the output high voltage is no longer 4 V; the internal drop grows and the segment current becomes poorly defined. Two boards built with the same resistor can show different brightness, because the driver is operating outside its characterised region.
The thermal arithmetic is simple once the drop is known: P ≈ 8 × I × (VCC − VOH), and ΔT = P × θJA. At 6 mA and a 1 V drop that is about 50 mW; at 20 mA and 1.5 V it is 240 mW, which in a SOIC-16 is a 19 K rise — and that is before the ambient inside the enclosure.
Add the ambient. A sealed enclosure at 50 °C plus a 19 K rise puts the die near 70 °C — still allowed, but the brightness has already drifted and the margin is gone. At 30 mA per segment the same package is well beyond its limits.
4. Getting more current safely
| Approach | Fits when | Cost of choosing it |
|---|---|---|
| 595 direct, 4–6 mA | Indicators, indoor displays, dim is acceptable | Low brightness; no extra parts |
| 595 + transistor per digit | Multiplexed displays at 20–80 mA | Extra parts, board area |
| Constant-current driver | Brightness consistency matters | Higher part cost; fewer resistors |
| Multiplex at high peak | Average current is what the package sees | Flicker, EMI, peak current per pin |
Multiplexing is the subtle option: with four digits scanned at 25 % duty, the average current through the package is a quarter of the peak, but the peak per pin is unchanged. The package limit applies to the average; the per-pin limit applies to the peak. Both have to pass.
Example: eight segments at 20 mA peak, four digits, 25 % duty. Average package current is 8 × 20 × 0.25 = 40 mA, which passes the 70 mA limit; the peak per pin is 20 mA, which is inside the 35 mA absolute maximum but outside the recommended operating point. The display works, the driver runs warm, and the brightness is a quarter of a static drive.
4b. A quick comparison table
| Method | Brightness | Parts |
|---|---|---|
| 595 + 1 resistor/segment, 4 mA | Low | 9 |
| 595 + transistor + 8 resistors | High | 10 |
| Constant-current driver | High, matched | 2 (IC + one resistor) |
| Multiplex, 25 % duty | Medium, flicker risk | 9 |
5. Decoupling and layout
- 100 nF close to VCC, especially when driving LEDs: the current pulses are fast even at low frequency.
- Series resistors per segment, not one resistor on the common pin — a common resistor lets brightness vary with the number of lit segments.
- Keep the LED return path separate from the logic ground until the star point.
- If the display is on a cable, add a ground return next to the data lines.
6. Design checklist
| Check | Pass | If it fails |
|---|---|---|
| Per-segment current | ≤ 6 mA (5 V) | Add a driver or multiplex |
| Total package current | ≤ 70 mA | Reduce current or split across devices |
| Average vs peak (multiplex) | Both within limits | Lower peak or duty |
| Package temperature | < 85 °C at worst ambient | Reduce current, or change package |
| Decoupling | 100 nF at VCC, close | Jitter and brightness variation |
For the register's logic side — cascade, latch and startup states — see the general shift-register guide; for the thermal arithmetic in a linear part, the AMS1117 guide uses the same method.
7. FAQ
Can a 74HC595 drive eight LEDs at 20 mA?
Not within its ratings. Eight segments at 20 mA is 160 mA through the package, more than twice the 70 mA limit, and the outputs are outside their characterised current range.
Why are my digits dim with 5 V and 220 Ω resistors?
Because the output does not reach 5 V at that current. The drop across the driver adds to the resistor drop, so the current is lower than the resistor calculation suggests.
Is multiplexing a way around the limit?
Partly. It reduces the average package current but not the peak per pin; check both. It also reduces brightness by the duty cycle.
Do I need a transistor for each segment?
Only if you need more current than the 595 can deliver. For 8 segments at 20 mA, a single digit driver (transistor or constant-current sink) is simpler than eight transistors.
Does the 595 get hot at 6 mA?
Not significantly. At 6 mA and a 1 V drop, eight channels dissipate about 50 mW, which is a few degrees in a SOIC-16.
Can I put one resistor on the common pin?
It works only if the number of lit segments never changes. Otherwise the current per segment changes with the pattern, and the digits dim when more segments are on. One resistor per segment is the correct answer.
What about 3.3 V operation?
The part works from 2 V, but the output drive is lower and the LED forward voltage eats more of the rail. At 3.3 V, drive 2–3 mA per segment or use a driver with a lower drop.
8. Sources
- Texas Instruments, SN74HC595 datasheet — absolute maximum ratings, recommended operating conditions, output drive.
- NXP, 74HC595 datasheet — output current limits and thermal data.
- Vendor LED display datasheets — forward voltage, segment current and brightness curves.
Driving a display?
Send the segment current, digits and supply. We will tell you whether the 595 is enough or a driver is the cheaper answer.