It uses a normal microswitch on one side (the Y2 side) and a linear hall effect sensor on the other (Y side). Have updated my fork of the Marlin firmware to support this homing technique. Calibration parameter is modified using M666 command (and M667 to read), values stored in EEPROM.
- Home Y as per normal
- Disable Y2 stepper, disable endstops
- Measure hall reading and compare to calibration target
- If error big, move Y one step towards correct position and goto 3
- Enable Y2 stepper, enable endstops
I'm currently using 32x oversampling on the hall reading, with 5ms delay between reads, but there's still a load of sensor noise. Doesn't help that the sensor is next to two stepper motors! Works ok, just takes a few iterations to converge. Will do for now.
Z axis drives fitted (uses Mendel90 z-couplings) and ready for wiring tonight.