(Full description on GitHub)
I've always been annoyed with using rotary encoders because of their bouncy nature, and even more annoyed that some rotary encoders are sold on PCB's that only feature pull up resistors and do nothing to eliminate that bouncy.
This PCB is slightly more useful than those "pull-up resistor only" PCB's because it uses an RC circuit to "absorb" the bounce, and a 555 timer wired as an inverting schmitt trigger to provide a clean pulse transition. It only debounces one of the two encoder pins (reason is explained on GitHub).
This PCB offers a breadboard-friendly interface and is small enough to be integrated into any project enclosure. It can be ordered from OshPark for $2 per 3 pieces, not including component costs.
The design was influenced by Jeremy Blum's Arduino Tutorial, Arduino Tutorial #10 on Interrupts and Hardware Debouncing
Enjoy this project?