Go Down

Topic: About the article "10 Ways to Destroy an Arduino" (Read 9390 times) previous topic - next topic

ma_hty

Oct 31, 2012, 04:26 pm Last Edit: Oct 31, 2012, 04:49 pm by ma_hty Reason: 1
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

MarkT

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".
[ I won't respond to messages, use the forum please ]

pico

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.

WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

MarkT

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 won't respond to messages, use the forum please ]

ma_hty

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?

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.

Far-seeker


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.

oric_dan

#7
Oct 31, 2012, 06:13 pm Last Edit: Oct 31, 2012, 06:23 pm by oric_dan(333) Reason: 1
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:

http://andahammer.com/

"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.

Grumpy_Mike


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.

Quote
"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"

oric_dan

Quote
While pithy, it is not true.


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

ma_hty

#10
Oct 31, 2012, 06:31 pm Last Edit: Oct 31, 2012, 06:41 pm by ma_hty Reason: 1
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.

pico


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!
WiFi shields/Yun too expensive? Embeddedcoolness.com is now selling the RFXduino nRF24L01+ <-> TCP/IP Linux gateway: Simpler, more affordable, and even more powerful wireless Internet connectivity for *all* your Arduino projects! (nRF24L01+ shield and dev board kits available too.)

ma_hty


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?

Far-seeker

#13
Oct 31, 2012, 07:18 pm Last Edit: Oct 31, 2012, 07:27 pm by Far-seeker Reason: 1


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.

oric_dan

Quote
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.

Go Up