Rotary Encoder - issues The Adafruit Rotary Encoders just came in and I was

Rotary Encoder - issues
The Adafruit Rotary Encoders just came in and I was quite disappointed.
With an encoder you’d expect a precise feeling just like a safe dial.
This one doesn’t feel that way because it has 24 clicks per rotation - way too much for a precise selection of light effect settings.
The only use for this thing could be a brightness or rainbow dial - but why go through the pain with interrupts - use a plain pot instead.
Exactly what @Kenneth_J_Carey reported.

Looking quickly through ‘standard’ sources for parts I found this one with 12 clicks per rotation (detents):
That should be a much better choice. I will get one and keep you updated.

The datasheet of this one is odd - it doesn’t state whether it has 15 or 20 clicks per rotation - so stay away from it unless someone can give us feedback.

This should be O.K.

However, distributers like Mouser, Digikey, and Farnell usually have steep S&H cost, Chinese dealers have somtimes long shipping time.

Question to the community: Which sources for components should be checked ?

Have you considered to only react on every 2nd (3rd, 4th, …) click? A big knob (like on good old radios) also helps to come closer to a precise haptic feedback. To me the actual feeling of the click itself matters way more than the number of clicks per rotation.

I’ve been using the Adafruit encoders on a project I’m making multiple copies of…each requiring 3 encoders…we programmed them to ignore the 1st input, with that just changing the display we have to show the option selected…then turning makes the adjustment…patterns/speed/brigtness/strip/section

Thank you for the report @Juergen_Bruegl – I’m glad it’s not just me having issues. I still use it for the button push but am actively seeking a better alternative. Much appreciate all your help.

I’ve used several of these in a recent project ( and found them to be great. I just tailored my increment to what made sense. I have an LED impulse, determined by an accelerometer axis being above a particular value (0 - 1024, so I used something like 20 for my increment), but also an exponential fade where I used a float and 0.01 increments from something like new_brightness = pow(old_brightness, inc) where inc was from 0.8 -> 0.99. I could have gone even smaller.

Anyway, I’m thinking you considered tweaking how much each “click” moves your target variable, but if now just wanted to offer how I used them. For my case, some values are interesting low and interesting high, with little interest in middle values so I considered something like an array instead so I could quickly skip through values I didn’t really care to spin through. I think I get the gist of your issue in that too small of an increment and 24 clicks per rotation can make for a helluva lot of spinning to get where you want!

@KJC11 @Garrett_Durland Rotary encoder issues are solved on my side. Built a hardware debounce circuit with a Schmitt-Trigger. As soon as I have some time I will make a new post with the solution