[sdiy] Rotary encoder reading.. hardware solution (fast & accurate)

Jean-Pierre Desrochers jpdesroc at oricom.ca
Thu Aug 12 00:53:31 CEST 2021

Any simple, fast and reliable interrupt driven code to suggest ??

Managing all the encoder 4 steps with debouncing too ?


De : Tom Wiltshire [mailto:tom at electricdruid.net] 
Envoyé : 11 août 2021 18:38
À : Jean-Pierre Desrochers
Objet : Re: [sdiy] Rotary encoder reading.. hardware solution (fast &


Gagh! Two whole chips to save writing a few lines of code! Heresy! ;)




On 11 Aug 2021, at 21:27, Jean-Pierre Desrochers <jpdesroc at oricom.ca> wrote:


For anybody who could be interested..

Just found this video yesterday and tried the circuit..



Outputs A and B (CD4013) connected to PORTB of a PIC16F1783

(RB0 and RB1) using interrupts on change (rising edges).

Now I only have to check one incoming pulse on each RB0 & RB1

to increment or decrement a counter.
Much faster than computing  all the 4 possible states in each encoder step
to finally get a result.

My interrupt uses TIMER1 (1msec steps), RB0 & RB1 on change.

No missing counts anymore even rotating fast, on both direction.




Synth-diy mailing list
 <mailto:Synth-diy at synth-diy.org> Synth-diy at synth-diy.org
Selling or trading? Use  <mailto:marketplace at synth-diy.org>
marketplace at synth-diy.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210811/aa2432ae/attachment.htm>

More information about the Synth-diy mailing list