I no longer recommend the smooth stepper.  I am currently using UC100 and UC300ETH motion controllers instead of the SmoothStepper.

  1. They are cheaper
  2. They seem to be a lot less buggy
  3. They are compatible with both Mach3 and UCCNC software.


In my CNC books and workbooks, I take you through the installation and hookup of a parallel port based desktop PC and Mach3 to your CNC. In this project I am going to take you through the steps of getting a USB based laptop and SmoothStepper hooked up to your CNC.

While I still recommend a dedicated parallel port based desktop machine for your CNC, you may still want to connect a laptop or other machine without a parallel port to your CNC.  In this project I will show you how to connect a USB based SmoothStepper between your PC and the G540 controller.

In this project we will step it up a notch. We will take full control of the router so that we can set the RPM in software. unfortunately when using the SmoothStepper we need to make a few more configuration changes for this to happen.


All my books/workbooks cover basic Mach3 configuration. It is assumed that you setup Mach3 using the settings in one of those books.

It is important that the SmoothStepper be installed on to some sort of platform. If you don’t, there is a good chance that you may short something out. The simplest would be to use a couple layers of double stick tape and attach it to a wood or plastic base.



Here are some drawing files for simple enclosure I created. 

Drawing Files

You will also need the following files for the SmootStepper setup:

Please read the Warp9 Install page carefully, as they update the drivers from time to time.  Currently, for Windows 8 users, you need to download the windows 8 driver, and the appropriate plugin.  Note that these will also work on windows 7.

Step 1 - Install Mach3

Double click on the Mach3 install file that you downloaded. Answer the questions. Refer to the Mach3 chapter in the KRMx01 or KRMx02 book. The only difference is that you may want to uncheck the parallel port driver. We wont be using it in this project.

Step 2 - Unzip USB Drivers

Unzip the downloaded USB drivers and place them in a folder on your desktop or other convenient location.

Step 3 - Attach SmoothStepper to USB Port

Using the USB cable connect the SmoothStepper to your USB Port. Your PC will attempt to install the drivers but will fail.


Step 4 - Update Drivers

Enter the device manager. Right click on the SmoothStepper entry and select the “Update Driver Software” option.
Choose the “Brows my computer for driver software ” option and point to the location on your desktop where you unzipped the USB drivers and hit OK.

Step 5 - Install USB SmoothStepper Plugin

Unzip the USB SmoothStepper Mach3 plugin and place it on your desktop. Double click the plugin file to install.

Step 6 - Connect SmoothStepper to CNC

Connect the DB25 adapter into port 1 of the SmoothStepper. Plug the DB25 cable into the DB25 connector on the adapter. Connect the other end of the of the DB25 cable to the DB25 port on the G540 controller.


Step 7 - Start Mach3

Mach3 will ask you what port you want to use. You will be prompted with the form shown in below. Select the SmoothStepper option and hit OK.  
Note that you will be prompted each time you start Mach3 unless you check the “Don’t ask me again” check box



Mach3 will complain about a few thing as it starts up. Just click OK

Step 8 - Configure Mach3 Index Port

Refer to the KRMx01 and KRMx02 books Mach3 chapter for basic configuration. Refer to the various other upgrade projects for probe and index settings.

Since we want full control of the speed of the router lets set the index pin and port as shown below.


Step 9 - Configure Mach3 Spindle Ports 

In the SuperPID project we setup the spindle ports in much the same way as we do here. The only difference is we are going to assign “Dir Pin#” which is not used, to the settings shown in Figure 1.6.

We do this to keep the SmoothStepper plugin from complaining.


Step 10 - Set Spindle Pulleys

Open up the Spindle Pulleys form from the Config menu. Change the settings to those shown below.

In addition you need to remove the linearity.dat file located in the Mach3/macros/KRMx01 or Mach3/marcos/KRMx02 directory. Failure to remove this file can result in unexpected speeds when trying to control your routers RPM.


Step 11 - Configure SmoothStepper

Open up the SmoothStepper configuration form by selecting the USB SmoothStepper Config option from the Plugin Control menu.
Under spindle make the changes shown below. These settings match those in the SuperPID wiring project #2.


Don’t do any testing on the CNC until you have made all the configuration changes outlined in the books.  Once done close and restart Mach3. Some of the changes wont take effect until your restart the program.
At this point you should be configured and ready to go. Also note that any changes shown in this project overide those in the books.

Note that the pulley settings may have to be tweaked for your router.  Those shown worked perfect for a Hitachi M12VC.

Final Thoughts

I have done extensive testing with the configuration shown here and SmoothStepper works like a charm.