UC100
USB CNC motion controller
to use with MACH3 software
Current plugin version: V2.145

Contents:
1. Product description and background of working.
2. Installation of the USB drivers and the plugin.
3. System setup.
a.) The first run.
b.) Setting up Mach3 with the UC100 controller .
4. LED feedback signals on the UC100 controller.
5. Errors and installation debugging.
6. DSUB-25 connector pinout.
7. Known limitations and bugs.
8. Parameters and functions summary.
9. Safety notes.

1. Product description and background of working
Mach3 is a popular CNC machine tool control software running on desktop computers andlaptops 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 togenerate 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 themore processor time of the computer. If the computer gets overloaded by Mach3 or byrunning 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 criticaltasks 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 ismuch 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 thefunctions (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 othertimings much more precise as Mach3 could ever do using it's standard LPT port driver andbecause 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 canhandle 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 caneven lower the system's overall cost.

When developing we also thought about backward compatibility with the old LPT printerport and therefor the UC100 has a DSUB-25 female connection interface to theenviroment 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.

2. Installation
The UC100 controller is compatible with the same operating systems as what Mach3 iscompatible with, these are Windows XP, Windows 7 and Windows 8.
The installation can be done easily with our automatic installer software:
http://www.cncdrive.com/UC100.html
The automatic installer is an online and offline installer which means it connects to theinternet and downloading and installing the latest plugin and the USB drivers for the
UC100 controller. If the software cannot connect to the internet (due to missing internet
connection of the computer) then it installing the prepacked plugin and drivers versions,this is the offline installation mode.
Currently the automatic installer is working under the following operating systems:– Windows XP.
– Windows 7. 32bit and 64bit versions.
– Windows 8. 32bit and 64bit versions.
– Windows 8.1. 32bit and 64bit versions.
– Windows 10. 32bit and 64bit versions.
Our drivers are now WHQL certified by Microsoft.

3. System setupa.) The first run
Start Mach3 and the following screen will popup indicating the UC100 motion controller as
an alternative selection over the LPT port drivers.

Select the UC100 CNC motion controller from the list.
If selecting the “Dont ask me this again” then this screen will not popup anymore whenstarting Mach3 and the default driver will be the UC100 in this case.
If once the “Dont ask me this again” was selected and if for any reason the LPT port
drivers will need to be used at a later time then pressing the “CFG's->Reset device sel...”menu item in Mach3 will reset this popup screen and at the next start of Mach3 the LPTport drivers will become selectable again.
In the bootup procedure the plugin automaticly checks the actual firmware version in the
UC100 motion controller. The firmware and the plugin versions must be matched, so if
Mach3 finds an uncompatible (forexample an older version) of firmware in the UC100
which is not compatible with the installed plugin then Mach3 will popup a warning screen
and will download the compatible drivers to the UC100 automaticly.
This automatic checking procedure at each Mach3 startup guarantees that the firmware in
the UC100 and the plugin in Mach3 will be always compatible with eachother.

b.) Setting up Mach3 with the UC100 controller
Because the UC100 has the same pinout as an LPT port the setup is the same as whenusing the LPT port drivers.
To setup the inputs and outputs set the port number to 1 always and the pin numbers are
the same as in an LPT port.
To check the status of the pins the “Plugin control->UC100 I/O monitor” screen can beused.
There is an option to set the maximum step output kernel frequency.
The 3 selectable options are currently the 25, 50 and 100kHz.
Important to note that changing to a different step kernel frequency Mach3 must be
restarted for the changes to take effect and the trajectories must be retuned in the Config>motor tuning menu in Mach3.
There is also an extra option which the standard Mach3 LPT driver not implements andthis is the following:
It is possible to use an encoder or a more than one pulse per revolution electronics
feedback signal for the spindle speed feedback to Mach3. The number of pulses per
revolution data can be set in the UC100 setup window and the controller will devide andcount with the number of this setting when measuring and calculating the real speed of thespindle motor.

The UC100 I/O monitor screen.

4. LED feedback signals on the UC100 controller
There are 2 LEDs located and floating out of the UC100 DSUB backshell.
These LEDs providing informations about the UC100 working states and these states are
the following:- The green (power LED) lighting continiously indicates normal operation and that the
UC100 is up and running normally.
- The green (power LED) blinking with about 5Hz frequency indicates a firmware error.
- The green (power LED) blinking slow, with about 1Hz indicates a firmware update inprogress and in this case wait till the firmware update procedure ends and the green LED
returns to a continuous lighting state.
- The blue (communication LED) if on indicates that the connection between Mach3 andthe UC100 controller is active. The LED sometimes blinks (mostly on slower computers)
and sometimes lights continiously (mostly on fast computers).

The 2 LEDs on the backshell of the UC100 controller.

5. Errors and installation debugging
If the following screen pops up when starting Mach3:

then the .NET framework was not installed on the computer. The .NET framework 2.0 is
the prerequirement for running the UC100 controller plugin. The framework can be
downloaded from the UC100 product page, here: http://cncdrive.com/UC100.html or fromMicrosoft's website. The .Net framework 2.0 is part of Windows7 and therefor it is not
required to install it on Windows 7 operating systems. It is only required to install it on
Windows XP as it not containing this tool by default, it must be installed separately, by theuser on the Windows XP operating system.
The following popup screen indicates that Mach3 is unable to establish the connection with
the UC100 controller, check the USB connections and the LED states of the UC100 andrestart Mach3.
If the error does not go away then check and if nessessary reinstall the USB drivers.

The following popup screen appears if Mach3 loosing the connection with the UC100
meanwhile it is operating. This event may happen if the USB cable is broken or if the cableconnector was accidentally slipping out from the UC100 or from the PC. The workaroundis checking the USB cable connections and plug it back and restart Mach3.

If Mach3 triggers the E-stop event and if the “UC100 Sync Error!” message appears in thestatusbar of Mach3 then the UC100 lost the communication syncronisation with Mach3,
this can happen if the computer is too slow or if the PC is so much overloaded with running
other software in the background that there is not enough CPU or memory resources forMach3 to keep the step with the UC100. Also the indication of this kind of error is that theblue LED in the UC100 backshell is blinking slowly with about 1Hz frequency only. The
workaround is to check and close the running processes in Windows which overloads the
PC too much, or if the PC itself is too slow and does not comply the minimal requirements
to run Mach3 then exchange the PC to another, faster one.

6. DSUB-25 connector pinout

Pin number

Signal direction

1

Output2

Output3

Output4

Output5

Output6

Output7

Output8

Output9Output

10

Input

11

Input

12

Input

13

Input

14

Output

15

Input

16

Output17

Output18-25

Ground

7. Known limitations and bugs
Known limitations:
There are no known limitations in the current firmware version.
Known bugs:
There are no known bugs in the current firmware version.

8. Parameters and functions summary
General properties:
 Automatic firmware checking and firmware update.
 Motion control on upto 6-axis (X, Y, Z, A, B, C).
 Configurable maximum stepping frequency, the options are 25kHz(with 20usec
pulse length), 50kHz(with 10usec pulse length), 100kHz(with 5usec pulse length).
 On the fly configurable 12 pieces of 5Volt (TTL level) buffered outputs.
The current sink/source capability is 20mA max. per output.
 On the fly configurable 5 pieces of 5V (TTL level) schmitt triggered and filteredinputs. The input internal pullup resistance to 5Volts is 4.7kOhms.
 About 1 second long communication buffer.
 100% LPT port compatible pinout.
Supported Mach3 functions:





















Jog.
Reference inputs.
E-stop input.
Softlimits.
Limit switch inputs.
Limits override.
Index input (extended function supports multi slot spindle sensors,for Mach3-mill only, not for Mach3-turn!).
Spindle speed PWM control output.
Step and direction spindle control output.
Spindle and coolant relay control.
Charge pump safety signal output (configurable to active/inactive when in E-stop).
Charge pump adjustable frequency (12.50kHz in normal or 5kHz in laser mode).
All signals configurable to active High/Low.
General purpose I/O signals handling.
Offline mode.
All MPGs and encoders support. (2pcs maximum one time)
Slave axis.
Backlash compensation.
Digit/probe input.
THC control inputs.

9. Safety notes! It is important to install and use optical isolation between the environment and thecomputer, therefor it is recommended to connect the UC100 to the motor drives andexternal sensors on the machine via signal isolators, e.g. via an optically isolated breakout
board. A good example for this is our HDBB and HDBB2 breakout boards, the datasheetof these devices can be found and downloaded on our website.
! Use the UC100 motion controller product only if you understood it's working and also
understood the risk of working with machine tools.
! It is important to comply the safety standards like installing the external E-stop button,
limit switches, charge pump safety circuit.
! The UC100 motion controller is built into an enclosed DSUB-25 shell, but this enclosure
is not ment to protect the device from falling chips or liquid, protect the device from taintdamage.
! Protect the device from direct intensive sunshine beams and from extreme temperaturelevels and from extra high humidity.
! In electrically noisy environment it is adviced to place and install the UC100 controller into
the same electric cabinet where the motor drives are installed to.
! Keep the UC100 controller away from high Voltage parts and cables of the installation.

The actual look of the UC100 motion controller product.

For more informations please visit us at:

http://www.CNCdrive.com

Appendix A. : New functions and bug fixes:
Plugin version

Description of change(s)V2.105- Initial release for international sales start.
Functions were missing in previous version and were added in this release:1.) Lathe spindle speed syncronisation with the index pulse.
2.) 5kHz laser mode charge pump PWM.
Bug fixes in this release:1.) In the home settings in some cases the output bits numbers got corrupted. Bug fixed.

V2.106Functions were missing in previous version and were added in this release:1.) Software limits handling.
Bug fixes in this release:1.) FTDI chip errorous PC sleep case handling for the Rev.3.0 boards only. Bug fixed.
Note: This bug was fixed before the boards got released for sales.

V2.107

Functions were missing in previous version and were added in this release:1.) Handling all MPGs and encoders in Mach3.(maximum 2pcs one time.)
Bug fixes in this release:1.) External manual MPG pulse generator missing pulses. Bug fixed.

V2.110Bug fixes in this release:1.) Direction output not working correctly for the spindle control if the spindle set in PWM output control
mode. Bug fixed.
2.) On spindle on/off switching the controller not waiting the set time period, switching the output
immediately. Bug fixed.
3.) If the limit and home switch input pin configuration is the same then the home function may not function
properly in some cases. Bug fixed.

V2.111

Bug fixes in this release:1.) The THC inputs handling for plasma cutters the direction changes not working correctly. Bug fixed.
2.) "Allow THC UP/DOWN Control event if not in THC Mode" setable in the "Port & Pins / Mill Option” function
not working. Bug fixed.

V2.112

Bug fixes in this release:1.) When probing with G31 the measurement value, Var 2002 parameter not passed through to Mach3
correctly which could lead getting uncorrect measurement value. Bug fixed.

V2.114

Functions were missing in previous version and were added in this release:1.) Slow zones handling in working area implemented.
Bug fixes in this release:1.) When homing the acceleration was not working as set in the motor tuning in Mach3, this function wascorrected and now working with the set correct acceleration profiles. Bug fixed2.) When straight probing (G31) the decceleration was not working correctly, now using the set decceleration
profile. Bug fixed.
3.) In the soft limits settings the offsets were not counted in, now the soft limits are based on the machinecoordinates with the offsets also counted in. Bug fixed.
4.) Persistent DRO function was not working and Mach3 was not saving the coordinates after closing andrestarting Mach3 the coordinates were all zero. Now these saves and reloads are done as nessessary. Bug
fixed.
5.) In some newest release of Mach3 after feed holding the program continue execution was only possible if
pressing stop and after start. This is now working correctly, no need to press the stop button anymore. Bug
fixed.

V2.117

Functions were missing in previous version and were added in this release:1.) Internal communication protocol was reworked for even more robustness.
2.) Selectable “topmost” property on the UC100 I/O monitor window.
Bug fixes in this release:1.) Spindle PWM missing some pulses when backlash compensation is set and when backlash compensation
movement is in progress. Bug fixed.
2.) G31 straight probing not working other than with pin10. input, now it works with all input pins. Bug fixed.
Update in the automatic installer:1.) Windows 7 x64 support was added, now the installer works also on 64 bit Operating Systems.

V2.121

Bug fixes in this release:1.) G28.1 stuck the program execution if executed from G-code program. Bug fixed.
2.) Jog function was not working on B and C axis. Bug fixed3.) In plasma mode the index prescale value was not shown in the plugin. Bug fixed.
Update in the automatic installer:1.) Windows 8 x86 and x64 support was added, now the installer works on Windows 8 OP systems.
V2.123Functions were missing in previous version and were added in this release:1.) M10P1/M11P1 and E0P1/M1P1 fast output codes were implemented.
(Useful function for example for laser machines.)
Bug fixes in this release:1.) Modifications in the handling of G28.1 and G30 codes.
2.) Modifications in G04 delay code to work more precisely in the milliseconds range. Note: the minimal
executable setting is 200msec, lower value parameters will execute as 200msec.

V2.124

Bug fixes in this release:1.) The spindle output PWM produced a very short extra pulse when Mach3 going into E-stop mode. This pulse
was removed. Bug fixed.
2.) Plugin default jog mode on installation was MPG mode which caused doubts for some customers, wechanged the default jog mode now to continous mode in this plugin.
This was not a bug though, just a comfort issue.

V2.125New installer and common drivers for UC100, UCR200 and UC300 was released.

V2.127

Bug fixes in this release:1.) It was possible to switch the spindle on when e-stopped with a short pulse going out on the spindle output
signal. This bug was fixed.

V2.128Functions were missing in previous version and were added in this release:1.) Added jog to motor tuning window. Now after entering the motor tuning window and changing the motor
parameters and after pressing the Apply button the new settings can be tested with the keyboard jog keys
without leaving the motor tuning window. This makes axis calibration faster and more comfortable.
2.) Errors indication on the UC100 I/O monitor window's bottom side.
Bug fixes in this release:1.) Index prescaler only appeared if loading the default (Mach3mill.xml), the prescaler now appears with all
Mach3 xml's. Bug fixed.
2.) At the end of the G-code program executions if the jogging was executed, the G-code line pointer was
jumped to random line locations. Bug fixed.
3.) Probing was working with errors in some cases. Bug fixed.
4.) SetMachZero() function was not working correctly, it did not zero the axis. Bug fixed.
5.) Issue with Master/Slave homing if set to home separately was not working. Bug fixed.
Notes: This plugin version was not officially released, the V2.129 plugin was released after the V2.127.

V2.129Bug fixes in this release:1.) Program execution stopped in some cases if a slave axis was setup. Bug fixed.
2.) The THC inputs for plasma were not working via software control like via brains. Bug fixed.

V2.133

Bug fixes in this release:1.) In specific circumstances the position DRO's stopped to update. Bug fixed.
2.) E-stop event in Mach3 to charge pump output release got better syncronisation.
3.) Grammatical text error fixed on the plugin update screen.

V2.139Bug fixes in this release:1.) The charge pump signal timing changed to make it work as it works with the LPT port driver.
2.) Fix in the fast(+shift key) jog function in stepping mode.
3.) Making the dwell timing more precise.
4.) Spindle off delay problem when THC enabled and turn off the THC control automaticly if there is a probing
or dwell rutine execution ongoing, bug fixed.
5.) Probe timing delay bug fixed.

V2.141

Bug fixes in this release:1.) Probe made some overrun when probing (G31), issue fixed.

V2.142

Bug fixes in this release:1.) Modification in the M10/M11 fast outputs handling.
V2.145

Minor changes in the plugin code and firmware harmonisation with our UCCNC software.
Having a problem, found a bug? Inform us and we will fix it quickly!