Click here to go back to Getting Started: Setting up my PC

*** If you will be using Mach4, you should be at this page instead:  Setting up the SmoothStepper with Mach4. ***


Mach3 Software

 

Getting Started: Setting up the SmoothStepper and Mach3.


 

Initial Mach3 setup with the ESS:

To help you with the setup process for Mach3, we have a YouTube video playlists for Mach3 + ESS setup.

  1. Run SCU: Confirm that you have used the SCU to prepare your PC for the ESS.
  2. Install Mach3: Confirm that you are using the recommended version of Mach3, or download and install it from here.
  3. Install ESS Plugin: Confirm that you are using the correct ESS plugin for Mach3You will double click on the ESS_Mach3.m3p file, and a Mach3 helper application will copy the file to "C:\Mach3\Plugins\" and rename the plugin extension to "ESS_Mach3.dll"     The "ESS_Mach3.dll" file (which is the plugin itself)  MUST be in the "C:\Mach3\PlugIns\" folder.
  4. Make sure that your ESS is powered and connected to your PC via Ethernet cable.
  5. Start Mach3. 
  6. For the "Session Profile" window, if you have already created a profile, skip to step 8.  Otherwise, if you have not yet created a profile, click on "Create Profile". 
      No Profile
     
  7. In "Create Profile" enter a "New Profile Name" and then check "Default Profile Values", and then click "OK".
       New Profile
     
  8. Select your profile, and click "OK".  The first time you run your new profile, you will go through steps 9 through 14.  After that, you will go right to step 16 from here.
      Your Profile
     
  9. You will need to agree to the terms of the legal agreement to continue.  Please make sure you read and agree to the terms.  You may want to click the check box to not have it ask you the question again.
      Agreement
     
  10. Select the correct ESS plugin.  DON'T click on the box that says "Don't ask me this again", you may want to change plugin versions in the future. 
      ESS Plugin Sensed
     
  11. When the "CTftp::WakeUpClientBoard does not reply:" appears, click on NO to configure.
     CTFP
     
  12.  In the new window enter the IP address of "10.9.9.9" or a different one if you have assigned a different value with the configurator application (not recommended for most users).  Then press "OK".
     
     IP Address
  13. If you can't get Mach to communicate with the ESS, close Mach,,right click on the Mach icon and select “Run as Administrator”.  Mach should then be able to communicate with the ESS again.   If it can't, please make sure you are not running Norton, McAfee or other 3rd party firewalls, that may be blocking Mach3 from communicating with the ESS.  Finally if it is still not working, please watch this video on how to use the SCU to reset your Windows Firewall to default and add Mach3 rules to it.

  14. It will say that the ESTOP is not assigned, which is what we will configure next.  Click "OK".
     
      EStop
     
  15. This takes us through the initial ESS setup for Mach3.  Please continue with the Remaining Mach3 setup for the ESS or USS.

 


 

 

Initial Mach3 setup with the USS:

 To help you with the setup process for Mach3, we have a YouTube video playlists for Mach3 + USS setup.

  1. Install Windows USB Driver: Confirm that you have installed the USB driver for the USS.
  2. Install Mach3: Confirm that you are using the recommended version of Mach3, or download and install it from here.
  3. Install USS Plugin: Confirm that you are using the correct USS plugin for Mach3You will double click on the USS_xxxxx.m3p file, and a Mach3 helper application will copy the file to "C:\Mach3\Plugins\" and rename the plugin extension to "USS_xxxxx.dll"   The "USS_xxxxx.dll" file (or whichever name the current version of the USS plugin has)  MUST be placed in the "C:\Mach3\PlugIns\" folder.
  4. Make sure that your USS is powered and connected to your PC via USB cable.
  5. Start Mach3. 
  6. For the "Session Profile" window, if you have already created a profile, skip to step 8. Otherwise, if you have not yet created a profile, click on "Create Profile".
    No Profile
     
  7. In "Create Profile" enter a "New Profile Name" and then check "Default Profile Values", and then click "OK".
    Your Profile
     
  8. Select your profile, and click "OK". The first time you run your new profile, you will go through steps 9 through 13. After that, you will go right to step 14 from here.
    Your Profile
     
  9. You will need to agree to the terms of the legal agreement to continue. Please make sure you read and agree to the terms. You may want to click the check box to not have it ask you the question again.
    Agreement
     
  10. Select the correct ESS plugin. DON'T click on the box that says "Don't ask me this again", you may want to change plugin versions in the future.
    ESS Plugin
     
  11. You will then see a message saying "One or more initialization values were either not found or were invalid in the XML File." For this message, just click "YES" since we have not yet assigned the initialization values.
    Blank XML
     
  12. It will say "Default values have been set" which is what we want.
    Default XML Values
     
  13. It will say that the ESTOP is not assigned, which is what we will configure next. Click "OK".
    No EStop Assigned
     
    No EStop Assigned
     
  14. When Mach3 is connected to the USS, you should see the Blue Power LED ON steady, the Red Init LED flashing 10 times per second, and the Green Done LED ON steady.

     

  15. This takes us through the initial USS setup for Mach3.  Please continue with the Remaining Mach3 setup for the ESS or USS.

 


 

Remaining Mach3 setup for ESS or USS:

(Please make sure you have completed the initial Mach3 setup for your ESS or USS just above here.)

After each major step, try using your hardware to see if you set it up correctly.  I have you exiting Mach3 often, since it will save the settings to the XML file, and it helps to prevent mistakes.

      1. Start by assigning the EStop input pin in Mach3 -> Menu -> Config -> Ports and Pins -> Input Signals.  Scroll down to EStop and place a green check in the Enabled column.  Assign it to the desired ESS Port (1, 2, or 3) or USS Port (1 or 2).  Assign it to the desired input pin.  You may need to change Active Low depending on your hardware.  Press OK to close that window. 

        Keep in mind that the picture you see below is for example only.  You can do this to test and verify that the SmoothStepper is communicating with Mach, but you really need to make sure you assign it to your EStop button afterwards!

        EStop
      2. Exit Mach3 to save your settings, and then reopen Mach3.
      3. Press the Red Reset button in the lower left corner of Mach3.  The flashing red border should be replaced by a solid green border (if it is, Mach is communicating with your SmoothStepper).  If you press your hardware EStop button the Mach3 Reset button should start flashing Red again.  

        Reset Red

        Reset Green
      4. Now assign the Axes that you will be using.  Go to Mach3 -> Menu -> Config -> Ports and Pins -> Motor Outputs.  For each axis you will use, click on the red X to change it to a green check mark.  Assign a Step pin and Dir pin for each axis, and then assign a Step Port and a Dir Port, ESS Port (1, 2, or 3) or USS Port (1 or 2).  You may need to change Active Low for Dir and Step.

        Motor Outputs Tab
      5. If your motor driver needs a Charge Pump signal, you should set it up now.   Mach3 -> Menu -> Config -> Ports and Pins -> Output Signals.   Set the Port and Pin as appropriate for you hardware. 

        Charge Pump
      6. Exit Mach3 to save your settings, and then reopen Mach3.
      7. Tune your motors for each of your axes in Mach3 -> Menu -> Config -> Motor Tuning.  We have a FAQ section here.   How do you calculate your steps per unit?  Try this Excel spreadsheet made by RICH.
        1. Click on X Axis on the right.  Set your Steps per unit, your Velocity and your Acceleration.   Click on SAVE AXIS SETTINGS.
        2. Click on Y Axis on the right.  Set your Steps per unit, your Velocity and your Acceleration.   Click on SAVE AXIS SETTINGS.
        3. Repeat for the remaining axes.  To modify which axes are available, go back to the Motor Outputs step. 

          Motor Tuning
      8. Exit Mach3 to save your settings, and then reopen Mach3. 
      9. Test to see if your motors will move by pressing the arrow keys on your keyboard.
        • X+ Jog: Arrow Right
        • X- Jog: Arrow Left
        • Y+ Jog: Arrow Up
        • Y- Jog: Arrow Down
        • Z+ Jog: Page Up
        • Z- Jog: Page Down
      10. Calculate and set your Max Step Frequency, for each of your axes.
      11. Exit Mach3 and reopen it to save your settings.
      12. Set the Controller Frequency to 1 kHz.  This will be a good starting point for most users.
      13. Exit Mach3 and reopen it to save your settings.
      14. In the MDI tab try out some GCode like F10 G1 X1 which is explained here.  This will let you move your Axes around a little.
      15. Set the look ahead to 100 or 200 lines.  If you get a "Run out of data" message, adjust your watchdog.
      16. Exit Mach3 and reopen it to save your settings.
      17. Configure your constant velocity settings as needed.   Here is a good PDF from MachSupport.com or our local copy.
      18. Exit Mach3 and reopen it to save your settings.
      19. Set your home switches and your limit switches (this step is optional).
      20. Exit Mach3 and reopen it to save your settings.
      21. Debounce your switches (this step is optional).
      22. Exit Mach3 and reopen it to save your settings.
      23. Set your soft limits (this step is optional).
      24. Exit Mach3 and reopen it to save your settings.
      25. Set up your spindle control here or set up your THC control here.
      26. Exit Mach3 and reopen it to save your settings.
      27. Once you have Mach3 running the way you want it to, make a copy (or many copies) of your whole "C:\Mach3" folder and store it somewhere safe.  I have one copy at a relative's house on a USB stick, and another copy on DropBox.com   If I ever need to restore or replace my computer, I can just install Mach3, and then use my copy of the "Mach3" folder to replace the one on the PC and I am all set to run.  It can save hours and hours.  You should also back up your G-Code projects as well.

 

You are now ready to load a G-Code program and run it!  We suggest to practice running with an air cut first (no tools in your spindle) so you can see exactly what the machine will do, and make corrections to your program if necessary.  Also you should re-read all of the safety information you have, including ours.

With Mach3, NEVER run your Feed Rate Override above 100%, only use it to slow down your feedrate.  If you want to go faster, regenerate your G-Code from your CAD/CAM software.  Running your FRO above 100% will cause jerkiness and misshaped circles.

 


Spindle Setup for Mach3 ESS:

 1. Go to Mach3's Menu -> Config -> Ports & Pins -> Motor Outputs tab.  For the Spindle row:

  • Place a green check for Enabled.
  • If you are using PWM mode for your spindle assign the Step Pin and Step Port to match your wiring. 
  • If you are using Step and Dir, Quadrature, or CW/CCW mode for your spindle assign the Step Pin and Step Port and then the Dir pin and the Dir port to match your wiring.
  • If you are using Relay mode will not need to do anything in this window.

Motor Output Spindle

 

2. Next go to Mach3's Menu -> Config -> Ports & Pins -> Spindle Setup.  

  • Check 'Use Spindle Motor Output'
  • Setup the 'Relay Control' region if you are using an output to trigger a relay.
  • The other settings are for a Parallel Port not a SmoothStepper.

Ports and Pins Spindle Setup

 

3. Now go to Mach3's Menu -> Plugin Control -> Main Config: ESS-M3-version.

For a PWM Spindle:

  • Check the box for PWM
  • Set the Base Hz

For a Step and Direction Spindle:

  • Check the box for Step and Dir
  • Choose a Pulse Width, for this example I will use 4 us.  
  • Set the 'Max Step Frequency'*

For a Quadrature Spindle:

  • Check the box for Step and Dir
  • Set the 'Max Step Frequency'*

For a CW/CCW Spindle:

  • Check the box for Step and Dir
  • Set the 'Max Step Frequency'*

*Set the 'Max Step Frequency' to a setting that is a little bit above the max step frequency that your system is expecting.  If you have a BOB that converts the Step and Dir step frequency to an Analog 0 V to 10 V, they will tell you what they expect the steps per second to be.  If they are expecting 25,000 steps per second, then you would go to the next higher value and choose 32 kHz.

General Config Spindle

 

4. Now go to Mach3's Menu -> Config -> Motor Tuning.  Under Axis Selection, click on Spindle.

For a PWM Spindle:

  • Set 'Steps Per Unit' to 1000 (This field shouldn't matter for PWM, we just need a reasonable value in here).
  • Set 'Velocity' to 60.
  • Set Acceleration to a value greater than '1' that gives the response you desire (depending on your system, perhaps 200).
  • Make sure you Click on 'SAVE AXIS SETTINGS'!

For a Step and Direction, Quadrature or CW/CCW Spindle:

  • Set 'Steps Per Unit' and the 'Velocity' fields, so that when they are multiplied together, they will equal 60 times the max step frequency expected by your 0 V to 10 V converter.   To get 25 kHz, using 1000 and 1500 are good choices.  These values can be adjusted up and down to tweak the max spindle value coming out of your 0 V to 10 V converter, but there is usually a potentiometer to do that as well.  Here is the Excel spreadsheet for the following image:

Spindle Velocity Calc

  • Set Acceleration to a value greater than '1' that gives the response you desire (depending on your system, start at 200).
  • Make sure you Click on 'SAVE AXIS SETTINGS'!

 

Spindle Motor Tuning

 

 5. Finally go to Mach3's Menu -> Config -> Spindle Pulleys

  • Choose a pulley, the default is #4 and that will work fine.
  • Enter the Max RPM that matches your VFD and Spindle specifications.
  • Set your Min speed to a value of 0.  Please see the explanation below the image as to why.   If you want to ensure your spindle never runs below a specified RPM, please see this article here on how to set up a script to guarantee the minimum RPM you desire.
  • Leave the Ratio field at 1 unless you are using gearing, at which point you will adjust the ratio accordingly.

Spindle Pulley

Mach takes a spindle speed and uses that to create a ratio value (between the Min and Max speed).

The following documentation explains how the ratio value works with PWM. Step and Dir mode operates under the same basic principle as PWM, but needs a video or pictures to properly explain it.

Assume you have an external controller that is set to a min of 12,000 RPM and a max of 24,000 RPM.  Mach would then use the ratio value to produce a 0% PWM for the min speed of 12,000 RPM, and produce a 100% PWM for the max speed of 24,000 RPM.

Now we need make sure Mach’s expectations match the external hardware’s expectations.  If the hardware is expecting a 0% PWM to mean 12,000 RPM, then you are set!  

However, if your external hardware interprets that 0% PWM means a speed of 0 RPM, then you will be off.  Mach thinks it is commanding 12,000 RPM and the hardware is creating 0 RPM.  That means you should set the Min Speed to 0 RPM.   When Mach is told generate 12,000 RPM, Mach would create a 50% PWM signal in order for the hardware to create 12,000 RPM.

This explanation assumes open loop mode.   Once we  implement closed loop mode, then it won’t matter, since Mach won’t command a value less than the minimum, and the closed loop means we would adjust the PWM to meet the commanded RPM.

 

6. Testing your spindle:

To test your Spindle output, use "M3 S#####" where ##### is the desired speed in RPMs  (M3 S500 would give 500 RPM).   Your speed will be limited to your max speed declared in the pulley section above (assuming your VFD controller is configured correctly).

M3 will rotate the Spindle clockwise.

M4 will rotate the spindle counter clockwise. 

M5 will stop spindle rotation. 

 

Displaying your spindle RPM (Speed) in Mach3:

To display the real world RPM (speed) of your spindle or router in Mach3, you will need a sensor or an index output on your spindle or router.  You will hook that sensor/index output  to any available SmoothStepper input pin.  Then go to Menu -> Config -> Ports and Pins -> Inputs, and go down to the Index line and assign it the correct Port, Pin and Active High/Low state.   The displayed RPM speed in Mach3 will likely be off.  To adjust the displayed RPM, go to Mach3's Menu -> Config -> Spindle Pulleys and adjust the ratio to achieve a displayed RPM that matches your real world RPM.    The higher your ratio value, the lower your displayed RPM will be.

 

My Spindle Speeds Don't Match what I am commanding in Mach3:

If your spindle speeds don't match to what you are commanding, please follow the PWM verification guide  or the  Step and Dir, Quadrature, and CW/CCW verification guide.

 

Spindle PWM verification guide

 

Spindle Step and Dir, Quadrature and CW/CCW verification guide

 

 

 


THC (Torch Height Control) setup for Mach3 ESS:

To enable THC (Torch Height Control), you need to:

  1. Go to Menu -> Plugin Control -> Main Config for the ESS, and then Activate THC Mode with a check.  THC Main Config
  2.   Go to Menu -> Config -> Ports & Pins -> Input Signals.   You will need to ENABLE the following three inputs, and assign the Port number, Pin number and active high / low state:   
    • THC On (Incoming Arc Okay signal)
    • THC UP (Signal to tell the Z axis to rise)
    • THC Down (Signal to tell the Z axis to go down) THC Input Signals
  3. Go to Menu -> Config -> Ports & Pins -> Mill Options.     ONLY ENABLE "Allow THC UP/DOWN Control even if not in THC Mode"  if you are manually controlling the height of an Oxy Acetylene torch.   Never choose this in normal THC Mode. THCMill Options 
  4. In the included Plasma Screen Set for Mach3, you will see this area of the Screen:
    THC Plasma Screen Set
    The Torch On/Off button will allow you to turn your torch on and off (using the assigned Spindle output, and G-Code will also perform this function).    The THC button MUST be clicked on if you wish to allow THC to operate - this is the on/off switch for using THC Up/Down signals coming from your THC controller.    THC Max and Min allow you to set Upper and Lower Z-Axis heights - once you reach those heights, any commands to go beyond those will be ignored.

 

 


 

Here are our Documentation (manual) pages:


This concludes the Getting Started walk through.  If you need more help, please look at our Help page.

 

 

Go to top