How electrical noise can affect to Arduino.

Hi mates,

I know Arduino can be affected and stop running so well because of external noise. I supposed there are several sort of that undesired noise. I would like to focuse us on the noise which comes from high current switching. For example: a circuit optoisolated which switch a high current coil. How can the noise reach Arduino? I expect a physical answer for this (electromagnetism, radio waves, etc).

Note.- sorry for all of you who don't like boring physical theory lessons. Lol.

The commonest route for interference to reach a board is along the wiring, although direct effects
on a board from something nearby is possible too (which must be the case for opto isolated unless
the circuits share the same mains supply, note)

You can breakdown electromagnetic interference into near-electric-field, near-magnetic-field and
far-field.

Near electric field means signals are induced through stray capacitance from nearby changing voltages,
near magnetic field means they are induced through stray mutual inductance from nearby changing currents,
far-field is radio emissions which fade inversely with distance squared and interact with electric and magnetic
components (although the electric field component dominates usually).

With rapidly changing currents the near-magnetic field component may be dominant, and the induced voltages
appear even across short-circuits (depends only on the rate of flux-change, not the nature of the conductor).

Magnetic screening (such as mu-metal shields) can protect well against such interference, as can faraday cages
(the eddy currents induced in the cage tend to cancel out the field).

In the old days mains interference due to power transformers was a common problem, due to the leakage of
magnetic flux from the rectangular transformer cores (toriodal transformers perform better). If you built an
amplifier you kept the mains transformer far from the preamplifier for this reason.

With an opto isolated setup then noise is either travelling through the mains (try running the Arduino on batteries),
or it is close enough to pick up some sort of near field coupling (far-field effects are less strong, usually a proper radio
transmitter is needed to get enough energy into the far field (passing taxi, mobile phone nearby, etc).