4. Switch Bouncing

Switch bouncing is another real-world problem that happens too quickly for human perception but which can doom an electronics project. When a switch is toggled, contacts have to physically move from one position to another. As the components of the switch settle into their new position, they mechanically bounce, causing the underlying circuit to be opened and closed several times. For embedded systems designers, the most common exposure to the problem is with user interface switches, in which proper care must be taken to correctly count the number of times a user presses and releases a switch.

Oscilloscope capture of the output voltage of a small mechanical switch as it bounces.
    
Oscilloscope capture of the output voltage of a small mechanical switch as it bounces.
    
Oscilloscope capture of the output voltage of a small mechanical switch as it bounces.

In our power switch and LC spike context, however, each additional bounce of the switch contacts can unleash a fresh set of spikes, increasing the likelihood of destroying the circuit we’re turning on. The problem usually gets worse with physically larger switches that are necessary for higher-power applications since the larger switches tend to bounce for a longer time.

Oscilloscope capture of the output voltage of a large mechanical switch as it bounces.
    
Oscilloscope capture of the output voltage of a large mechanical switch as it bounces.
    
Oscilloscope capture of the output voltage of a large mechanical switch as it bounces.

To isolate the switch bouncing effects from the LC effects, the switch bouncing screen shots above were taken without a capacitor. Once we put the capacitor back into the circuit, we can see the potentially devastating combined effect of the bouncing and the LC spikes:

Oscilloscope capture of the LC voltage spikes caused by a large bouncing mechanical switch.

The results can be even worse when a switch isn’t used at all and power is instead applied by touching a wire to a circuit or by plugging in connectors.