Is it possible to use an external stepper driver with a Klipper?

Hey all,

Is it possible to use an external stepper driver with a Klipper?
For example CWDS 556(Encoder Hybrid Stepper Driver), CWD556, TB6600 etc.

Thank you.

Sure, why not? Most external drivers are configured through DIP switches, or some proprietary configuration tool writing to some EEPROM memory (so it doesn’t need to be done again at power up), so Klipper does not have to bother with the configuration. As long as the driver accepts the step, direction and enable signal from Klipper, it will work. This is no different from very cheap and dumb drivers like A4988 or DRV8825 which are configured through a poti and some pulled high/low pins.

I haven’t tried yet, but I am playing with the same thought (closed-loop stepper or even servo motors).

2 Likes

Might need some playing around with the timing of the step_pulse_duration set during make menuconfig

1 Like

Thanks for your reply. I want to configure it, but when I change step_pulse_duration, i don’t know how i will get performance with TMC drivers. Because these external drives are quite slow compared to TMC drives and users have encountered some errors. I will try and share the result soon.

Do you want to make a mixed setup with both TMC and external drivers?

The TMC drivers can work with much shorter pulse lengths, but they have no upper limit. So it will merely limit in the end how fast you can go with the TMC drivers, but at the very least the same speed as the external drivers will be possible. If really necessary, a way around this problem might be to use multiple microcontrollers with different step_pulse_duration configurations.

Besides, if you haven’t bought the external drivers yet: the new generation of the stepperonline closed-loop drivers CL57T v4.0 can do 500 kHz at least.

1 Like

Thank you for your reply. You’re right, using multiple microcontrollers would be the solution. The drivers I currently use are “CWDS556” and these drivers support up to 200khz. I will definitely try the “CL57T_V4.0” driver you mentioned.