Short circuit and high voltage

Hello there, I am new to Arduino and electronics in general, so I hope you can bear me :confused: :).

So, what happens if I sent a high voltage from an I/O pin directly to the ground pin? Could this damage the board even at 40mA? I understand the output of that pin is from the microprocessor .... but who is in danger here? the microprocessor, the busses or what?

Also, why short circuit is dangerous? Is it because the current is too high and it should be consumed a bit, then travel back to the ground or I got the whole idea wrong.

Ohm's Law tells us I=V/R so if you have a short circuit where R~0, I will head to infinity.

If there's nothing to limit the current to 40mA, and with a short circuit there isn't by definition of short circuit, then the smoke will come out.

PS: current doesn't get "consumed", it needs to be "limited". That's why there's a series resistor in line with an led, for example, where an led is for our intents and purposes a short circuit once it's conducting.

I think you're misunderstanding the 40mA. That's not the maximum that could ever flow from a pin it's the maximum that SHOULD be allowed to flow.

It's your responsibility to make sure that you never try to use more than 40mA. A short circuit will try to take a LOT MORE than that and in the process will kill that part of the microprocessor (so the pin never works again - at least).

It's very unlikely that the excessive current will last for long enough to cause problems to the PCB tracks,which is what I guess you mean by "busses".

Steve

I don’t know the short circuit current of an Arduino pin but would be surprised if it’s much more than a 2-300 mA. Still a bad thing to do: that current will destroy the output pin circuitry on the chip very quickly, and there’s a fair chance more parts of the chip get damaged in the process (I for one wouldn’t trust a controller with blown pin).

A short like this won’t be dangerous as in fire, explosion, kill you kind of dangerous, but it’s bound to kill your controller very fast.

wvmarle: I don't know the short circuit current of an Arduino pin but would be surprised if it's much more than a 2-300 mA.

Based on the datasheet curves, the internal resistance of the driver is about 40 to 45 Ohms, putting the short circuit current less than 125 mA.

AVR pins can give or take 25mA of up to 5.5V continuous. You pull 40mA from one or drain the same for more than a brief time and the pin will be damaged at least a little up to permanently screwed.

The UNO has a socketed ATmega328P. If you have a spare chip already bootloaded you can replace the one on the board and if you didn't hurt the board it will be like new. And yes there are web pages that show how to bootload AVR chips.

Beyond that, AVR's have a 200mA safe limit for the total mA sourced and sank by its IO pins. You can't source 20mA from a dozen IO pins safely. The smart thing is to use transistors or drivers connected to IO pins to supply or drain current.