It's an interesting approach. It is similar to the one suggested in a similar discussion recently about the CSMIO/IP-M, which now has a slave output for dual-motor setups but no squaring capability. In that case, the suggestion was to use something like an Arduino processor alongside the motion controller, driving the stepper drivers by combining the two sets of outputs (from motion controller and Arduino). The Arduino would pick up limit switch signals and be able to execute the homing/squaring sequence, but apart from homing, would do nothing. The "Planet" solution sits in line between motion controller and stepper drivers so in that sense is a bit more intrusive, and because it uses discrete logic gates, circuit complexity limits it to managing step pulses only and the user has to set direction. More margin for error?

Personally, I would go for the Arduino just because it's much easier to set up physically and probably no more expensive (using a pre-programmed bare ATmega chip from an Arduino) and I'm thinking of exploring that when I get my new machine running using the CSMIO/IP-M but there still seems to be a bit of a debate about how much the squaring operation needs to be done, and whether you can't do it manually almost as easily.

Neale,
your solution seems much better. I was a bit confused about that particular solution. Too much electronics and chance to mess.

Originally Posted by Neale

but there still seems to be a bit of a debate about how much the squaring operation needs to be done, and whether you can't do it manually almost as easily.

I thought so before, but not now. Every reset with steppers results in a positional error. Yeah, for a wood working machine not a big deal, you can adjust from time to time by hand against hard stop. Not so for a more serious machine where more precision is required.

Thanks for the comments. My existing machine is pretty poor anyway, but only has a single X motor so I have no personal experience of the positioning issues and it's interesting to hear what problems other people see. Nearest I get to it is my 3D printer which uses two motors to drive the Z leadscrews; those motors are just wired in parallel from a single driver and within the tolerances of a 3D printer, I have never had any problems with drift of home position between them. However, it's all a bit different with two drivers/two motors, of course, as the drivers themselves can theoretically get out of sync with each other at the microstep level.

Anyway, I quite like the idea of grafting in an Arduino-based solution - I've done a bit of work with them both as the 3D printer controller and programming the microcontroller itself to use on a bare board. I'm sure that that could make quite a neat solution.