Maker Pro
Maker Pro

Need Help Improving Brightness in Multiplexed 7 Segments (6 Digits)

Hi guys! I am currently making huge 7 segment displays for our project. I am using 2 led strips for each segment. This is an outdoor project so I think I am gonna change the segments with multiple super bright LEDs. There is one problem guys the digits seem to be very dim when I try to switch it with the arduino. I've read that it is because the average current decreases as the number of digits being multiplexed increases. What should be an absolute remedy for this guys? Thanks!
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Increase the average current.

if you want an average of 20mA in a 6 digit multiplexed display, the current needs to be 120mA.
 
Increase the average current.

if you want an average of 20mA in a 6 digit multiplexed display, the current needs to be 120mA.

But wouldn't that be very dangerous especially when the microcontroller stop switching (just in case)? I heard that it will also reduce the led's lifetime. What should be a safer remedy? Thanks for your reply by the way.
 
Hi guys! I am currently making huge 7 segment displays for our project. I am using 2 led strips for each segment. This is an outdoor project so I think I am gonna change the segments with multiple super bright LEDs. There is one problem guys the digits seem to be very dim when I try to switch it with the arduino. I've read that it is because the average current decreases as the number of digits being multiplexed increases. What should be an absolute remedy for this guys? Thanks!
You could multiplex BCD to 7 seg latches and thereby drive the display statically. This will require 4 data for all digits plus 1 latch for each digit.. Show current schematic How many digits? .How much current and voltage per segment?
 
Last edited:
4x7LED5.png


Although this is not really the same with my circuit, this concept of multiplexing is what I am currently using. Instead of sourcing current from the arduino, I am using a transistor instead.

You could multiplex BCD to 7 seg latches and thereby drive the display statically. This will require 4 data for all digits plus 1 latch for each digit.. Show current schematic How many digits? .How much current and voltage per segment?

By the way, could you elaborate more about what you meant by BCD to 7 seg latches. I know BCD to 7 Segment, but I don't know what you are talking about latching it. From what I've learned latch refers to a circuit which keeps the output on its set state regardless if you change the input. Unless you reset it, then it will change its state. So does that mean in order to display multiple digits you'll just have to latch it on the first digit, then the other digits? Which means all of them are on? Or are they still switching with each other? Thanks for your reply mate!
 

hevans1944

Hop - AC8NS
I don't much care for multiplexed LED displays because of "flicker" and the weird effects created by eye and head motion. Many years ago I was tasked with creating a 7x9 (or maybe it was 5x7) dot-matrix LED display with digits about four inches or so high. The vertical column data (derived from an early Intel microprocessor) was multiplexed in sequence across several digits fast enough that the display appeared to be continuously lit... until viewed in a dimly-lit room. Then any head or eye movement, along with persistence of vision, created a most annoying visual effect. I have seen the same effect on my bedside clock radio when the room lights are off, so multiplexed displays must be quite common. But ever since that first LED multiplexing project umpteen years ago, I have avoided multiplexing digital displays. Latches and continuous illumination of each active segment are much preferred. You can still multiplex the data to each 7-segment display, but leave the segments lit by latching that data for each numeral in the display as @GPG suggested in post $6 above. Viewers will love you for it! If you need more brightness, use brighter LEDs and appropriate driver circuits.
 

hevans1944

Hop - AC8NS
You dont get much flicker Hop if you run at 200Hz.
Adam
Adam, the effect I am talking about occurs because of persistence of vision at low ambient light conditions. It does not appear to be significant in a brightly lit room. I liken it to the same effect you see when you wave a light around in the dark, leaving "streaks" in the path of the light. Even at 200 Hz (or faster) the effect will occur because in reality not all the display segments are lit simultaneously. This rapid sequencing acts like a strobe, imprinting each display on your retina at successive intervals of time. In brighter ambient light your eyes can see all the digits simultaneously, and without rapid eye or head movement there is no apparent flicker or "streaking" of the display image. However, in dim light each segment, or the whole digit, flashes on briefly and the eye wanders a bit between flashes because there is nothing to fixate on. Maybe it's just me, but I find the whole thing very annoying.

I must agree that multiplexing generally saves a lot of work and results in fewer components, but for large displays with individual LEDs being illuminated, all that is probably way down in the noise in terms of cost and construction time. The number of digits could be a factor, I suppose, but for a typical large display (like a basketball score board) brightness and consistency are more important than the few bucks saved by multiplexing, IMHO. As the OP noted, multiplexing also decreases the amount of light available for each display. By driving each lit segment continuously, rather than multiplexing it, the OP is free to choose whatever brightness is desired. The entire display could even be dimmed if PWM drivers are used, this to accommodate different ambient light levels.

Some specifications on number of digits, size of the display, and desired brightness would be helpful for an actual design.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
But wouldn't that be very dangerous especially when the microcontroller stop switching (just in case)? I heard that it will also reduce the led's lifetime. What should be a safer remedy? Thanks for your reply by the way.

It certainly can.

If you're paranoid you can add a little magic to prevent the pulses going to the column drivers being longer than a certain time. This means if the uC freezes, the display will go out.

You can do this with a 40106 (for up to 6 columns) and a capacitor, resistor, and diode for each channel. You also need to invert the outputs for the column drivers with a simple circuit like this.

If you're interested I'll draw it up for you.
 
I don't much care for multiplexed LED displays because of "flicker" and the weird effects created by eye and head motion. Many years ago I was tasked with creating a 7x9 (or maybe it was 5x7) dot-matrix LED display with digits about four inches or so high. The vertical column data (derived from an early Intel microprocessor) was multiplexed in sequence across several digits fast enough that the display appeared to be continuously lit... until viewed in a dimly-lit room. Then any head or eye movement, along with persistence of vision, created a most annoying visual effect. I have seen the same effect on my bedside clock radio when the room lights are off, so multiplexed displays must be quite common. But ever since that first LED multiplexing project umpteen years ago, I have avoided multiplexing digital displays. Latches and continuous illumination of each active segment are much preferred. You can still multiplex the data to each 7-segment display, but leave the segments lit by latching that data for each numeral in the display as @GPG suggested in post $6 above. Viewers will love you for it! If you need more brightness, use brighter LEDs and appropriate driver circuits.

http://www.onsemi.com/pub/Collateral/MC14511B-D.PDF
For example. Connect all the data lines in parallel and the latch to separate pins. To change a display put the data on the parallel bus and toggle the latch pin for that digit. If you are using a bit of power you may need segment drivers. Info on display voltage/current per segment?

Each segment currently draws 12 V & about 100 mA. Does that mean if I have 6 digits, I need 6 BCD to 7 Segment Decoder/Latch?

Thanks for all your replies.
 
It certainly can.

If you're paranoid you can add a little magic to prevent the pulses going to the column drivers being longer than a certain time. This means if the uC freezes, the display will go out.

You can do this with a 40106 (for up to 6 columns) and a capacitor, resistor, and diode for each channel. You also need to invert the outputs for the column drivers with a simple circuit like this.

If you're interested I'll draw it up for you.

Hehehe. We are currently making this for a government project that is why I am afraid of risking it. Anyway, if there is a way to keep it safe using such method then I would really be interested in it. I would definitely appreciate it if you could enlighten me. By the way, what do you call such circuit so that I could also research more about it. Thanks!
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Sorry about the delay. This circuit will do the trick of preventing a problem if your uC locks up while multiplexing.

pulse-limiter.png

Note that this circuit inverts the logic signal.

As the input transitions from low to high, Diode D1 conducts and the output goes low immediately, and stays low.

As the input transitions from high to low, the output goes high immediate, but only remains high until R1 charges C1 enough that the output goes low again.

The RC delay should be longer than your normal column interval, perhaps by an order of magnitude. Try to keep C1 small (0.1uF is probably a sensible upper limit).

This circuit will introduce a slight delay (as well as the inversion of the signal) so you will need to allow for this in the programming of the uC to both get the correct display and to avoid ghosting.

If you need to limit the time the output is low (instead of high as in this circuit) connect the resistor between the input of U1 and ground, and reverse the diode.

U1 is 1/6 40106 or similar. D1 is any small signal diode (e.g. 1N4148).
 

hevans1944

Hop - AC8NS
Each segment currently draws 12 V & about 100 mA. Does that mean if I have 6 digits, I need 6 BCD to 7 Segment Decoder/Latch?

Thanks for all your replies.
Yes. See @GPG reply in post #16.
6 digits is far too many for an outdoor display
Only if the digits are multiplexed. If segments are driven from latches and illuminated continuously, any number of digits can be accommodated. Check out the countdown clock that NASA used to display (to the public) the time to lift-off of the space shuttle.

upload_2015-10-4_7-58-0.jpeg

I think the idea of using LED light strips is a clever solution for large outoor displays. It appears that in the image above each of the segments is made of several individual light bulbs.

Go get it, @MiZZi !
 
Last edited:
Top