Hi Alan,

I see, so you used optical encoding DIY. Was it a single pulse per spindle revolution, or did you have more than one black tape location?
I don't remember if TurboCNC could use more than one. I know it was capable of threading well with one. That does require reasonably consistent spindle speed(s), because the software is interpolating to spindle speed for regulating the pulse rate of the stepper while threading.
What type of spindle motor did you use? Mine is not consistent in speed because it is a DC motor, so it varies somewhat with load. I therefore have to use positional sensing of the spindle, rather than speed sensing. That was made possible by recent low prices for high resolution rotary encoders.
The difficulty there is the high data rate required for processing the encoder output (3000 lines per spindle revolution plus direction sensing in mine). For an Arduino to keep up, I had to convert it into a Forth machine via an alternative bootloader, use interrupts, and integer math. It's helpful that threads aren't cut at very high RPM!
Very understandable that you kept Stepperhead one. Such a fine machine. I also like the fact that it runs on TurboCNC -- which I used to use as well (not with a lathe). I like the compactness and simplicity. I bought a license for the source code back then, too, and the owner of DAK was always very courteous about any questions I had.