About the article "10 Ways to Destroy an Arduino"

Hi All,

I'm a beginner to Arduino, and I'm very nervous whenever I connecting pins with wires. I came across an article "10 Ways to Destroy an Arduino" in the internet. I'm just wondering, are all the pitfalls mentioned in the article true? (Obviously, the author of the article has a conflict of interest.)

Best regards,
Gary

Those are all things that take components on the board past their absolute maximum ratings - some of them might take a while to do damage, and you might be lucky, but its definitely worth avoiding all them !

People for instance often short out output pins and get away with it - or end up with only slight damage (one pin doesn't drive fully high or fully low - I've got one Arduino Pro Mini like this for instance). In general exceeding the 40mA limit on pins will lead to permanent damage as the output FETs overheat.

The barrel jack is protected against reverse voltage but the Vin pin is not - hence method #4

So yes - take care, and if you can't take care (perhaps you are teaching a class!) consider a ruggedized version to reduce the accidental releases of the "magic smoke".

Well, the Uno is a pretty rugged device, based on a pretty rugged uC (Atmel atmega328p-au). All of those things in the list mentioned could cause damage, but not typically instantly. In other words, if you miswired the device but realised your mistake quickly, you may well be lucky and found you have not caused any permanent damage. It would take a some time before the shorted components would overheat and "let out the magic blue smoke", as they say.

I've accidently done lots of bone-headed things over time with these chips, and I'm amazed at how forgiving they are, overall. So, I wouldn't be too nervous (but a healthy degree of care and caution is always a good thing anyway.) These boards were primarily designed to be put into the hands of rank beginners, to build basic skills and confidence.

12V connected to either 5V or 3V3 pin will instantly destroy it guaranteed (in a few hundred microseconds the FET gates will puncture I bet). Similarly high overvoltage or undervoltage to any pin can vaporise a protection diode.

I see. Thanks.

Actually, I did make quite a number of those mistakes mentioned in the article accidentally already. I got lucky, and realized them soon enough.

Among the 10 pitfalls mentioned, there is one bordered me, i.e. Method #10. It says lighting up 10 LEDs will damage the board. What should I do if I really have to light up 10 LEDs with individual control?

You need a separate power supply / driver that is controlled by the arduino. Could be as simple as a logic-level MOSFET for each LED.

ma_hty:
Among the 10 pitfalls mentioned, there is one bordered me, i.e. Method #10. It says lighting up 10 LEDs will damage the board. What should I do if I really have to light up 10 LEDs with individual control?

The reason #10 can damage the Arduino IC is that in addition to the maximum current each I/O pin can supply, each bank of I/O pins also has a maximum current that is significantly lower than then the total would be if all the pins in that bank were supplying near their maximum current.

The way you avoid the problem with a normal UNO would be to have a separate power supply for the LEDs, and then have each LED control pin connected to a low-side transistor switch that will turn the power to a particular LED on or off based on the state of that pin.

Don't worry, be happy. With electronics, expect some smoke once in a while. It's called the
learning curve. Best to buy 2 Arduino boards from the getgo, :-), so if one stops working
you can see if the software still downloads and functions on the good one.

See the following motto:

"Experience Gained is Directly Proportional to the Amount of Equipment Destroyed."

Items #1..#3 are probably the most common 'accidents', other than applying Vin of reverse
polarity, which is mitigated by some bds having a diode in the Vin line. The simplest way
to deal with #1..#3 is to wire small value [220-330 ohm] resistors in series in the I/O lines.

pico:
In other words, if you miswired the device but realised your mistake quickly, you may well be lucky and found you have not caused any permanent damage.

No you have caused permanent damage it is just that in the limited use you make of the processor you might not notice it.

"Experience Gained is Directly Proportional to the Amount of Equipment Destroyed."

While pithy, it is not true.
I like
"the second time you are kicked by a mule you have learn nothing"

While pithy, it is not true.

It more or less indicates that 'accidents' are not uncommon in the electronics world.

Hey, relax.

I'm a programmer who tired with virtual and wanted some reality.
There is no problem for me to appreciate the sense of humor in
oric_dan's post.

oric_dan(333):
Best to buy 2 Arduino boards from the getgo, :-), so if one stops working
you can see if the software still downloads and functions on the good one.

Good advice. Certainly helps to answer some debugging questions very quickly. When working with a new board, I like to have a backup on hand for just this reason.

Depends on the price though, admittedly. I've recently bought two Teensy 3.0s, because they are a very affordable $19 each.

Not sure I'd plunk down $49 twice for a Due, though. Not even sure I'd plunk down $49 once yet!

KeithRB:
You need a separate power supply / driver that is controlled by the arduino. Could be as simple as a logic-level MOSFET for each LED.

Can I use shift registers (e.g. 74HC595) instead to solve the same problem?

ma_hty:

KeithRB:
You need a separate power supply / driver that is controlled by the arduino. Could be as simple as a logic-level MOSFET for each LED.

Can I use shift registers (e.g. 74HC595) instead to solve the same problem?

For many shift registers you'd only be able to fully power one 0.3 to 0.5 mm LED per output pin of the device. That's because they will have a maximum continuous output current of only 20 to 40 mA. In the case you are asking about that might be sufficient; but a transistor used as a switch could power arrays of multiple LEDs, or other much higher current loads.

Edit: And some of them, like the 74HC595, have a maximum input current of around ~75 mA. So you wouldn't be able to use the 74HC595 if you needed more than two LEDs lit at the same time.

12V connected to either 5V or 3V3 pin will instantly destroy it guaranteed (in a few hundred microseconds the FET gates will puncture I bet).

Another thing to be aware of, is that most Arduino bds nowadays use tiny SOT-223 smt [surface mount]
voltage regulators, and these are both less robust and more prone to overheating than the older
TO-220 packages like 7085, LM2940, etc. The TO-220 can withstand reverse-polarity and output
shorts better without termination.

Even though the smt v.regs may tout "1-Amp", they are typically only good for 100 mA or two before
overheating. IE, with Vin = 9V, the power dissipation in the v.reg is Pd = Vdrop * I = (9V - 5V) * 1A,
or 4-Watts, and 4-Watts will fry an SOT-223 package. SOT-223 devices are actually rated at only
about 0.3-Watts.

So, you can see, with Vin = 9V, you can only draw about 100-mA or so off the v.reg before
overheating.

Reads like an "advertisement" more than an "article" to me.

My strategy is to use ATMega328 chips that cost $2 each from Digikey instead of Arduinos. Doesn't hurt as much to mess one up. And you can set the fuses any way you want, use the internal oscillator and free up 2 pins, retask RESET, etc.

ma_hty:

KeithRB:
You need a separate power supply / driver that is controlled by the arduino. Could be as simple as a logic-level MOSFET for each LED.

Can I use shift registers (e.g. 74HC595) instead to solve the same problem?

Why not use a proper LED controller. They work just like a 74HC595 but you don't have to worry about resistors - it's all in the chip.

ma_hty:
Hi All,

I'm a beginner to Arduino, and I'm very nervous whenever I connecting pins with wires. I came across an article "10 Ways to Destroy an Arduino" in the internet.

Yes, but most are unlikely.

Remember: You can usually fix your Arduino in five minutes with a $3 replacement chip.

fungus:
Remember: You can usually fix your Arduino in five minutes with a $3 replacement chip.

"five minutes chip replacement", interesting, it really rings the bell. Can I have more information about how? I'm willing to do soldering, though I'm lousy in soldering.

Just buy a new bootloader chip from Adafruit or Sparkfun.