Original/First version: enter image description here

Second Version: enter image description here

Second Version display, Brightness not the same for all led!! enter image description here

enter image description here

Originally, I have 8 resistors for each 8x8 dot display, then in this newer version, trying to simplify the circuit, I only use 8 resistors for all 4 dot displays, but the brightness is not very good, ie, they are not the same brightness. Technically, I think it's okay to just use 8 resistors to power these 4 dot displays. That is how I power 7-segment led display anyway. Am I correct? What is the problem here?

GOT IT working now!!:

enter image description here


1 Answer 1


Second version is not correct because you are sharing resistor between multiple LEDs in the same moment. The current flowing through single resistor is a sum of currents through Ax, Bx, Cx and Ex (for any fixed x between 0 and 7).

Let's assume F0 is grounded in some moment of time-multiplex. Then, by setting A0, B0, C0 and E0 high you light top left LED in each matrix respectively. If you assume voltage drop over the LED is approximately constant, you have same voltage over resistor and same current through resistor regardless how many of these four LEDs are lit. But this same current is divided between one, two, three or four LEDs, therefore resulting in different brightness depending on how many matrices has this particular position lit.

EDIT: I assume you are running your multiplexer such that you drive low just one of Fx outputs at time and set all Ax, Bx, Cx and Ex outputs accordingly. Should you loop over all Ax, Bx, Cx and Ex such that only one of these 32 outputs is high at each single moment, then the problem described above does not apply.

  • \$\begingroup\$ Good answer, ADDING: even multiplexing the F lines, that Is a lot of current for the poor ATMEGA to source or sink. \$\endgroup\$
    – Trevor_G
    Commented Apr 15, 2017 at 20:58
  • 1
    \$\begingroup\$ @Trevor Wrong answer actually, but thanks for the feedback because I kinda from your logic solved my problem!!! It's quite simple!! This circuit should be considered as a common anode circuit instead of common cathode. So Instead of multiplexing vertically, I need to multiplex horizontally. The coding is much more complex, but it did worked!! (see updated photo) \$\endgroup\$
    – user83582
    Commented Apr 16, 2017 at 11:11

Your Answer

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