Quote Originally Posted by richard View Post
MCP23017@400KHz , using a pic16 @32mhz can do that easily using mssp module
using I2CREAD command. @32 mHz the cmd will do 166KHz at best, even at 64 MHz it will not reach 400kHz
..
I've never used MSSP. At least now I know where I stand using the command.


Quote Originally Posted by richard View Post
...to read multiple rotary encoders with an MCP23017 the bus speed is the least of your problems , the hoops you need to jump through to track multiple edge transitions without error are extremely challenging....
I am polling a controller for Flight Sim. I have multiple encoders on the circuit, but I do not expect more than 1 encoder to be active at the same time. I suppose with auto-pilot you could move 2 encoders at the same time, but there isn't an auto-pilot in this first plane (Cessna-152).


Quote Originally Posted by richard View Post
...16F1937 , why ? surely at least a 16f18875 would make tracking edges far easier. mind you its still difficult to keep track of more than one those 4 count per indent RE's
13 will be interesting. ...
Cost, size and availability at JLCPCB mainly. I want to make 100 units for the 1st batch, so every penny quickly adds up.


Quote Originally Posted by richard View Post
... have you tried any code to be sure a result is even viable with the encoders you have selected ?
Not yet. My breadboards are crap, and my mini-CNC is not as useful as I hoped.

I was going to get 5x PCBs from JLCPCB for testing. These are ordinary EC11 and EC10 (mouse wheel) encoders moved manually, it's NOT mechanically manipulated.