> Where did they get a shaft encoder with over a million counts per rev?
The article says they put the encoder directly on the motor, before gearing it down. So the effective resolution after gearing is magnified. But the encoder moves much faster accordingly, hence the need for higher speed / fpga decoding.