Mach3 is now the 'standard' for small machine cnc and provides a growing base for other cnc projects. The main website can be found here.
Mach3 installs a driver that manipulates the clock of the cpu to control the interrupts. In essence mach is doing what a real-time kernal would do, but not in a generalized sense, rather one designed specifically to generate the pulse train.. It generates a reasonably stable pulse train at a user selectable frequency from 25kHz to 100 Khz. It runs fine on Win 2K, XP and Vista. If the PC is capable of it mach will generate a 100khz pulse stream of good stability.
There have been over 17,000 copies sold, many through OEMs like MEDW. There are now several systems shipped with Mach, often with customized screens so it may not be recognized as Mach. We provide a single screen configuration which makes it easier for newcomers to get started as they don't need to know which screen to switch to on a full Mach3 installation. Screen set for simple single page control
Mach has an integrated scripting engine, often referred to as VB. It is NOT VB, it is a scripting engine called Cypress Enable. It is a VB like language, with many extensions to support Mach. There is no extra software to buy to use the scripting.
Mach also supports a screen designer allowing a user to completely change the screens. I have developed screens for a cutter used in a bakery to cut brownies, that has nothing on it to look like Gcode or CNC. There is also an OEM selling a sewing machine for quilting that no user has any clue of its Gcode internals.
Mach supports a video window, using a webcam for positioning. This is supported by a plug-in, it has nothing to do with VB.
Mach supports threading with a single index pulse pickup. It does not need a second channel of pulses. If you make a cut so heavy that you can alter the spindle speed within one revolution you are cutting way beyond the capacity of the machine, and likely just short of breaking the tool or work. I would not do that to any lathe.
Although Mach is not open source it does support a software development environment to allow C++ programming of custom interfaces or even support for high-end motion controllers like Galil.
Copies of the config files for both the open loop 2000 and the closed loop DSLS3000 are in the file gallery.
A short installation guide is also available.
( Thanks to Ron Ginger for this short overview! )