# What is the equivalent thevenin resistance of a digital output port on an Arduino Uno R3

How would I determine the thevenin equivalent resistance?

-

You can't directly, at least assuming there is nothing between the arduino output and the microcontroller output.

Microcontroller manufacturers don't spec output resistance usually, but they do specify the worst case voltage drop under some load. For example, for a micro running at 5 V they spec might say the minimum guaranteed logic high output is 4.0 V at 20 mA sourced (I'm making up these numbers as examples only, you need to check the datasheet). Assuming the output when driving high is a saturated FET that can be modeled well enough as a resistor, then this says it drops 1 V at 20 mA. 1V / 20mA = 50 Ω. That's the worst case, so is the highest resistance. The actual resistance can be anywhere from 0 to that value.

However, modeling a digital output as a Thevenin source is only roughly right. You can get some first order useful information from it, but you certainly don't want to use that for any kind of detail. If you find yourself wanting that, then it's a good clue you need to step back and think about the design differently.

It would help if you explained why you want to know the output resistance of the micro.

-
I will have a 220uF Capacitor attached to a Digital output port and ground. There is also a wire going from the digital output port to an analog input port. Then I charge the capacitor and then discharge it, measuring the discharge voltage on the analog input. –  Josh Oct 4 '12 at 7:05
@Josh: Putting such a large capacitor directly on a digital output is a bad idea. That is guaranteed to violate the maximum current source and sink rating of the digital output when it is switched. Put enough resistance in series with the digital output so that the maximum source and sink current is not violated, regardless of whether the capacitor is high or low and how long it will take to charge to the new state. –  Olin Lathrop Oct 4 '12 at 13:04
Wow I hope I haven't messed up my arduino. Didn't know that 220μF is considered large. Thanks for the input –  Josh Oct 4 '12 at 18:35