Encoder reading question

This is a very interesting project you have here. I’m considering buying a couple of boards to build a 3D printer; do you think it’s ready for that?
Now, to the actual question. I had at one time a winch with an encoder I wanted to interface to a microcontroller. I found these little devices:https://www.broadcom.com/products/motion-control-encoders/integrated-circuits/decoder-ic/hctl-2022 (They used to be Avago-made but now it’s Broadcom). These ICs do all the encoder readings themselves and output data in 16 bit batches upon request. I had it paired with a MCP23017 and it was easy to get data over I2C when needed. So, essentially, it offloads all the hard task of counting pulses from uC leaving it to do everything else. Why not use this approach? Maybe ODrive Mk2? Like, have a main board that handles all the comms, planning, and such, and a bunch of daughter boards sitting next to the motors and encoders and communicating with main board over 2 wires.
Just an idea.

Hi Anton, welcome to the ODrive community.
Yes I think ODrive is ready for use in a 3D printer application.
Actually we use the encoder counting mode of the timer hardware peripherals of the STM32 microcontroller. Therefore counting pulses is already offloaded to dedicated hardware, and the CPU spends no time counting pulses.

1 Like

Thanks for the clarification. I was not aware STM32 has an encoder counting mode built-in.