Staying well-grounded
Staying well-grounded - Why not everybody can have their own ground
I fried FIVE Arduinos on the way to understanding why not every hardware component can have their own ground. The first died "just like that". The second one died because I did not suspect a systematic problem. The third died to make me realize there IS a systematic problem. The forth died days later because I did not address the problem in a fool-proof manner (pulled a cable by accident). The fifth one died a few weeks later because I managed to out-fool the solution (accidentally disconnected Arduino from programmer-ground).
What happened? I programmed an Arduino sitting a bread board with an external programmer. The Arduino had its own wall wart power supply. The programmer was supplied via the USB board of my desktop machine. What I did NOT do was connect was the ground cable of the Arduino supply to the ground cable of my programmer.
While some already may cringe others may ask "well, how is that a problem?"
An example! You have two batteries. Each has a minus and a plus pole. Minus pole: "ground", plus pole: 1.5V. So far, so good. Now you connect the plus pole of the first battery to the minus pole of the second battery and measure the voltage between the minus pole of the first battery and the plus pole of the second battery. Voila, 3.0V.
Something similar can happen when you don't connect the ground cables of power supplies. When using a transformer connected to mains power with the primary coil, the secondary coil is not connected to anything common (like, ground). When you connect the secondary sides of two power supplies in series, the voltages add up just like with the batteries.
What likely happened: my power supplies each have 5V. I did not connect the ground cables. That may have added up to 10V somewhere on the Arduino chip. Not healthy, as five dead Arduinos can testify. And, if you don't make sure the ground cables are connected and STAY connected, loosing the connection accidentally even for a short moment (pulled/ moved a cable, Arduino has bad ground contact) - pop goes the Arduino.