What Are We Measuring with This Gadget?

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.

Things to Try

  1. What happens if you make the wire shorter? If you make the wire longer? If you coil the wire into a circle? Does the detector become more sensitive? Less sensitive?
  2. What are some other ways to display the data you obtain? A row of LED lights, as in the noise sensor?

Get Environmental Monitoring with Arduino now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.