Driving an LED from an Arduino pin/TTL pin *the right way*.

JoeN:
I know the ATMega328P is a pretty good driver compared to most microprocessors, but it is not a driver. The maximum package source current is 200mA.

Well...aiming at exactly 20mA with just a resistor is a bad idea. Much better to aim at the 12-15mA mark.

In that case 200mA is 13-16 LEDs. About as many as you can physically connect to an Arduino.

(Of course this requires the user understands the limitations, which isn't guaranteed ... remember the guy who connected 60 LEDs to a single Arduino pin then posted about them being a bit dimmer than he would have liked?)