A common issue with cheap mechanical encoders is bouncing: modules in fact, for "cost restrictions" (a few cents), do not include two or three extra capacitors and resistors to debounce the encoder clicks in hardware, thus forcing the user to do it with software.
This implies limitations, such as lengthy, blocking code used to debounce the buttons and lower reliability of hardware.
I decided to get my hands on the issue, and to tackle it once and for all.
So, how did I do this "magic"? As I already told you, it's just a simple matter of adding a resistor and a capacitor to the two encoder outputs.
This debounces the signal and produces a smooth transition, doing so the microcontroller doesn't panic because of the bouncing, aka oscillations, of the contacts inside the encoder.
Custom PCBs and Arduino Library coming soon!