Supporting custom encoders on S1/Pro/Micro?

I am curious to know if there’s any avenue for adding support for arbitrary encoders rather than only using the existing encoders in the ODrive S1 firmware. I was particularly interested in using some of iC-Haus’s SPI-based offerings, such as iC-PZ as a commutation encoder and iC-TW8 for interfacing with incremental Sin-Cos encoders (albeit this IC can at least work with ODrive using the ABZ outputs, though for very high resolution encoders this may not be ideal). Are there any methods to add drivers for custom SPI encoders like these to the ODrive S1, given that the firmware is closed source? If not, is this something that could be considered in the future?

Alternatively, I’ve thought about writing some kind of encoder bridge using an external MCU to translate the communication protocol into something the S1 would be able to parse (RLS SPI protocol, for instance), but it would be ideal to avoid this if possible as it comes with many drawbacks (increased latency, limited resolution, etc.).

Thanks!

Hi!

It’s pretty easy on the backend to add support for a new encoder, especially if the protocol is sane. The harder part is testing it ourselves and supporting it in the long term – we usually want to make sure the protocol is included in our CI testing (and thus physically present on our test rack) so that firmware updates don’t accidentally break encoder support. That being said, if we’re just calling the support experimental, then that makes things easier :wink:

Note also the iC-PZ has BiSS-C support, which is supported by the ODrive Pro.

Quick look at the datasheet, they both have fairly sane SPI protocols, it seems – it shouldn’t be too difficult to slap something together to just read position. Shoot me an email at solomon.greenberg@odriverobotics.com, would definitely love to learn a bit more about your application and see if there’s a way to get this implemented that makes sense.

Hi Solomon,

Thanks for the help once again! I’ve sent you an email regarding my application, and why I think these ICs might make sense for me.

Best,
Jim