While designing a new prototype with Atmega128RFA1 I noticed a very interesting change in the specifications of the digital I/O. Older AVRs have been able to sink/source 20-40 milliamps per I/O pin, but 128RFA1 is capable only to an maximum of 8 milliamps. Quick googling did not reveal if this is the case also with some other smaller/newer AVRs.
There is also a new register that lets the user configure current limit of I/O pins between 2 and 8 milliamps. This is actually quite interesting and lead to me thinking that if the current limit is configurable, could it be safe to use as a current limiter for example with LED lights so that a series resistor would not be necessary? This would actually be very cool, as the LED brightness could be configurable via software. Also with some space limited designs, dropping the LED resistors would help a little.
Does anyone have any knowledge or experience about this? Is the current limiter specified just for temporary use, or could it be used all the time?