You have to attach interrupt 1 as well. You are only processing encoder changes when A changes and are entirely missing changes on B.
The encoder came without any documentation and all configurations I came across online have the ground in the middle.
Code: [Select] attachInterrupt(0, doEncoder, CHANGE);
attachInterrupt(0, doEncoder, CHANGE);
Please enter a valid email to subscribe
We need to confirm your email address.
To complete the subscription, please click the link in the
email we just sent you.
Thank you for subscribing!
via Egeo 16