I accidently shorted pins 10 and 11 with 10 set to output HIGH and 11 set to input. The pin 11 is not working. How do I figure out what component I burned?
Can the problem be fixed?
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
Assumption: As the specific Arduino model has not been specified, using the Arduino Uno to illustrate this answer. The rationale applies identically to the other Arduinos, for their respective pin-outs and microcontroller operating voltages.
Now let us examine the alternative possibilities:
Having said all that, if for whatever reason Pin 11 no longer performs input or output, the MCU's corresponding internal protection circuitry is irrevocably damaged. There is no way to repair this. This has been covered well in the answer by Manishearth.
Consider yourself fortunate that the entire microcontroller did not get destroyed, and re-code your applications to not use Pin 11 any more.
Personal tip: I've blocked the VIN sockets on my Arduino boards a long time ago by sticking some stripped insulation into them, to avoid ever accidentally exposing any jumper wire to that voltage. If I ever actually need to use VIN some day, I'll spend a delightful hour struggling to extract that bit of insulation stuck in there.
It shouldn't be possible to destroy your pin by shorting input to output. Input pins can handle Vcc-level voltage, so they should be able to handle the lower output voltage from the other pin. Also, they have a high impedance, so that should protect them from most things. (See Anindo's answer on this same question for more details on this). In your specific case, I guess one of the following happened:
However, you can destroy pins with the following connections (taken from this excellent post, there are many more in-general ways of destroying an Arduino there):
Regarding what to do in general when you destroy a pin:
In such cases, the microcontroller pin is burned out and can't be fixed. Thee only way to fix this is to replace the microcontroller (if it's a DIP package this is relatively cheap and easy) or buy a new board. When replacing the microcontroller, you will have to burn the bootloader onto the new microcontroller(unless you got it with the bootloader) if you wish to program the Arduino via USB.
Taking a look at the schematics, the following boards have pins directly connected to the microcontroller.
On the following boards, there are some pins which are protected and hard to burn out:
However, if you burn a pin on these, there's not much more you can do than replace the microcontroller.
If you seem prone to pin-burning, you may want to try out the ruggedduino.