[sdiy] Digital encoders missing codes in many devices - why?

cheater cheater cheater00social at gmail.com
Sat Aug 21 15:21:38 CEST 2021

Hi all,
I've noticed a trend in consumer electronics where encoders sometimes
miss codes. By this I mean I'll scroll to the next detent and the
corresponding value does not change. Sometimes it's completely
skipped. Sometimes, the phase of the code will flip: for example, if
normally the next code is sent out when overcoming the separation
between subsequent detents at the "peak" of the separator, instead it
will be sent out when moving around inside a single detent, when
moving past the middle of the "valley" of the detent. However, this
only happens rarely. For example, with a Logitech mouse, it'll only
happen once every few days. With the Eventide stomp box, I have to
make several full turns with the encoder before something like this

It comes in all places. My most recent problematic device is an
Eventide H9, but this also happens on scroll wheels in Logitech mice,
on microwave ovens, etc.

Why does this happen? Why is it so spread out? Is this a programming
issue, or a mechanical issue related to the lifetime of the encoder?

Does such behavior indicate that the encoder is a bad production or
even starting to die, or is it normal (or even acceptable) for those
encoders to do that every now and then? Are there encoders that
guaranteed don't ever do that?

Does anything have to be done on the microcontroller to stop this from
happening? Beyond that necessary minimum, what else can be done?

It's really interesting to me that such a common input scheme has
these issues, even at a company like Logitech who specializes in
high-quality input devices - and the mice I noticed this on are fully
new, highest-line of their products, sometimes several of them in a
row after exchanging (due to other defects).

So what's up with that? Why is it so common?

More information about the Synth-diy mailing list