I planning on having 8x seven segment displays driving off a single 7219. The vcc is 5v. I was wondering how does the 7219 divide the power amongst the displays? Not decided yet but I probably only want 5 ma for each segment so 40ma for each seven segment display. The datasheet doesn't explain it in a way I understand.

Is it just usual way of working out a resistor for an led ? if so how is it able to guarantee the same amount for every one of them


The MAX7219 is a constant current source.

It uses the resistor connected between \$V_{cc}\$ and \$I_{set}\$ to set the current delivered to each LED.

It also multiplexes the 8 digits, so only 1 digit is "alive" at any one time.

Thus, the maximum current draw by a display, no matter how many digits you have, will be \$I_s \times 8\$ (8 is 7 segments plus the decimal point, \$I_s\$ is the current of a single segment).

The datasheet gives a very handy table with typical values for the resistor depending on the forward current and the voltage of a single segment. This all depends on the displays you are using - check their data sheet for this information.

enter image description here

So for a display that has a 2.5V voltage and 20mA per segment, you would use a 28KΩ resistor.

I have come across a page on the Arduino site which gives some good information about the RSET resistor.

  • \$\begingroup\$ So you are saying out of my 8 segment display, only one of them is on at any one time. It happens so fast that the human eye isn't able to see it switching on and off. Thats pretty clever stuff. Very handy when you're trying to keep consumption to minimum. My 1K resistor is giving 3ma to each segment so therefore each display uses 24ma \$\endgroup\$ – Ageis Dec 4 '11 at 20:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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