Fork me on GitHub

Project Notes

#537 Schmitt Switch Debouncer

Testing a simple Schmitt Trigger debounce circuit using a 74HC14.

Build

Notes

The hysteresis of a Schmitt Trigger used in conjunction with a suitable RC filter provides effective switch debouncing:

  • the RC time constant for charge/discharge filters most of the switch bounce
  • Schmitt Trigger hysteresis can help with ensuring positive on and off transitions

The circuit demonstrated here is based on Experiment #125 from ARRL’s Hands-On Radio Experiments Volume 3.

Construction

I’ve put double-inversion in the circuit; the result is that the LED is normally on, and turns off while the pushbutton is depressed.

Time constants are purposely large:

  • on, a function of R2=10kΩ, C1=1µF: 10ms
  • off, a function of R1=100kΩ, C1=1µF: 100ms

R2 needs to be much less than R1, else pressing the button will not pull down the voltage sufficient to switch the inverter.

Breadboard

Schematic

Build

Behaviour

The on-off cycle is captured in the following scope trace where

  • CH1 (Yellow) - switch output
  • CH2 (Blue) - inverter input
  • CH3 (Red) - output to LED

scope

Credits and References

About LEAP#537 SchmittCMOS/TTL
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.