From CNC.xyz Wiki
Jump to: navigation, search
Status In Production
Manufacturer CNCdrive
MSRP $129.99
Version 3.0

Mach3 is a popular CNC machine tool control software running on desktop computers and laptops under Windows operating system. Mach3 in default working the the computer's parallel (printer) port and sending all signals via this port. Windows is not a realtime operating system and therefor it is a difficult and CPU time consuming task for Mach3 to generate these signals in a precise manner. As the output signals frequency gets higher with using todays more and more advanced motor control electronics Mach3 needs the more processor time of the computer. If the computer gets overloaded by Mach3 or by running other software(s) in the background may leads to a lagging of the G-code code execution to even a falter in the motion interpolation which may lead to a catastrophic failure of some applications.

Another problem with the LPT port is that in today's informatic technology this kind of port is no more used and is a dying out device and non of the new laptops having this kind of port built in anymore.

The UC100 motion controller overcomes these problems with removing all time critical tasks from the control computer and Windows and executing all these tasks on inside it's own high speed DSP control chip outside the PC.

The UC100 controller connects to the PC via the USB port and this kind of port is more modern as an LPT port and exists on all today's computers.

The UC100 has a look as if it was a “simple USB to LPT port converter module”, but it is much more than this. The UC100 is the result of a 2 years hard development and testing cycle and it implements linear and arc interpolation routines with trajectory planner, communication routines, limits and homing functions handling and it has nearly all the functions (with some limitations) as what Mach3 supports with the LPT port driver. Because of using a high speed DSP core the UC100 making the interpolations and other timings much more precise as Mach3 could ever do using it's standard LPT port driver and because the time critical tasks are no more done on the PC side, but on the UC100 controller the PC's CPU time usage is much lower and the risk of overloading the PC resources lowers with factors as the UC100 has a long enough data buffer so that it can handle a 100% CPU usage and overload for some seconds without interrupting the motion and the G-code execution.

For these reasons it is also possible to use a much slower and cheaper computer together with the UC100 as what is needed for Mach3 if using the LPT port drivers and this can even lower the system's overall cost.

When developing we also thought about backward compatibility with the old LPT printer port and therefor the UC100 has a DSUB-25 female connection interface to the enviroment with the same pinout as what a printer port has. This means that the UC100 can replace an LPT port on an existing system simply with plugging the controller to the USB port of the PC and plugging the DSUB25 cable end (which was originally plugged into the LPT port of the PC) to the UC100 controller's DSUB-25 port.[1]


  • Controls upto 6-axis simultaneously.
  • Works with Mach3 software via plugin.
  • Up to 100kHz operation.
  • USB connection to the control PC.
  • Same pinout as a standard LPT port.
  • Fast communication with data buffer for robust and stabile operation.


The function of the UC100 is similar to that of the SmoothStepper USB. It utilizes an FTDI Chip that handles the USB to parallel communication. The data is then sent to a microcontroller which interprets and processes the signals and sends them through a Schmitt trigger to buffer and clean the signal before output.

Version 2

Version 2 utilizes FTDI FT245R chip for the USB to parallel communication.

Version 3

Version 3 has replaced the FTDI FT245 chip with a FT240X chip.