I am reading the book "Arduino Projects Book", included in the Arduino starter kit.
I've made an engineering school, so I've learned the basic of electronic. But it's a long time ago. I remember the general equations (U=RI, P=UI...), but I am not able to write the global simultaneous equations for a circuit...
But, since I am a software developer, I'd like to "test things".
The problem is : I know that can destroy the Arduino board if I don't respect some rules. While you are writing software, if you make a mistake, you don't destroy the computer... The software just doesn't work as expected.
My question is :
Is there a document that lists the basic precautions that should be followed in order to prevent design errors, or just inadvertent errors (that can lead to the destruction of the Arduino) ?
For example, I am asking myself :
What happens if I build a circuit that needs more power than the one that can deliver the board? I think: my circuit won't work... that's all.
A good rule to follow might be not to connect stuff to / disconnect stuff from chips while powered, but to turn the thing off.
Grounds should be connected, unless you know you want them separated.
Check every connection twice.
Install heatsinks when necessary.
And don't forget the most important rule, also known as the Fourth Law of Thermodynamics: If anything can go wrong, it will.
@ Jim, No I disagree with your assessment "Crap" is what you say when you do delete your last three day's of work.. I've done it with code and schematics and PCB artwork too. I think personally that it is a "Rite of Passage", something that simply is a part of learning that you aren't infallable..
You don't learn to program by losing stuff... you might learn to be a better housekeeper, as in being more careful and organised, and do backups and stuff, but those are disciplines that any computer user needs. They have nothing to do with one's ability to turn a program design into working code.
accidentally deleting/overwriting files is part of learning to program
I hope you accidentally left the smiley off there, because that's crap....
Completely disagree.
JimboZA:
you might learn to be a better housekeeper, as in being more careful and organised, and do backups and stuff,
Okay. And how do you learn why that is important and the methods that work best for you?
fungus:
... like accidentally deleting/overwriting files is part of learning to program.
Oh right, that's how.
It's like writing good comments. You can tell a new programmer until you run out breath why comments are important. Until they come back to their own code weeks later, they won't understand the importance.
One important thing is to be extra careful if any part of your circuit is using more than +5V or less than 0V - voltages out of
range can instantly destroy chips expecting a max of +5.5V. This analogous to exceeding a pressure-vessel's pressure rating,
if exceeded the device can fail completely and rapidly
If using significant power and high currents then a fuse is always a good idea. Also check for overheating components, use
current-limited supply for initial testing (so short circuits aren't going to melt anything).
And double-checking your connections as has already been mentioned - and before applying power you can measure for
shorts between power rails and ground with a multimeter - one simple check catches many possible problems before any
damage can be done.
a) Resettable fuses have a limited endurance (number of times you can trip them)
b) You can replace an ATmega328P (the chip on the Arduino) for about $3, and they're quite hard to destroy, read these forums for examples of the abuse they survive...
fungus:
b) You can replace an ATmega328P (the chip on the Arduino) for about $3, and they're quite hard to destroy, read these forums for examples of the abuse they survive...
Not really a precaution, but a bit of pro-active planning: order a couple of ATmega328P with the Arduino bootloader on them. That way if you do take one out (or an IO pin), you can swap it and move on.
The problem with always being right, and never ever making any mistakes, is ...
"most" of us are just humans after all. Such is life.
The best rule to remember is: "measure twice, cut once" [ie, always double-check,
look before you leap, etc], but in real life, you usually have to add "file to fit".
That all being said, the single best way to protect Arduinos from early death is
to use small-value series resistors in the I/O lines, eg 150 to 330 ohms.