Sourcing Current

Hello All, I have situation where I am sending a signal from one Arduino to another by simply using a digitalWrite on one end, and digitalRead on the other. I am just using a short jumper wire to connect the two Arduinos, so I am assuming that the resistance is negligible. With 5V and a very low resistance, wouldn't this mean that the Arduino would try to source a very high current? I realize that the Arduino can only source 20 mA, so could this damage the Arduino?


A pin configured as an input has a very high resistance, so negligible current will flow.

Now if you have both pins configured as outputs, you will have an issue if one is high and the other low. You can include a resistor in the connection to limit current if this happens by mistake.

Furthermore at power up and reset all pins are set as INPUT, so there is only a problem if you deliberately program both Arduinos to use the relevant pins as OUTPUTs - the real risk is if you use an Arduino for something else, then connect it to this circuit before reprogramming it correctly. Add a 1k resistor if this is a risk, otherwise its not needed. Common the ground lines of course.

I typically use series Rs in every I/O line of value 220-330 ohms. This way the Arduino is saved from 90% or so of the usual "accidents" in connecting signals to pins, shorts, overvoltages, output-to-output, etc.

Ohh, that makes sense! Thanks for the replies and advice!