General FAQ (Frequently Asked Questions)


Please note that we have other FAQ pages, just hover over the FAQ menu button to see the other pages.


General F.A.Q. Topics



My machine stops at the same place every time; The THC button does not work; Lathe features don't work; My G-Code doesn't render properly...

If you are experiencing weird issues like:

  • A very small G-Code file runs fine, but a larger one doesn't
  • Your G-Code stops every time on the same line, near the beginning
  • You can't get the THC button to turn on in plasma mode
  • Lathe features don't work right
  • Your G-Code loads into Mach3 (or Mach4), but doesn't render properly
  • The machine cuts correctly to begin with, but then starts making bad/incorrect cuts.

The problem very likely is that you are running the demo mode of Mach3/4 which has a 500 line limit for G-Code. Also Mach will not support Plasma or Lathe features while in demo mode. You also may have reinstalled Mach and forgotten to add your license. Either way, you need to add your license to the program.

If you are using an invalid, cracked, or hacked license, Mach may intentionally corrupt your data so as to not let you use your equipment.

On one occasion we have seen that the main Mach3 Window will say "Licensed to SOME NAME" but if you go into the "Menu -> Help -> About Mach3 CNC Controller" you will see that it says "Licensed to: Demo Version."  When a new profile was created, it worked in that new profile, but never in the older user profile.  We had some suspicions about the validity of that user's license.


In Mach3 always check "Menu -> Help -> About Mach3 CNC Controller" to make sure it shows it is licensed to you, if you are having problems. If it is Demo Mode, fix that first.

Demo Mode



ESS and USS Product Details

To see the product details and differences between the ESS and USS SmoothSteppers, please visit the Products page.  Also there are the documentation pages for ESS and the USS.


What kind of motors and drivers can I use?

Since the SmoothStepper outputs 5V signals (with currents limited to 24 or 32 mA), you will need a motor driver between the SmoothStepper and the motor itself.  For your axes, the SmoothSteppers can control stepper motor drivers and digital servo motor drivers.   We do not support analog servo motor drivers or PWM servo motor drivers.   For the axes, we run open loop and don't support PID (since that is used in analog servo setups).


What is a Charge Pump signal?

Back when parallel ports were included with every PC, the PC would/could send out junk data on the parallel port's signal lines when the PC was booting up. (However, the PC would not be able to accidentally create a 12.5 kHz output which is used as the charge pump signal).  Once Mach took over the parallel port, it would output a charge pump signal to indicate that it was in control of the parallel port and that the hardware (motor driver) should respond to the incoming signals.  Without, the charge pump signal, the motor drivers would ignore any and all incoming signals (i.e. Step and Direction signals).

With the SmoothStepper, we will not output any signals without being commanded to do so.  Because of this, we don't need to worry about sending spurious signals during boot up, meaning we don't need to generate a charge pump signal.  We do provide a charge pump output for motor drivers that require a charge pump input.  However, if your motor driver allows you to disable the charge pump input, it should be fine to disable the charge pump input when you are controlling you motor driver with a SmoothStepper - please make sure your local laws and regulations allow this first though.

ESS Ping Issues

The ESS was first released in November, 2011.  The first build of almost 500 boards had an issue in the bootloader where it replied to PINGs with an incorrect checksum.   In Linux the PING was processed and passed onto the terminal.  In Windows, the networking layer discarded the PING packets, which made it appear like the ESS was not connected (although the packets could be seen in Wire Shark).  Starting with boards produced in May 2012, this bootloader issue was corrected.  

While this may cause the SCU not to detect the presence of the initial batch of ESSs, it will not interfere with the ability of those ESSs to communicate and work with Mach3 or Mach4.


What is the difference between Mach3, Mach4 Hobby and Mach4 Industrial?

There are two different versions of Mach4 that you may download: Hobby or Industrial.

The Hobby version of Mach4 will work with either a Mach4 Hobby or Industrial license.  The Industrial version of Mach4 will ONLY work with an Industrial license.  Either version of Mach4 will use the same ESS Mach4 plugin.

The Industrial version of Mach4 has a different default screenset, different icons and additional features that are not present in the Hobby version.

Mach4 is functional, with new features under active development.  Mach3 has ceased all development, but is still used heavily worldwide.

Here is a link to the MachSupport document that compares Mach3 to the two different version of Mach4.


How Do I set up My System?

Please go to our Getting Started page.  It will guide you through the process.

For additional information, please visit our Help Page.


How Do I set up a Laser?

Diode laser power supplies typically have an inbuilt time delay before the laser beam can be turned on.  This allows time for the laser to generate a coherent beam and the internal voltages to stabilize.  If you manually flip a switch to power the laser, that should give sufficient time before you start your GCode.

If you use a M3 command in your GCode to turn the laser's power supply on, you must allow time for stabilization using a Pause, G4 command, or by setting an appropriate spindle spin-up delay.  The M3 command activates an Output# which is mapped to an output pin which in turn activates a relay (or a solid state relay - SSR) to connect the necessary supply voltage to the laser power supply.

Once enabled the laser's power is controlled using a PWM signal. Assuming for a moment that everything was linear, a 100% PWM signal would switch the laser ON to full power, a 50% PWM signal would give half power and a 0% PWM would turn the laser OFF.

The ESS generated PWM signal is mapped to an output pin (set active low) which is in turn connected to the TTL input of the laser’s power supply. It may be preferable to use an opto-isolator or SSR (or similar) here, just to protect the ESS, but be aware of signal inversion and don’t use anything that will cause any measurable delay to the PWM switching signal.

Since a GCode S### command breaks the Constant Velocity movement chain in Mach, it is not practical to change laser power level settings on a regular basis using S### commands.  (The S### command and all Macro commands will cause a slight pause (possibly hundreds of milliseconds) to occur when they are executed - except for M11/M10 and M62/M63 discussed next.)

Mach3 incorporates the M11Px/M10Px commands which perform a very special function within GCode that is running – they can switch an Output# ON or OFF without breaking the constant velocity chain, and the changes are synchronized with the start of the next motion command (G0, G1, G2 or G3).

Mach4 incorporates the M62Px/M63Px commands which perform a very special function within GCode that is running – they can switch an Output# ON or OFF without breaking the constant velocity chain, and the changes are synchronized with the start of the next motion command (G0, G1, G2 or G3).

In a typical laser setup, an opto-isolator circuit is used to gate the PWM signal with the M62/M63 (M11/M10) output.  The GCode command M62P1 (M11P1) allows the PWM signal to pass into the laser TTL input.   The GCode command M63P1 (M10P1) prevents the PWM signal from getting to the TTL input.  This allows you to quickly turn the laser's output on and off as you move around the work area.

Once the job has been completed the laser is disabled (it’s power switched OFF) using the GCode M5 command, or manually with a switch.

(This article was originally written by Tweakie, and we edited it a bit.)



5V Power for the SmoothStepper

This is covered by the relevant ESS (Ethernet SmoothStepper) and USS (USB SmoothStepper) documentation sections.


What is and how do I use a B.O.B. (Break Out Board)?

This may be found here.



This may be found here.


 Making Windows more friendly with Classic Shell

This may be found here.

Disabling Unused Network Protocols

 This may be found here.

Go to top