The FAQ Mach3 page may also be of some help to understand basic concepts.


FAQ Mach4



How do I set up Mach4 and the SmoothStepper?

Please visit our Mach4 Getting Started Page.



How do I upload a copy of my Mach4 profile?

Open the profile you wish to send to us in Mach4, then go to Menu -> Help -> Support -> Package Current Profile...

Package Profile

Save your profile with an appropriate name, and remember which folder you saved it in.

Save Profile

In the forum post you are writing, go down to the Attachments section, and click on Add File.  Navigate to the profile you just saved, and select it.  It should then appear to the left of the Add File button.

Add File

After you submit your post, please make sure that your profile is attached in your post.



Where do I learn more about Mach4 itself?

The best place is on the Mach Support website itself! 


Logging in Mach4?

If something weird is happening in Mach4, I will usually ask you for a Log File so I can see exactly what happened in Mach4 and the ESS plugin.  To do this, go to Menu -> Diagnostic -> Logging...

Logging Menu

Then Press the Play button in the Log Window to start recording the messages.

Logging Window


After the event occurs, pleas press the save button to save the data, and then upload it to us if requested or relevant.   If possible try to make the log as short and concise as possible (I don't need 20 minutes worth of data if you can make it happen in 20 seconds), but also don't delete relevant information either.   What is really helpful is if you can say my problem X happened at 12:17 in the log file.

If you place mc.mcCntlSetLogging(inst,1) in your screen_load_script this will automatically turn the logging on for you.


How do the Spindle buttons work in Mach4?

In the wx4 screenset, the lower right corner of the main Mach window looks like this:

Spindle Buttons

When you press the Spindle CW button you see the LED light up, but nothing happens. When you press the Spindle CCW button you see the LED light up, but nothing happens.  It should be working, but why isn't it?  When you press Spindle CW or Spindle CCW you are turning the spindle on, but with the last commanded speed.  Upon startup of Mach4, the last commanded speed is set to a default value of 0 RPM.  Only after you issue a new speed command will the CW or CCW buttons start at that speed. If you go to the MDI tab and type in a command similar to this, you should get Spindle movement:  M3 S1000

The buttons on the screen call lua script functions (Menu -> Operator -> Lua Script).

MDI and G-Code use Macros, some of which are standard macros (M3, M4 and M5), and custom macros that you can create and place in your "C:\Mach4Hobby\Profiles\YOUR PROFILE\Macros\" folder.   Here is an example of how to create a macro in Mach3, but it is essentially the same here in Mach4, you just save it to this folder path instead.


My Spindle (or something else) should be working, but it isn't!

This might have to do with a missing Macros folder in your "C:\Mach4\Profiles\YOUR PROFILE NAME\" folder.



Setting Up Step Dir Spindle as an OB axis.

We do have Step/Dir Spindle working if you use an OB motor. This is a work around that should be addressed in the next release.

Here are the images that should allow you to get it running.








OB means an Out of Band motor.   If you read about the Spindle section on page 24 (Mach4 CNC Controller Software Installation and Configuration Guide Version 1.0): Essentially you are using a motor output and disregarding the ‘position’ the motor is at (x = 27.1” or x = 48.567”).  Instead you are just using the motor’s acceleration settings to generate a velocity (step pulses), and you are feeding that output signal into your VFD.




Homing Issues

Homing works correctly in Mach4 with the ESS.  However, once in a while a few users have reported that homing stops working for some reason.  Here are the settings to check to get homing to work correctly again:

In the ESS Config:

  • Make sure all axes which can home are enabled and make sure home switch pins config and input signals mappings are enabled and mapped.
  • Set Approach and back off velocities are within reasonable range (i.e. set X(200/20), Y(200/20) and Z(100/10).

In the Mach4 Config:

  • Make sure all axes which are configured are enabled in Axis Mapping. (Those which can home and those which cannot home)
  • In Homing/Soft Limits, set Home order for all configured axes (suggestion for normal gantry machine z(1), x(2), y(3) and if more axes are used have their order greater than 3 so that they home after x,y and z. This makes debugging easier. Have all disabled axes at order zero.
  • Make sure all axes which cannot home have "home in place" checked in the homing tab.




Why doesn't Goto Zero work for the Z axis in Mach4?

For safety, the Z axis "Goto Zero" is disabled by default; to modify this, edit this section of the Screen Load Script:

function GoToWorkZero()
    mc.mcCntlMdiExecute(inst, "G00 X0 Y0 A0")--Without Z moves
    --mc.mcCntlMdiExecute(inst, "G00 G53 Z0\nG00 X0 Y0 A0\nG00 Z0")--With Z moves





Feed Hold and Spindles or Lasers

In the Menu -> Configure ->Mach... -> General tab you have two options for the Feed Hold stopping the spindle and restarting it, which would also apply to the laser.  When using a laser, and you press Feed Hold, you typically would not want the laser to keep lasing. 

Laser and Feed Hold



Go to top