
How to Destroy an Arduino - harrydoukas
http://ruggedcircuits.com/html/ancp01.html
======
jrockway
Despite all this, I've never been able to damage an AVR. Either I am very
careful in my old age, or the stock AVRs are a bit more durable than this
article would lead you to believe. I'm _sure_ I've shorted a pin to ground
while set to high, for example, because it's a one-byte programming error to
do so.

~~~
SpacemanSpiff
Agreed. I've done all kinds of accidental abuse to AVRs, shorting outputs
while testing, powering an entire circuit through the USART pins, switching
the PDI connector on an XMEGA (3.3V) with a +5V USB connector, that sort of
thing. They seem to be quite resilient. A classmate of mine apparently had a
5V AVR powered by +12V for quite some time in one of his projects when the
voltage regulator silently failed. Apparently it operated for several days
like this. My favorite discussion about the resilience of the AVR comes from
26C3 "Advanced Microcontroller Programming", available here on youtube:
[http://www.youtube.com/watch?feature=player_detailpage&v...](http://www.youtube.com/watch?feature=player_detailpage&v=JV3BJo1JAeQ#t=2690s)
"You can zap 15kV spikes into the clock inputs and it will continue to run..."

------
PedroDiogo_
I have one extra ATMega168 and I will test some of these methods but I'm not
sure if you can kill one of these chips just by doing some of these methods.

All I can say is that once, while programming one of these ATMegas, I
accidentally swapped VDD and GND and left it there for 2/3 minutes. The chip
got very hot and I burnt my finger but once I left the chip cool I was able to
program it again and after 2 years it is still working.

------
gregable
Great way to do marketing. It's not only interesting and engaging, but also
actually useful regardless of whether or not you buy their product.

------
pravda
Well, none of these methods is sufficient to destroy the _Arduino_ , you will
just destroy the ($2.50) AVR.

I would certainly recommend using the UNO or earlier revision with the
socketed AVR.

Then you can have a couple of spare ATmega328's for backup.

~~~
dfox
One thing that always bugged me about $30 arduino is that it is mostly nothing
else than $2.50 AVR

~~~
pravda
That's actually the _nice_ thing about it. After you've designed and debugged
your project on the Arduino board, you can implement it with a $2.50 AVR (+ a
few support items).

You can't do that with, for example, the Raspberry PI or the Netduino.

~~~
dfox
That makes sense, but what doesn't is incredible amount of projects and things
(and not only DIY, I've seen some one of commercial designs done exactly in
this way) that just embeds whole arduino board connected by bunch of random
wires to something (preferably something composed of another relatively
expensive breakout boards).

~~~
ComputerGuru
For one-off projects, the 25 extra bucks aren't really the killer. I don't see
the problem with using an arduino in a commercial setting, so long as you're
not mass-producing with said arduino.

------
quasse
>> Method #4: Apply External Vin Power Backwards

I know this one isn't true, because I did this last night with no ill effect.
I accidently connected a 9V power brick with the leads reversed. Nothing
happened, the Arduino just doesn't turn on until you reverse the leads.

------
DHowett
This article is literally ten instances of "How to destroy an IC: apply power
where power does not belong, or apply too much power where less power
belongs." with marketing piled on top of it. To be fair, if you did any of
these things directly to the AVR powering a ruggeduino, the exact same thing
would happen.

I'd not have been surprised to see "apply 120V AC to Vin/Vcc" on this list,
simply for the common sense involved in such a statement.

~~~
Too
The arduino might be a development board but the way i see it, the IO-pins
does not have to be be a 1:1 mapping to the IC-pins. I want it to be a safe
and reliable, general purpose IO-unit. For that, applying these fixes saves
you from many accidental mis-connections.

------
ComputerGuru
Is #10 actually going to destroy the AVR?

 _Method #10: Exceed Total Microcontroller Current_

I'd imagine it would just temporarily disable it, but disconnecting the extra
draw would put things right again... I don't think undervoltage or
undercurrent physically damages the AVR?

~~~
jrockway
All drawing current does is cause components to heat up. Too much heat and the
components start vaporizing, and then they don't work anymore because they no
longer exist. (The effects may be more subtle than this, of course.)

So yes, it's definitely possible to damage a microcontroller in this way, but
I'm not convinced it's as easy as the article suggests. (I'd try on an ATtiny
right now and see, but my stash is at work.)

~~~
ComputerGuru
If, as a result of the voltage and current regultors in the AVR, the AVR only
sources X amount of current, adding load past that point will not magically
introduce more current (and thus, heat) into the equation, though... Assuming
the maximum supported load is also the maximum physically available, the
maximum heat generated should be tolerated OK.

~~~
bbq
As jrockway mentions, the ATMega does not have a power regulator. That would
be inefficient as regulators work by dissipating excess energy as heat. So,
even if the chip had onboard regulators to limit the combined current draw of
the output ports to 200mA the chip would still be susceptible to overheating.

That said, I'd guess the weak link that puts the 200mA limit in place is not
actually in the I/O circuitry but is how much current can safely be drawn by
the I/O pins when the chip is otherwise fully utilized - peripherals and CPU
both consuming max power.

~~~
ComputerGuru
The atmega may not, but the Arduino itself does; the output of that regulator
flows into the ATMega...

------
Too
Awesome article. Shows some common failure scenarios of a real product,
explains exactly what will happen and proposes an easily understandable
solution.

One of the best electronic lessons i've read for a long time. Finally makes
you realize why most pcbs has all those weird components sitting around
instead of just pushing the io-pins straight into the µC.

While the avr might be able to handle some of the failures in certain
scenarios it's still good to know how to protect yourself in case you use
another controller or if you really want to be on the safe side.

