A few years ago I created a development branch for testing Klipper running directly on the Mechaduino (and similar) servo stepper boards. I’m creating this topic as a place for those interested in discussing future development.
The code for this experiment is at: https://github.com/KevinOConnor/klipper-dev/tree/work-mechaduino-20181205 . I try to rebase this branch with each release of Klipper.
The code generally works in open loop mode with simple test cases. I have not implemented any closed loop functionality. It is now my opinion that simple PID based closed loop current control will not work well (as changing current is likely to induce movement, so using a PID seems likely to introduce “salmon skin” artefacts). Unfortunately, the a4950 stepper motor drivers on the board run hot (they have a high Rdson) and it is unclear how well these devices will run without some kind of dynamic current control.
There were previous discussion on this topic at: https://github.com/Klipper3d/klipper/pull/1038.