I bought a 1.8-inch seven-segment common cathode LED display from AliExpress. So no datasheet available.

I used a 1 kΩ resistor and a 5 V source, as to put a max 5 mA in the LED. I measured 1.6 V for the decimal dot, and 3.5 V for each segment. The measured current draw for one segment was 1.5 mA.

Now, I expected each LED to be quite dim at 1.5 mA, but it was the opposite, I could put a 4 kΩ resistor and still has a usable display.

I intended to drive the display using an ATmega328P and a MAX7219 (which would have been OK up to 500 mA per segment).

Does this measurement seem correct, and if so, I can drop the MAX7219 and drive the segment directly (with current limiting resistors) with the ATmega?

  • \$\begingroup\$ A modern single digit is easy to drive directly from a micro. If you need to drive multiple digits it gets more difficult. The digit drivers will be that DC segment current * n * 8 for n digits. \$\endgroup\$ Aug 21, 2018 at 12:09
  • \$\begingroup\$ @SpehroPefhany I need to drive 2 digits, but I have plenty of spare IO on my atmega328p ;) I could use this as an opportunity to multiplex. \$\endgroup\$
    – mathieu
    Aug 21, 2018 at 12:13
  • \$\begingroup\$ I've found that modern LEDs are a lot brighter than I think. I use 10k at 5V when breadboarding stuff and it's still plenty bright as an indicator (indoors, anyway). Except for yellow ones for some reason. \$\endgroup\$
    – user253751
    Aug 22, 2018 at 2:40
  • \$\begingroup\$ Note that max current draw for Microcontrollers typically is two specs: per pin and total current limit. And, typically, total != npins*max_per_pin \$\endgroup\$
    – crasic
    Aug 22, 2018 at 6:12

2 Answers 2


First of all +1 for measuring your display. Too often we get questions here about "I saved money by buying cheap from Alibaba but it don't work. Now please spend you valuable time helping me out".

These days LED's are very efficient. They no longer need the 20mA the first generation required. 1mA or less is not uncommon.

So, yes, you drive these straight from an atmega328.

  • 3
    \$\begingroup\$ Thanks. A lot of the fun is learning of this works, and comparing expected vs real values with the multimeter. Now, I have some ripup to do in Eagle ;) \$\endgroup\$
    – mathieu
    Aug 21, 2018 at 11:44
  • 9
    \$\begingroup\$ It also depends on the surrounding lighting, in daylight you are going to need to drive them harder to literally outperform the sun, in the dark you only need enough to be glowing at all. \$\endgroup\$ Aug 21, 2018 at 12:48

Use current limit resistors. You can get by with 1 if you are multplexing the display (only turning on 1 segment at a time), or use 7 if you are driving all 7 at once. The advantage of the MAX7219 is that takes cares of the multiplexing for you, and can drive up to 8 digits with just 3 outputs from the Atmega328P.


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.