I'm building a project where I want to use two double-digit 7-segment-LED displays (green, common cathode). From what I've read, a shift register wouldn't be able to source enough current, so I decided upon using a SN74LS248N IC (datasheet). This IC takes Binary Coded Decimals (BCD) as input and has 7 outputs to drive the segment LEDs, minus the decimal point LED. As I understand the *248 ICs are for common cathode displays, so pins connected to active segments are HIGH.

My problem: I can't get the LED segments to light up properly using this IC. It's visible in the image below, but worse in real life. Check the photo album I've made for comparison with a circuit where the segment is driven directly. This album also includes a circuit diagram, to help illustrate the problem.

Dim segment

When I connect using the driver IC, the segments light up only weakly . My bench power supply indicates the circuit is using 9 mA.

Now, I've tested the display using only power leads and a 150Ω resistor. That works beautifully, using up more than three times the power: 30 mA according to my bench power supply.

Does anyone here have any clues or tips?


1 Answer 1


The LS248 has an output that looks like this:

enter image description here

It effectively has a (nominal) 2K resistor in series with the output when it is high, so your 150 ohm resistor adds to that, making it effectively 2.15K.

To make this work with a minimum of muss (as well as a minimum of efficiency), add a pullup resistor to each output (Vcc to output) and omit the series resistor. Try about 470 ohms to stay within the ratings of the output, but you could go lower if you feel like abusing that antique chip to get a bit more light. It would be unwise to go below about 220 ohms, as that will make the 'off' current exceed 24mA per output.

  • 1
    \$\begingroup\$ Your comment helped me a lot, it works! Summarizing: the LS248 drives the output by using a pullup resistor. When it's on, the current is sunk through the transistor, taking the output line to LOW. Now, if one adds a pullup resistor, the combined value of the resistor drops, increasing the current to the segment LED. Using a 220Ω resistor gives Rtotal of 1/(1/2000 + 1/220) ≈ 200Ω. Total current then is (V=I*R): 5V/200Ω = 25 mA. You're describing the LS248 as 'antique'. Should I consider another? I've seen people recommend the MAX7219, but it seems rather pricey. \$\endgroup\$
    – Vincent
    Jul 5, 2015 at 16:10
  • \$\begingroup\$ How much current do you really need? You could use the SR directly or use a higher power version of the HC595 (TPICxxx) but that would require a common anode display or wasting a lot of power as you're doing now. Unfortunately 13mA/segment uses 13mA/segment for each one that's on (unavoidable) but also wastes 33mA/segment for each that is off (avoidable). As to the 7219, I've not used it (too boutique, as well as being Mxm) but there are fake ones that mostly work and some are more properly sold under the real chip mfr name. Caveat emptor. \$\endgroup\$ Jul 5, 2015 at 16:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.