The intent of this project is to provide a temporary control system to engrave a PCB for a permanent CNC controller. This circuit does not include features that would make it suitable for long term usage. Since this is a one time use circuit it can be assembled on a solderless breadboard, but may need some fine tuning before it can be used. In the recent past, I could have said that all of the components could be found at your local Radio-Shack store. Still, most parts or substitutions for them, should be in your parts bin or easily located.
An amplitude regulated quadrature oscillator is the starting point of the circuit. The sine and cosine outputs are passed to a window detector that outputs a positive going pulse at each zero-crossing event. The pulses are used to clock-in the starting and stopping control signals and track the number of steps that a motor has made. The inverted cosine wave can be selected to reverse the motor's direction. The selected signals are then amplified and applied to a transistor follower output stage. For my purposes, a parallel port interface is used to control the motors and manage the signal switching.
Next up, I'll take a look at Gerber format and a more in-depth look at CUPS. I'd like to make the controller directly accessible from File->Plot in KiCAD.
I'm also starting a full feature implementation using this circuit as the core. Will it use a microcontroller or an acre of TTL? Variable speed, limit switches, and closed loop control begin the feature list.