Maximum Current Sink Rating for Mega 2560

Hi, I’ve seen a couple other posts about this but none that clearly answered my question. And I’ve already seen the datasheet for the ATmega 2560 processor (same thing.)

I’m controlling seven 7-segment displays with my mega. They’re common anode and I WAS using switching transistors to ground the appropriate pins on the 7-seg display. It occurred to me that I can just use the MEGA to ground the pins, as each pin only sinks about 7mA. When no. 8 is on < 40mA is sinked. However, at any moment, three 7-seg display can be on. I’m currently not using a de-multiplexer. Also, I’ve assigned the pin numbers on the Arduino serially from 2-50 for the 7-seg displays (2-8 for 1, 9-15 for 2, etc.)

So can I use the Arduino Mega to sink the 7-seg display current?

Yes, just need to observe the current limit per pin and per port:

3. Although each I/O port can sink more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
ATmega640/1280/2560:
1.)The sum of all IOL, for ports J0-J7, A0-A7, G2 should not exceed 200mA.
2.)The sum of all IOL, for ports C0-C7, G0-G1, D0-D7, L0-L7 should not exceed 200mA.
3.)The sum of all IOL, for ports G3-G4, B0-B7, H0-B7 should not exceed 200mA.
4.)The sum of all IOL, for ports E0-E7, G5 should not exceed 100mA.
5.)The sum of all IOL, for ports F0-F7, K0-K7 should not exceed 100mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition.
4. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state conditions (non-transient), the following must be observed:
ATmega640/1280/2560:
1)The sum of all IOH, for ports J0-J7, G2, A0-A7 should not exceed 200mA.
2)The sum of all IOH, for ports C0-C7, G0-G1, D0-D7, L0-L7 should not exceed 200mA.
3)The sum of all IOH, for ports G3-G4, B0-B7, H0-H7 should not exceed 200mA.
4)The sum of all IOH, for ports E0-E7, G5 should not exceed 100mA.
5)The sum of all IOH, for ports F0-F7, K0-K7 should not exceed 100mA.
If IOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current
greater than the listed test condition.

For the health of your part, with 7 displays I'd just add a MAX7219 to control the displays. Send it data via SPI.transfer() and keep your IO pins available for other stuff. Also just 3 components - 0.1uF cap, 10uF cap, and 10K current setting resistor vs wiring up a bunch of current limit resistors, and you get 15 levels of brightness control as well. $3 at www.taydaelectronics.com