7 Segment display without resistors

Thread Starter

jarek319

Joined Jan 24, 2010
18
I have a circuit running at 5V logic throughout the board, and I decided to use this 7 segment display:

http://www.kingbrightusa.com/images/catalog/SPEC/sc10-11ewa.pdf

with this decoder

http://www.nxp.com/documents/data_sheet/HEF4543B.pdf

Good engineering would tell me to put a resistor at the input of each segment, but I am using 15 of these displays, and since I'm not going to use the decimal point, that would come out to 105 resistors!

I've considered multiplexing the displays, but 15 displays might cause flickering with the slowest micros, and dimming with the fastest.

I noticed the Maximum rating for the LED segment I've linked to is 5V, and the typical rating is 4V, does this mean I can run it without resistors if I'm using a regulated 5V supply?

Are there any other tricks I can use to cut down the amount of resistors I'll need (eg a BCD-7Segment decoder with built in current limiting)?
 
Last edited:

kubeek

Joined Sep 20, 2005
5,795
I used a trick in my digital thermometer I made like 6 years ago and the thing is still working, so even though everyone will say it is not a good practice it worked for me.

I used an LM317 adjustable regulator as the supply to the segments and set the brightness and current in the leds by setting the voltage, without any series resistors on the segments.

The only thing that didn't go to plan was the fixed decimal point which is brigter than the rest of the display, because it is not connected to the driver chip but straight to ground so it runs without the voltage drop on the driver.
 

Wendy

Joined Mar 24, 2008
23,429
You MUST have current limiting with all LEDs! This is not optional. Kebeek is using the semiconductors to set the current value, he is right, it is not a good practice. In fact it is extremely poor design. If you step outside the rules you may get by with it, but it may not be repeatable nor last in the long term.

There are conditions I've used to do the same thing, just starve a CMOS 555 for voltage, which affects its conductance. Of course, it is not predictable, you don't know how much current you will get exactly, so it could be dim or it could be bright. It could burn out something in a year.

You might be able to starve your LED drivers for voltage, but if the function is complex you'll need the rated voltage for your other components for stability.

If you showed your circuit we could help, but the information has to be there.

Resistors cost around 2¢ each, you're not going to save money by skimping on something so basic or so critical.

LEDs, 555s, Flashers, and Light Chasers

Here are the articles I talked about.

The 555 Projects

CMOS 555 Long Duration Minimum Parts LED Flasher

Multiplexing doesn't generally flicker unless the design is flawed. It doesn't vary speed either, I suspect you are wanting to do this with a µC. Sometimes, if something like that is unstable, it is better to use two µC.
 
Last edited:

kubeek

Joined Sep 20, 2005
5,795
I think this is hardly about the price of the resistors, but about the space they occupy and the complexity of soldering a vast number of them.

I just wanted to show that it is possible to use LED displays without them, but you have to know what you are doing. Here is why it is wrong:
- the LEDs will have different forward drops, so they can have very different currents
- unless you operate them near the knee of their characteristics (i.e. much lower than rated current and brightness) you will have overcurrent in some segments, which will eventually lead to the segment going dark over time

I run my display on cca 25% of its rated current, so the brightness is still the same after all those years of continuous run.
 

Markd77

Joined Sep 7, 2009
2,806
If you don't use resistors you will also be outside the rating of the driver chip. You could use resistor arrays in the DIL package which don't save much space but are easier to solder.
 

SgtWookie

Joined Jul 17, 2007
22,230
Consider breaking down your array of 15 displays into two arrays; one 8 displays and one 7 displays - and multiplex the two arrays separately. That would require 14 resistors if you didn't use the decimal points; 16 if you did.

You could also break it down into three groups of 4 displays and one of 3, or whatever combination works best for you.
 

soda

Joined Dec 7, 2008
177
Consider breaking down your array of 15 displays into two arrays; one 8 displays and one 7 displays - and multiplex the two arrays separately. That would require 14 resistors if you didn't use the decimal points; 16 if you did.

You could also break it down into three groups of 4 displays and one of 3, or whatever combination works best for you.
Wookie, I ask this only for my own good. What will happen if one add a series resistor to the c/cathode connector (a 1w). Would that not be enough to do the job .
 

bertus

Joined Apr 5, 2008
22,278
Hello,

If only one resistor is used in the common line of the display,
the intensity will vary with the number of segments that are on.
If one segment is on it will burn very bright,
when all 7 segments are on they will burn very dimm.

Bertus
 

spinnaker

Joined Oct 29, 2009
7,830
Wookie, I ask this only for my own good. What will happen if one add a series resistor to the c/cathode connector (a 1w). Would that not be enough to do the job .
Wook suggested that you multiplex the displays. This would mean only one display (or more) is turned on at any one time. But it happens so fast, your eye sees them as all being on.

This is done to save on the numbers of pins required for a microcontoller but it also helps to reduce part count as you just need one resistor for each pin that lights a segment at a given time. So if each of your 15 displays are multiplexed then you would just need 7 resistors, 8 if you want to use the decimal point. This does not count additional parts that you may need to select each 7 segment display.
 

SgtWookie

Joined Jul 17, 2007
22,230
You really can't use just one resistor on the common of the 7-segment (or multiplexed 7-segment) displays without consequences, as Bertus mentioned.

Maxim/Dallas has controllers that will handle quite a few 7-segment displays; you might have a look on their site.
 

eblc1388

Joined Nov 28, 2008
1,542
Fifteen 7-segment displays are too much for multiplexing and each segment gets only 1/15 duty cycle which is bad.

You will get far better result by multiplexing the segments and controlling which digit(s) gets the supply, via 74HC595 shift registers. Each output of the 74HC595 controlling the supply of each 7-segment digit.

The principal is simple.

1. determine which 7-segment display(s) requires to light segment 'a' and program this information into the 74HC595. This step will only take microseconds to complete.

2. using the MCU to turn on segment 'a' of the multiplexed display.

3. wait for some time and turn off segment 'a' output

4. go back to step (1) but now take care of segment 'b' and have MCU turn on segment 'b' in step (2). repeats for segment 'c' through 'g'.
 
Top