ODrive v3.6 / Hall Sensors / Low speed performance

Hi! Had read the documentation where said that hall sensors will reduce the performance and I have several questions about that.

The questions are:

  1. What does it actually mean about worse performance?
  2. What’s the value of “low speed” in this case?
  3. How much “performance percentages” will we lose compared with A/B encoders using for example?

From docs:
“Due to the low resolution of hall effect encoders compared to other types of encoders, low speed performance will be worse than other encoder types.”



The resolution of hall sensors is dependent on number of magnets in the motor, there is an example in the docs with hoverboard wheels, so the factors you are mentioning are dependent on that. I can’t say exactly how slow it can go but I think it’s best to have at least a few pulses per second.

Hope this helps.

Carelsbergh Stijn

My question is how and why this factor depends. I know that they depends from manual)

Keep in mind that hoverboards rely on hall sensors and need pretty good low speed positional accuracy to stop people falling off, so I’m imagining the limitation is down around the point of wanting to command 10° angles and that kind of thing. Anything over say 5-10rpm should be fine.

Hoverboards rely on gyro sensors to do the feedback that does the balancing. That then drives a current/torque control effort to the motor. I.e. they don’t use pos/vel feedback on the motor at all.

1 Like


Imagine you have an position sensor with infinite resolution, you could send it the perfect waveform to drive it, if you only have an position sensor with 36 pulses, you only know where it is every 10° of the rotation, inbetween those pulses you’re basically guessing where it is, so you can’t send the perfect waveform.

Carelsbergh Stijn

I don’t use hoverboard motors, guys) Just want to understand will the A/B encoder significantly increase the performance on the low speed. And what’s actually means when manual says “performance”) It’s still not clear for me how bad is to use halls instead of encoders, what should I measure if I will compare the same motors but with different sensors (hall vs A/B). Will the motor with A/B has more torque or what? If so how bigger this torque will be theoretically. Is it make sense to equipped the motor with A/B encoder for this kind of “performance” improvement.

It has to do with the “bandwidth” of the control loop that is achievable with different resolutions. At high resolution, we can tune the control loop to a very high bandwidth because we have extremely accurate information about the system.

At low resolution, we have to estimate the system state from much less information so we generally can’t tune the controller to be as stiff because our error between estimated and actual system state will much higher. In short, this means low resolution → slower response to outside disturbance.

1 Like

Thanks for reply!