By Jack Ganssle
The Ghost in the Machine
Summary: As Halloween approaches some systems appear to be possessed by poltergeists.
Several readers sent me this link (http://www.nytimes.com/2009/08/23/nyregion/23about.html?_r=2) to an article about a stove that gets turned on when a nearby cell phone rings. On other sites on the `net that reference this story various posters comment about similar problems with other appliances.
Cell phones contain transmitters that dump electromagnetic energy into the environment. Poorly-designed electronics can absorb enough of the energy to wreak havoc in a circuit. Of course, everything electronic radiates some amount of energy, so there's no reason to think that telephones are the sole instigator of these ghostly events.
I don't know what part of the oven's electronics was activated, but surely there are some lessons for all of us. Hardware designers must take care to EMI-proof their circuits. Firmware folk should always view inputs as suspect. Modern logic is inherently high impedance, so it doesn't take much to activate a poorly-designed input. In this case, I suspect a more aggressive debouncing algorithm would have prevented errant activation of the stove.
But wait, it gets worse.
Vccs can be as low as a volt in some systems. The difference between a one and a zero is diminishing. Multilevel flash stores multiple bits in a single cell. Feature geometries continues to shrink, now to sizes that are nearly atomic-scale. The growth of portable devices forces designers to keep impedances high. All of these effects put more systems at risk from EMI and ESD events.
These are hardly new issues. In 2003 the Japanese Ministry of Health warned people with pacemakers to stay away from newer rice cookers, as they can reprogram the flash in the medical device. In 1998 an anti-shoplifting device reset a man's pacemaker. A 2003 notice from the Mitsubishi Fuso Truck and Bus Corporation warned that signals from illegally hopped-up transmitters could disable truck brakes. Bummer.
The increasing proliferation of low-power embedded systems means both hardware and software developers must take precautions against odd behavior initiated by unexpected external transients. What's your take? Have you run into this sort of problem?
Published September 30, 2009