Now that you’ve successfully built the mobile EMI detector, we can explain what it is measuring.
Arduino’s analog input normally takes a reading of the electrical energy coming into the analog port. But because we have connected an antenna to that port, the antenna is absorbing electrical voltage from the radio signals given off by electronic equipment, and directing it into the analog port.
Arduino analog’s port can take voltage from zero to a maximum of 5 volts, and it measures this voltage in 1024 discrete slices (making each slice worth 0.0048828 volts). For example, when Arduino tells us that the reading from the analog port is, say, 250, it is telling us that the antenna wire is picking up 1.2207 volts of EMI energy (250 × 0.0048828).
The raw number from the analog port is then sent to the speaker, where it is converted to a tone, and to the 4Char, where it is displayed as a value.
The rapidly changing nature of the EMI voltage picked up by the antenna gives rise to rapidly changing tones, ranging from a low electronic growl to a high pitched electric squeal.
The voltage induced in the antenna wire is very dependent on the length of the wire. It seems pretty obvious: a longer wire can collect more voltage than a shorter one. If you want consistent results from your EMI detector, make certain that you reuse the same wire every time, or at least a wire of the same length.