Mach3 Screenset Editor May 2026

The ScreenSet Editor is mostly visual, but buttons run Visual Basic scripts. To edit a button's action:

Example of a simple script for a "Zero X" button:

Code "G92 X0"
While IsMoving()
Wend
Message "X axis zeroed"

Common Commands:

Pro Tip: Do not delete the original script unless you fully understand it. Copy it to Notepad first as a backup.

The Mach3 Screenset Editor is a built-in graphical tool used to create and customize the operator interface (screensets) for the Mach3 CNC controller software. It lets users design the on-screen layout — placing buttons, indicators, DROs, graphics, and status elements — so the control panel matches the machine, workflow, and operator preferences. mach3 screenset editor

If you’ve ever used Mach3 for CNC control, you know the default interface works — but it may not work for you. That’s where the Mach3 Screenset Editor comes in. This built-in tool lets you customize the look, layout, and behavior of the Mach3 user interface to match your workflow, machine, or even your personal taste.

Let’s build a practical example together. We will create a custom cluster to zero all axes at once.

Step 1: Open Screen4 and load your working copy of 1024.set.

Step 2: Find an empty space (near the top right is good). Click the Group Box tool. Drag a rectangle. Label it "Zero All Axes". The ScreenSet Editor is mostly visual, but buttons

Step 3: Click the Button tool. Draw a square inside the box. In the properties:

Step 4: Repeat Step 3 for Y and Z, positioning them side by side.

Step 5: Create a fourth button, bigger than the others. Label it "Zero ALL".

DoOEMButton (1008) 'Zero X
DoOEMButton (1009) 'Zero Y
DoOEMButton (1010) 'Zero Z

Step 6: Click File > Save.

Step 7: Open Mach3. Go to Config > System Hotkeys > Load Screen. Select your new .set file. Restart Mach3. Your new zeroing panel is live.


Advanced users rely on "OEM Codes." These are pre-defined numerical IDs that Mach3 recognizes.

Want a button that moves Z to the top and turns off the spindle? Create a macro.