LinuxCNC needs two things to do spindle synchronization (single-point threading): spindle speed and an index (once per turn) signal.
The index signal is required so LCNC knows when to start the tool axis moving.
Spindle speed can come from:
- Separate encoder connected to spindle
- Encoder already on the motor
- Home-made encoder attached to spindle (slotted wheel and sensors, toothed gear and a sensor, etc.)
- other devices I can't think of at the moment
Index signal can come from:
- The spindle encoder if it has a built-in index signal
- Separate 'device', like a proximity or optical sensor that is triggered once-per-revolution.
- A second/third sensor on the slotted wheel (see above) and an additional once-per-turn slot
- There's also a 'missing-tooth' configuration available in LCNC, where a software component running in the background keeps track of the encoder wheel pulses, and if it sees a missing pulse where one should be it interprets that as the index pulse.
Did that answer your question? It's not very specific, but I/we don't know anything about your hardware.
Speaking of which, why are you reluctant to "deal with the spindle/motor"? Most spindle/motor combinations aren't terribly difficult to get under LCNC's control.