# 7 segments displays multiplexing

Hi, I started a couple topics abut this subject.
After some research managed to get it working using this method:

Now my question is: how many serialized displays can I have?

The 2 possible issues that come to my mind are:

1- Is current a problem?
As far as i understand only 1 segment/digits is lighted at time, so it wouldn't be a problem, am I wrong?

With the example above the 4 digits seem to have the same light intensity, will this change if I add more displays?

Well, these are my doubts right now.

Assuming that the software does the "obvious thing":

This way the digits have the same intensity, and 1/4 of full intensity. So if you have 8 digits each will have 1/8 th ....

There is no limit (expect how many distinct sink transistors you can drive, but that can be handled with a shift register or two.)

There is no current problem as you only turn on one 7 seg number at a time.

(edits: fixed typos)

Thank you!

Msquare:
This way the digits have the same intensity, and 1/4 of full intensity. So if you have 8 digits each will have 1/8 th ....

Ouch, I wasn't counting with this.
I'm planning to add 12x 4-digits matrix so I guess I will have to serialize them in groups of 2, that's a lot of I/O =(
BTW, is 1/8 enough light for a regular 7 segment display?

Bright enough? It depends. 1/8 is enough if 1/1 is very bright …
1/24th might work too (doubt it), but if one cycle takes much more than 10 ms the flicker will start getting noticable. Maybe 6x8 grouping?

You could try a differnet approach. The approach is to some some latches, one to each digit. You load one 8 bit latch with the correct bitpattern for that digit, and ask the latch to “hold”. The digit now is steady and constantly lit. 8)
BUT … (there is always a backside)
now you have an ampere problem as all digits will be lit all the time.

Or you admit that 48 7segment displays is too much for the Arduino and get some standalone Mux chips. Cant remember the number but there are some chips that will do a 4 digit display requiring minimal input fro the Arduino and multiplex the 4 digits. That way you only need current to handle 12 digits lit at one time.

Alright mate thanks for the input.
I will consider the last option -my electronics knowledge is almost zero that's why I'm doing it this way right now-.

I’ve done 56 displays like that, but with all segments on together for each digit, not just 1 segment.
Check your datasheet for the digits. Most will handle more current when the current is pulsed, the pulses just have to be quick, such as:
“1/10 Duty Cycle, 0.1ms Pulse Width”
So if you are updating each digit every 0.1mS, and you hve 48 digits, that’s a refresh rate of 4.8mS, 208Hz, there will be no flicker either.

MAX7219 will control 8 common cathode digits for you. Simple SPI.transfer command to 1 of 8 registers to udpate a digit.
Can be daisy chained, so SCK-MOSI-SS can control 6 parts for 48 digits, with data out of one device feeding serial data in to the next.
Or, use a unique slave select pin for each device and send them commands individually vs a command rippling thru all parts.
No matter what, SPI.transfer() at default settings & speeds (4 MHz SPI clock) works great.

Thank you Sir, very informative.