Mach4 CNC4pc THC-3 plasma no Z Mach4 and ESS Plugin Configuration for THC-3
Mach4 V ESS_v278.1

The files on this version only work with Firmware FF6V5.

Used software: Mach4

ESS Plugin Mach4: ESS v278.1

Screen and Macros 



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. 




Step1: Bluetooth configuration


Step 2: Modbus Configuration.

  • Enabled Modbus Plugin.

Control Panel\All Control Panel Items\Devices and Printers

The COM port that Windows assigned, as would need to be set in the Modbus configuration.

  • Enabled Modbus Plugin.

  • Configure Modbus communications.

Create a new Modbus Connection.

  • Configure Modbus communications.

  • Configure Modbus communications.

  • Configure Modbus communications.

  • Create the Modbus Receive Functions.

  • Create the Modbus Receive Functions.

  • Create the Modbus Receive Functions.

  • Modbus Receive Functions.

  • Create Modbus Send Functions:

  • Create Modbus Send Functions:

  • Create Modbus Send Functions:

  • Create Modbus Send Functions:

  • Test the Connections:

Step 3:
Configure the New Screen.


  • Create the Modbus Receive Functions.

  • Add Global Registers.




Step 4: Screen and Macros Installation.

Download the Screen and paste.

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.

  • Load Screen.

  • Configurations Tab.


Automatically establishes the SetPoint based on the cutting height that is set.


Is the target voltage to be achieved.


Limit from 40 to 400VDC, True Voltage measured for the plasma.


Is the tolerance or (+/-) voltage range used to generate an adjustment. The torch height is not commanded to adjust if the true voltage is within side the specified range.  It can be between 2 to 32VDC.

Pierce Delay

is the pierce time  the material, it can be between 0 and 9.9 secs

Pierce Height

Is the Pierce Height of the material

Cute Height

Is the Cute Height of the material.


  • Select the test mode button on the screen, and the test led will turn on.
  • In test mode select DN or UP to make the spindle move. The LED will turn on according to the direction.
  • To exit test mode, Press the test mode button again.
  • Z-axis correction will start after the DT seconds you set after the ACR OK signal is sensed.

Test Mode is to simulate the signals coming from the THC unit. This can be used to test the wiring and configuration to make the unit can read the signals sent.  


This is the divider ratio matching the one set in the plasma power supply. This can be a value between 1 to 100 select decimal values (finer resolution) . 


This data smoothes the voltage reading. This can be a value between 0 to 3.


Value of the off load voltage detection in the plasma cutter - used to detect the main (cutting) arc: 50- 300V by default: 200V.


when enabled: activate output 10 (to enable PTS).

when disabled: disable output 10 (to disable PTS).


Set the OFF SET_Z.

Z Top
Is the safety height, the Z axis will move to this height with the M5 command.

Z min. height

is the travel height when probing is being done.

Probing FR

Is the velocity with which the probing is executed



Step 7:

Testing and Troubleshooting Considerations:

  • Test wiring and Configuration using TEST MODE on the THC:

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.


Test using the macros


Keep in mind the macro will now execute the following actions when M3 (Start Cutting) and M5 (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 M5 is reached or e-stop is pressed.

Configure the operation parameters in this screen:

G code with macro:

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



  • If the height adjustment is not smooth or overshoots the position, lower the % of correction speed.

  • Make sure MACH4 is properly licensed, and THC does not work on DEMO Mode.
  • If you do not see action on the signals coming from the THC, try tracing them by measuring them at the output of the THC, the input of the breakout board, the LEDs of the breakout board, the Software Diagnostics, the software function, etc...  You need to understand where you are losing them.


Macro 20300

Q – Set the Height parameter

- Set the Delay parameter (0 - 10)

H - Set the V Range parameter (0 - 32)

E - Set the Set Point (40 - 265)

A - 1 = Auto Setpoint parameter active.

      0 = Auto Setpoint parameter disabled.

“M20300 Q2 P2 H2 E120 A1”

No need to set all parameters


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 M3 and M5 macros.

  • Mach4 CNC4pc plasma with Z  CNC4pc THC-3 with Z and Macro M20300

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 THC-3 with Z and Macro M20300" 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), V_Range- set the range of setpoint, Set_Point- set the set point for the job, Auto_Setpoint - 0 disable auto set point and 1 enable auto set point,  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.


Octubre 19, 2023 :Mach4, ESS Plugin Mach4: ESS v278.1, M4_CNC4PC_THC-3_V.3.

  • Upgrade to ESS Plugin, and Screen and Macros, THC-3 FIRMWARE FF6V5.