Touch Sensor and Plasma Torch Height Control Configuration for Mach4 


There are two ways of commanding the plasma cutting sequence.  You could command all the actions using gcode commands (M62/M63 as torch on/off, G31 for probing, and G4 for piercing delays) or you could set all the operating parameters and just command the plasma using the 2003/M2005 macros.  These instructions will configure the system to use it both ways.  

M2003 Macro performs the following actions:

  • Probes or moves down the Z axis to the "Z Min. height" position that is set in the DRO for this value and the feed that is set in "Probing FR".
  • Set the current position to be the new Z = Zero considering the Z Offset if a Floating Head is used.
  • Moves the Z up at max velocity to the piercing position or DRO = Pierce Height.
  • Turn on the Torch. 
  • Wait for Pierce time or DRO = Pierce Delay.
  • Moves the Z up at max velocity to the cut position or DRO = Cut Height.
  • Activate THC.

M2005 Macro performs the following actions:

  • Turns the torch off.
  • Deactivates the THC.
  • Moves the Z axis at max speed to the position where it would be safe to move at max velocity to the next cutting position.  This is DRO =Z Top.
  • The screen holds the new DRO values and also has the code that will enable the probe while the system is probing.

Used software: Mach4

ESS Plugin Mach4: ESS v284.

Hardware Used:
THC-1 or THC-2, PTS-1

Start by making a backup of the existing installation:

Make a backup of the configuration and file installation, we recommend creating a backup of the current installation by right-clicking in the current installation folder and zipping it.


Download and install the new screen and macro files:

Download the compressed file containing the macros and screen that work with the macros:

You will need to install the screen found in the download folder and place the macro in the macros directory for the profile folder.

Make a backup of the original M2003 and M2005 macros by zipping them into the same folder, just so you may have access to the original macros if you need to revert the installation later: 


View/Load Screen:

Apply Changes, Save Settings, and Restart MACH4 for all the changes to take effect.

On the Main Screen, you need to set the piercing parameters: 

3. Set the THC delay or Piercing Time.

4. Set the height at which you want to start cutting or do the initial pierce. 

8. Cut height

On the Main Screen, you need to set the piercing parameters: 

1. Set Z_Top which is the safe position from which you can do a rapid motion to the new cutting position.

2. Set how low you want the Z-axis to go while probing or touching the plate.

5. Set the OFF SET_Z.

6.  Set the Probing FR.

7.  Set the Probe enable.

Probe pin configuration.  This is the pin used to sense the probing action.  This pin will go high when the probe touches the plate. If using a floating head where the z-axis will need to travel to the switch position, you need to set the Z offset.

Testing and Troubleshooting Considerations:

Test Probing with a PTS-1 or Floating head:

  1. Note that all the position values are considering that work Z zero is the plate position and we recommend setting this before executing the gcode.

  2. For the initial testing, make sure the plasma machine is off and you can observe the plasma relay activating and deactivating accordingly. 

  3. Do the initial testing using the G31 Z-40 F20 command in the MDI screen, and you should be able to see the torch start probing.

  4. You can observe the probe enable LED on the screen LED and the Enable LED on the PTS-1 unit itself when it starts probing and the touch LEDs on the screen and PTS-1 unit.

Test that the Touch Relays Starts/Stops the Plasma

M62 should start the plasma and M63 should stop it.  Observe action on the screen LEDs, Output pins of the breakout board, relay, and plasma cutter.

Test THC action:

  • Press the knob three times to enter test mode in the THC and observe the ARC OK signal activate.
  • Turn the knob up or down to move the axis and observe the Torch UP and Torch Down LEDs activate when moving in each direction.  The Z-Axis should also move to adjust the position.
  • To exit test mode, press the knob once.

Test the complete sequence which includes probing, piercing cutting with THC.

Configure the THC parameters according to the manual:

Run this G code that does not use macros:

N0050 F20        (Set the Probing Speed 20mm/sec)
N0060 G31 Z-10  (Start probing axion on the Z-axis to a depth of up to 10mm)
N0070 G92 Z -3  (Set work zero for the z axis using an offset of the switch)
N0080 G00 Z 2   (move the Z-Axis 2mm up. initial pierce ).
N0090 M62 P5     (Start the Torch).
N0100 G04 P2    (Set a Pause of 2 seconds to allow the pierce time).
N0110 G00 Z 3   (move the Z-Axis 3mm up. Cut height).
N0120 G01 X5    (Cut a 5mm square).
N0130 Y5
N0140 X0
N0150 Y0
N0160 M63 P5     (Turn off the Plasma)
N0170 G0 Z5     (move the Z-Axis 5mm up. Z_top)

Feel free to adjust it to your units or other preferences.

  • Macros:

    Keep in mind the macro will now execute the following actions when M62 P5 (Start Cutting) and M63 P5 (End Cutting):

    1. If using a PTS-1 (Plasma Touch Sensor), the first section is to Enable the Probing action. You should see the ENABLE LED on the PTS-1 and also on the breakout board on the LED for the pin that you wired and configured for activating the probe.  In these instructions, we are using Pin 1 on Port 2 (Output10).

    2. The Z-axis lowers until the nozzle or sensor that you connected to the nozzle touches the plate and closes the circuit and activates the probe input. You would momentarily see action for this on the TOUCH LED on the PTS-1 unit or the switch if using a Floating Head, on the LED for the input pin you assigned on the Breakout Board, and on the Probe LED on the Mach4 screen.

    3. As soon as probing is completed, the Probe ENABLE is disabled and the z-axis moves to the Pierce position or the Pierce Height that you configured.

    4. The plasma starts by activating the plasma relay and stays cutting for the duration of time that you configured or set as Pierce Time in Seconds.

    5. After pierce time the z-axis moves to the cut position that I set in the cut height

    6. The Plasma stays on and continues to execute g-code and THC if implemented until an M63 P5 is reached or e-stop is pressed.

    Configure the operation parameters in this screen:

    G code with macro:

    N0090 M2003        (Probes, pierces, moves to cutting position, and start the torch)
    N0100 G01 X5    (Cut a 5mm square.)
    N0110 Y5
    N0120 X0
    N0130 Y0
    N0150 M2005        (Turn off the Plasma and move the z axis to Z_Top)

Setting up the Post Processor.

Post for SheetCam: 

  • Mach4 CNC4pc plasma no Z CNC4pc plasma no Z

This post-processor works with all the data on the screen and uses the M2003 and M2005 macros.

  • Mach4 CNC4pc plasma with Z CNC4pc plasma with Z

This post processor does not use the M3 and M5 macros or the parameters set on the screen but sends all the actions via gcode and starts and stops the plasma using the  M62 P5 and M63 P5 macros.

The variable for the post-processor will need to be set up as internal variables:

switchoffset = Z Offset

zminheight = Zmin. height

probingfr = Probing FR


Load the postprocessor to be used: Select the "MACH4 CNC4pc plasma with Z" postprocessor in Options/Machine.


Click on "Set a post-processor variable".


Enter the values of the variables to be used on probing: Steps 2 and 3 may need to be repeated for each variable.  these can be: switchoffset (offset of the floating head switch), zminheight  (how low the Z axis goes while probing), and probingfr (Velocity at which probing will be executed).


Create Cut Feature:  After having entered all the variables, we proceed to do the cutting operation.