MACH3 simple screen set for 3 axis milling machine with probing functions

DISCLAIMER: The scripts and screen set described at this page are dedicated to the concrete machine and must be reconfigured and tested if used for any purpose. Author does not take any responsibility for any damage, injury or lost caused by using of these sources.

DISCLAIMER: The scripts and screen set are published and shared for free and are not a part of any sold item by any selling channel. User is allowed to download, modify and share the scripts and screen set. Author does not guarantee, that scripts and/or screen set will work to your system. Any ordered item can not be claimed, based on fact, that this scripts and/or screen set do not work in the customer’s system.

I started with MACH3 several years ago. This software is pretty nice, but I really hate the original screen set – graphical UI. Especially when used at wide screen displays. As I was deeper in the software, I found a possibility how to modify the screen set and make it more simple, as simple as possible. My simple screen set is ready for a router or any 3axis milling machine.

I’ve been asked by some users, if it would be possible to share the screen set and macros for probing with my probes. Based on these requests I decided to publish all information for free as a solution page. Feel free to use these information and use them as you want.

If you have any questions, just ask. But please keep in mind, that my capacity is limited, so can happens, that I would not be able to respond all questions in the deep details 🙂 So let’s start!


  • MACH3 screen set and the scripts prepared for probing with these devices:
  • debugged in MACH3 Version R3.043.062. In case of older version can happen, that some features may not work.


Screen set is edited by MachScreen software tool. It can be downloaded here:

In section “Program downloads/MachScreen”

How to install:

  1. backup your MACH3 folder with all subfolders to be able to return back, if something happens 🙂
  2. download and unpack the file from the download section (above)
  3. copy the screen set “simple3axis.set” to the MACH3 root directory
  4. copy all files from the “macros” folder to your current profile script folder “…Mach3/macros/profilename/
  5. install both fonts from the “fonts” folder to Windows
  6. run MACH3 and change the current screen set:

Browse “simple3axis.set” file.

  1. Setup the fonts:
  1. Setup the “Auto screen Enlarge” in the General Config dialog:
  1. Restart MACH3

Now the screen set and the scripts are installed.

Screen set description:

MACH3 screen set is divided to the several sections:

Section 1, G-code operations

Load G-Code [L]Open dialog for G-code file loadingCtrl + L
Close G-Code [X]Close the current G-code fileCtrl + X
Recent fileOpen recent file
Edit G-CodeEdit G-code area
WizardsOpen the dialog with installed wizards
Last wizardRun the last wizard
RewindGo to the first line
Run From HereStart program from the current position

Section 2, Coordinates

X=0, Y=0, Z=0Reset X, Y or Z workpiece coordinate
Machine X, Y, ZAbsolute machine X, Y and Z coordinates
Workpiece coordsWorkpiece X, Y and Z coordinates
Normal conditionNormal condition indicator

Section 3, Fixture offsets (workpiece offsets)

DRODisplays the number of current fixture offset
1 – 6Sets the fixture (workpiece offset)
1: G54 runs “G54” gcode
6: G59 runs “G59” gcode
Save work offset tableSave all changes to the workpiece offsets. Will be loaded in the next app start.

Section 4, Basic movements

Reference {home}Run all axis reference Alt + Home
GoTo Zero {O}Go to workpiece zero point (equal to “G0 X0 Y0 Z0”)Alt + O
GoTo Home XYZ {H}Go to machine home position in all axis (Machine X=0, Y=0, Z=0), runs macro M501Alt + H
GoTo Home Z {Z}Go to machine home position in Z axis (Machine Z=0), runs macro M500Alt + Z
Soft limits {S}Enable/disable soft limits functionAlt + S

Section 5, Probing functions

Probe: Origin [O]Probe left bottom outer corner position by a probe, runs macro M556 P1Ctrl + O
Probe: Inner [I]Probe left bottom inner corner position by a probe, runs macro M556 P11Ctrl + I
Probe: Center [C]Probe center of a hole by probe, runs macro M556 P10Ctrl + C
Probe: surface ref. [U]Measure a surface reference height to fixed TLS, runs macro M542Ctrl + U
Auto Meas Z [M]Measure a tool height by Fixed TLS, runs macro M543Ctrl + M
Man MeasZ [N]Measure a tool height by a hand operated TLS, runs macro M555Ctrl + N

Section 6, Rapid movement

DRODisplay a current rapid move speed coefficient
Rapid: 10%Set rapid move for manual jog to 10%Alt + 1
Rapid: 50%Set rapid move for manual jog to 50%Alt + 2
Rapid: 70%Set rapid move for manual jog to 70%Alt + 3
Rapid 100%Set rapid move for manual jog to 100%Alt + 4

Section 7, Tool settings

Change tool LEDIndicates, that machine is in the tool change procedure (M6)
Tool DROCurrent tool number
Probe guard block LEDIndicates status of output 5, dedicated to blocking of probe guard function
TLS guard block LEDIndicates status of output 6, dedicated to blocking of TLS guard function
Probe inputIndicates status of probe input
Probe tip dia DROAllows to setup a probe tip diameter. Value is used in the scripts
Flood (F7)Toggle flood output stateF7
Mist (F8)Toggle mist output stateF8

Section 8, Feed rate

OverRiden LEDIndicates, that feed rate coefficient <>100%
“-” buttonDecrease feedrate coefficient percentage
“+” buttonIncrease feedrate coefficient percentage
Reset buttonReset feedrate coefficient to 100%
Set feedrateCurrently set feed rate by G-code
FeedrateReal feedrate (set feedrate multiplied by feedrate coefficient)
mm/minfeedrate in units/minute
mm/revfeedrate in units/revolution

Section 9, Spindle

Spindle (F5)Toggle spindle runF5
“-” buttonDecrease spindle rpm coefficient percentage
“+” buttonIncrease spindle rpm coefficient percentage
Reset buttonReset spindle rpm coefficient to 100%
Set rpmCurrently set spindle rpm by G-code
Spindle rpmReal spindle rpm (set rpm multiplied by spindle coefficient)