On Absolute Encoder

Hi folks,

I am writing to discuss about the supporting of absolute encoder. These days I have spent time on investigating different kinds of present BLDC driver product in the market like ODrive and I find that many of them only officially support incremental encoders rather than the absolute ones. Since implementing absolute encoder to the BLDC control loop is not a very hard and new problem, I am wondering about the reason why drivers as ODrive do not come with absolute encoder supporting.

To answer this question, I have investigated many different absolute encoder products, and my explanation is that different absolute encoder product applies different kind of communication solution like PWM, SPI, etc. Even for two different encoder products both using SPI, the transmitting data frame can be quite different. Whereas, this situation does not exist for incremental encoders for their signal output are quite standardized. Therefore, due to all kings of communication solutions between absolute encoder products and driver, it is nearly impossible for the driver creator to cover all the cases.

Is my above analysis reasonable? I hope to hear your opinions. Since BLDC motors become more and more important in robotics fields, a start-up process without any encoder calibration or index finding is more meaningful. Don’t you think so?

Thank you for your time and discussion.



We have prototype support for 2 SPI encoders: the CUI AMT203 and the AMS AS5048

Each has a very different SPI protocol, and currently there’s no firmware branch where they’re both implemented. Someone else has modified the AS5048 branch to work with other SPI encoders. Basically we have to create a “driver” module for each type of absolute encoder, and then the user has to pick what encoder they have, then ODrive can poll that encoder for data.

Thanks for your sharing

Hi! Could you help me with the implementation of the work of the absolute encoder MagAlpha702. It works over SPI. I tried to go through your brunch and determine what should I do in order to adapt my encoder for ODrive. How difficult is it to make it happened? Do you consider paid assistance? We have around 20 of this encoders and its too expensive to replace them with AS5047/AS5048 Encoders.
https://www.monolithicpower.com/en/documentview/productdocument/index/doc_url/L20vYS9tYTcwMl9yMS4wLnBkZg/prod_id/MjUzMA/ link to datasheet for MagAplha 702

Thank you.