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?

  • 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. – Spehro Pefhany Aug 21 at 12:09
  • @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. – mathieu Aug 21 at 12:13
  • 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. – immibis Aug 22 at 2:40
  • Note that max current draw for Microcontrollers typically is two specs: per pin and total current limit. And, typically, total != npins*max_per_pin – crasic Aug 22 at 6:12
up vote 19 down vote accepted

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
    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 ;) – mathieu Aug 21 at 11:44
  • 9
    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. – ratchet freak Aug 21 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 acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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