How do neo motors calculate instantaneous angular velocity

I’m trying to implement a solution to calculate instantaneous or near-instantaneous acceleration, so I was wondering how neo motor calculates instantaneous velocity.

It checks the position every X milliseconds, and divides the difference in position by the time between the measurements. Note that this is jittery on the neo motors, so SPARK MAX controllers apply a 10th of a second filtering delay to smooth it out, but that means built in neo encoders are bad for velocity control.

1 Like

Do you know what that time difference is or how to find it?

1 Like