74HC14 Schmitt-Trigger Switch Debouncer

A 6-channel Schmitt inverter cleans the bouncy edges off a tactile switch and feeds a clean square wave to your MCU.

Difficulty: Breadboard. Estimated build time: about 25 minutes. Estimated parts cost: about US$2.20. 6-line bill of materials. Compare supplier offers when available. A switch-debouncer built around the 74HC14, a hex Schmitt-trigger inverter.

Wire the RC + button input

Connect one switch terminal to GND and the other to the input of one 74HC14 inverter (pin 1). Tie that input to VCC through a 10 kΩ pull-up. Add a 100 nF cap from input to GND. The cap charges through the 10 kΩ when the button is open and discharges through the switch contact when pressed; bounces are filtered by the RC time constant of ~1 ms.

Read the inverted output on a GPIO

Take the matching output (pin 2 for inverter 1) to any GPIO. The output is inverted from the input — pressing the button (input → 0 V) gives a HIGH at the output. Configure your GPIO as plain digital input, no pull-up needed; the 74HC14 drives the line CMOS rail-to-rail. Since the edges are clean, you can use a fast pin-change interrupt without missing presses or seeing chatter.

Verify on a scope (optional)

Probe the input pin and the output pin on the same scope. The input shows a slow exponential settling to GND on press (the cap discharging) followed by a slow rise back to VCC. The output is a hard, clean rectangular edge a hundred nanoseconds wide. That difference is the entire point of the chip.