A blog of ideas and improvements for Tormach CNC mills.
Articles | PathPilot Plugins | Fusion Plugins | Spindle Load Meter | PathPendant | GamePendant | About | Contact

PathPilot Plugins for Tormach Mills

Useful add-ons I've developed and tested on my 1100M. They should work on all Tormach mills (770M, 1100M, 15L, etc.).

Lathe users may need minor edits. Feel free to email me for help.

I maintain a master list of all plugins and links here, so I don't have to keep updating the page below. This page is always fresh and working (says Caesar).

Plugins are available on this regularly-updated page.

Here's the full list. Details and photos are below. Links to the files are here.

Adjustable Tab Widths
ALT TAB Icon Patcher
Auto Tool Table Backup
Coordinate Logger
Custom 4th Axis Injector
Custom Admin Commands
Custom PathPilot Tab (WCS Matrix)
Custom Probe Pocket Retract
Cycle Time Estimator
Download & Update Manager
Duplicate PathPilot Preventer
File Run History Logger Plugin
File Run History Viewer
G-Code Preview Window Monospaced Font
GamePendant (Kiwi controller)
Gamependant (SN30 controller)
GamePendant (wireless controller)
Hobbs All Scripts Viewer
Hobbs Daily Usage Viewer
Hobbs End of Day Summary
Hobbs Hourly Usage Viewer
Hobbs Monthly Usage Viewer
Hobbs Simple Spindle Time Box
Hobbs Spindle Time Monitor
Hobbs Tool Life Manager
Jog Beeper for ShuttleExpress
Jog Killer (Keyboard Jog Killer)
Lowest Z Finder Plugin
M01 Blue Bar Font Size Changer
Midpoint & Distance Finder
PathPendant Arduino Code
PathPendant Plugin
Persistent F1 Status Key
ProbeGuard in Cradle + M6 Changer Plugin
ProbeGuard in Cradle Plugin
Probing Screen MDI Line Injector
Program Completion Notifier
Rebooter (with confirmation)
Spindle Load Meter Arduino Code
Spindle Load Meter Plugin
Spindle Load Meter Real Time Grapher Plugin
Spindle Load Meter Standalone Grapher
Spindle Load Meter Standalone Grapher (Realtime)
Status Window Font Patcher
Status Window Search Box
Tool Breakage Notifier
Tooltip Killer Patcher
UI_Hooks


Installation

Simply copy the plugin files into:

/home/operator/gcode/python/

(make directory if necessary, python MUST be lowercase)

Also required: ui_hooks.py must be present in the same folder. None of these will work without ui_hooks.py.

After copying, restart PathPilot and the plugins will load automatically.

NEW: You can now also use my interactive Plugins Downloader & Update Manager! For a one-stop shop of all plugins right on your machine, see below.


Additional Plugins

Dave Loomes also shares some excellent plugins at:

http://xoomspeed.com/CNC/pathpilot/plugins.htm

His original ProbeGuard is highly recommended. The version listed above is a lightly modified variant he kindly adapted for me.

Happy machining!
Let me know if you run into issues or have feature requests.

Plugins Downloader & Update Manager

This is a standalone utility that gives you access to the full suite of TormachTips plugins and scripts in one place. It is designed to simplify installation, updates, and other common maintenance tasks, so you do not have to manage each script manually.

For most users, this is the easiest way to get started. You install or run this one script, and it can take care of installing the rest of the scripts I offer. It can also help you check for updates and keep your tools current.

If your machine is connected to the internet, you can run the downloader remotely. This allows you to pull the latest version directly from my server each time, so you are always using the newest available release.

To do that, open a terminal by pressing CTRL + ALT + X on your machine, then type this command exactly:

curl https://tormachtips.com/downloader.py | python

This command downloads the installer from my website and immediately runs it.

A few important notes:

The s in https matters.
The .py at the end of the file name matters.
The | symbol is the pipe character and it matters. It is usually found above or near the Enter key.
The command must end with python.

If entered correctly, this gives you a quick and simple way to install or manage the rest of the TormachTips scripts from a single utility.

CUSTOM TAB AND WCS ARRAY

This plugin creates your own custom tab right on the PathPilot main page. It sits to the left of the Status tab.

It features a few buttons I slapped together, though you can edit this with a bit of python savvy. The big feature, though, is the WCS array, which features all X, Y and Z coordinates for G53 through G59. These update in real time as you move the machine.

Also features buttons that switch to G53-G59, buttons to Zero each of those WCS and a Zero All button that does exactly that.


Patched Message

Uninstalled Message

This plugin survives PathPilot updates.

If you want the midpoint and reboot scripts to work, copy them into /gcode/scripts (you may have to make the scripts directory). The reboot script DOES ask you if you're sure.

Plugin is available on this regularly-updated page.

POSITION LOGGER (TO FILE)

This plugin may be suitable for those reverse engineering or otherwise building code from hand.

You can move your machine to position and quickly log that position to file.

It'd be useful like if you had to write a drilling cycle program and didn't want to hand type a bunch of positions in.

Uses the active WCS and supports G20 and G21.

Logs to logger.txt and you can change the format of what's logged (G1 F50 before the coords, G0, nothing at all, etc) with minor python editing.

Plugin is available on this regularly-updated page.

CUSTOM ADMIN COMMANDS FROM MDI LINE

This plugin adds additional ADMIN commands to the PathPilot MDI line, similar to built-in commands like 'ADMIN CALC' and 'ADMIN DISPLAY'.

You can easily add your own, too.

Now also has the ability to load NC programs directly from the MDI line.

ADMIN LOAD MYFILE
    (you don't have to type .nc)
ADMIN LOAD MYFILE.NC
    (also works)
ADMIN LOAD TEST*
ADMIN LOAD *TEST*
    (wildcards work, too)

 ─────────────────────────────────────────────────────────────────────
 ADDED COMMANDS:
 ADMIN GEDIT → Opens the Gedit text editor
 ADMIN CAJA → Opens the Caja file manager
 ADMIN TERM → Opens a Mate terminal window
  and many more.

ADMIN KILL (kills PathPilot) requires this script and it goes in /home/operator/gcode/scripts

Plugin is available on this regularly-updated page.

 F1 TOGGLE KILLER

PathPilot normally uses the F1 key as a shortcut to show the Status Window.
However, this view is *temporary* — the moment you release F1, the UI snaps
back to the previous screen. This plugin disables that automatic return,
letting the Status Window stay visible until you choose to leave it.

Plugin is available on this regularly-updated page.

 KEYBOARD JOG KILLER

 By default, PathPilot allows jogging the machine using keyboard keys:
 â€¢ Arrow keys (← ↑ ↓ →) move the X and Y axes
ʉۢ Page Up / Page Down control the Z axis

 While useful in some setups, this behavior can also be dangerous — a stray keystroke could unintentionally move your machine.

Plugin is available on this regularly-updated page.

MODIFIED PROBEGUARD

Xoomspeed’s ProbeGuard prevents the spindle from turning on when T99 is selected in PathPilot, which helps protect a wired probe and cable from damage.

However, it doesn't protect against edge cases where the probe is still in the spindle, but the tool has been changed on the screen (in other words, you have an end mill loaded in PathPilot, but the spindle hasn't been physically changed yet).

I wanted to take that protection one step further, so I added a limit switch to the probe cradle, connected to the USB I/O module.

When the probe is safely stored, the switch is closed. This modified version of ProbeGuard checks for that closed circuit, and if it is open, it refuses to start the spindle.

Plugin is available on this regularly-updated page.

CUSTOM 4TH AXIS SCALING

Third party of DIY 4th axis normally have incorrect scaling for what PathPilot expects. In other words, you command a 360° rotation in PathPilot and your rotary only turns, say, 300 degrees.

This plugin fixes that.

Plugin is available on this regularly-updated page.

AUTO TOOL TABLE BACKUP

Automatically backs up your tool table into the same style .csv files from the push-button option in PathPilot.

Restorable through PathPilot.

Backup frequency and storage location editable in the script.

Plugin is available on this regularly-updated page.

Cycle Complete Notifier + Toggle

Wrote a PathPilot script today that will send notifications (or do anything) when a file completes. But not as an M code.

This runs as a plugin so that it will run after every NC program completes. As such, I have it on a toggle via CTRL + H.

Because it runs as a background plugin, you don't need to enter any custom M codes into your NC programs. It watches for, and will run, after every program-completed declaration.

The use case is for a situation I find myself in often: I load a long program not thinking I'm going to walk away from the machine, but then end up needing to go in the house or whatever. The NC file itself doesn't have a notification built in and, because it's already running, I can't add retroactively add it. So, I'll toggle the plugin via CTRL + H and I'll get a Cycle Complete email once it's done.

Thought of another way: This gives you Cycle Complete functionality on every program you run, without having to add M codes to them.

This, of course, is often unnecessary, so you toggle it off via CTRL + H.

To set this up, you'll need a gmail account with an App Password. This script uses the same logic and instructions from the M Code email sender. Follow those instructions and enter your settings in the included INI file.

You can toggle this script with CTRL + H or by editing the INI file directly (which is what CTRL + H does behind the scenes).

Plugin is available on this regularly-updated page.

Tool Breakage & Custom Message Notifier

This plugin monitors the status window for important or custom messages like tool breakage notifications or ETS mismatches.

When a matching phrase is found, an alert is emailed to the user.

For ETS use, for example. You have G37 P0.005 programmed. This checks if the currently loaded tool is within 0.005" of tolerance when the ETS is tripped.

If it's too long (wrong tool or drawbar failure) or too short (wrong tool or broken tool), it will alert PathPilot and thus this script and will email you.

To set this up, you'll need a gmail account with an App Password.

This script uses the same logic and instructions from the M Code email sender.

Follow those instructions and enter your settings in the included INI file.

Plugin is available on this regularly-updated page.

Estimated Runtime

PathPilot will show the ETA of a running program, but only after it has been run once and it can log an approximate elapsed time. And, if you rename or edit the file, that estimate disappears.

This can be frustrating, especially for longer jobs.

This plugin calculates an estimated runtime every time a file is loaded and displays it in the Status window. No need to run the file first.

Default rapid speed for G0 moves is set to 100 IPM. You can adjust this in the script if your machine differs (e.g. MX, etc.).

For more advanced estimators with line-by-line analysis, see my scripts here and here.


(There are other plugins in this screenshot, but the Estimated Cycle Time is the important part here...)

Plugin is available on this regularly-updated page.

G Code Preview Font Patcher

Changes the G Code preview window to a monospaced font (each letter is the same width. "I" is the same width as "W".) and fixes tab spacing.

This cleans up the appearance of files that have inline comments.


This is before the patch. See how none of the comments line up?


Additionally, when you expand the preview window, it goes (imho) too far to the right.


After the patch, comments will be aligned and the expanded window only goes about halfway across the screen.

Plugin is available on this regularly-updated page.

Lowest Z Finder

This plugin will show you the lowest value each tool in your loaded program will go.

It also watches and reports G10 (which can reset tool offset values).

I use this all the time as a sanity check to ensure I'm giving myself enough Z clearance.

Plugin is available on this regularly-updated page.

Jog Shuttle Beeper

If you use the ShuttleExpress Jog Shuttle, this plugin will provide an audible sanity check beep that you've pressed one of the four axis buttons (X Y Z A) and that PathPilot has registered that.

It's good for not slamming your end mills into your work, vise or bed because you meant to move in X and instead it moved in Z, etc.

Plugin is available on this regularly-updated page.

Also needed:

beep.wav (place this in /home/operator/gcode/images or edit the script to your custom location)

Disable Tooltips For Good

In older versions of PathPilot, even if you had the Show Tooltips box unchecked, tooltips would still display on mouse hover. This plugin fixes that.

This bug has been fixed in at least 2.14.0, but if you are using an older version (like me), you may enjoy this bug fix.

Plugin is available on this regularly-updated page.

Spindle Hobbs Timer & Tool Life Manager

This PathPilot plugin monitors machine state once per second and checks a single condition: whether the spindle is on. If the spindle is running, the plugin records that second of runtime.

It does not measure spindle load, torque, horsepower, cutting pressure, or tool engagement. The logic is strictly binary: spindle on or spindle off.

The plugin is now also a fully integrated tool life manager, showing install date and runtime. It is editable and resettable.

The plugin writes to two log files and an SQLite database. The first is a master hobbs.txt file that maintains a cumulative spindle runtime total. The second is a detailed time log that records every second the spindle is active and also captures the reported RPM at that moment. A new detailed log file is created every 24 hours.

The daily detail files can become fairly large over time, but they are plain text and can be deleted as needed without affecting the cumulative total stored in hobbs.txt.

The cumulative runtime total is displayed in the status window each time PathPilot starts.

The same runtime information can also be displayed in a popup by entering ADMIN HOBBS in the MDI line.

The monthly calendar can be displayed by ADMIN HOBBSM in the MDI line.

The user can be notified via Reminders. If the tool has seen xxx minutes of use, alert user.

Hobbs Spindle Timer
(the actual plugin that loads with PathPilot)

Custom Admin Commands
(install this if you want ADMIN HOBBS to work from the MDI line)

Hobbs Popup Box
(this is also needed for ADMIN HOBBS to work)

Hobbs Monthly Dialog
(if you want the Monthly display (get it via ADMIN HOBBSM)

Hobbs Daily Dialog
(if you want a per tool per day display (get it via ADMIN HOBBSD)

Hobbs Hourly Dialog
(if you want the hourly display (get it via ADMIN HOBBSH)

Tool Life Manager
(Sortable and editable real-time tool life manager (get it via ADMIN TOOLS))

End Of Day Summary
(And EOD summary of tools, spindles and runs)

Plugins are available on this regularly-updated page.

Status Window Patcher

Like most of PathPilot, the status window does not use clean tab spacing or a monospaced font. For any type of text based column organization, this provides an ugly, counter intuitive display.

This script fixes that. It changes the font to one that is monospaced and cleans up the tab spacing.


Before & After

Plugin is available on this regularly-updated page.

File Run History

This script will parse a log file that contains the NC programs you have opened and run. It will display elapsed time and if it was a Partial or Complete run. It is sorted by Day and you can view whatever day you want.

If you have Custom Admin Commands (and required file) installed, you can reach it via ADMIN HISTORY. Otherwise, run it from terminal.

Plugin is available on this regularly-updated page.

MDI Line in Probing Tabs

A user requested MDI lines in the probing tabs so that he doesn't have to keep switching back to the main tab when setting up multiple WCS.

Plugin is available on this regularly-updated page.

Plugins Downloader & Update Manager

This is a standalone utility that gives you access to the full suite of TormachTips plugins and scripts in one place. It is designed to simplify installation, updates, and other common maintenance tasks, so you do not have to manage each script manually.

For most users, this is the easiest way to get started. You install or run this one script, and it can take care of installing the rest of the scripts I offer. It can also help you check for updates and keep your tools current.

If your machine is connected to the internet, you can run the downloader remotely. This allows you to pull the latest version directly from my server each time, so you are always using the newest available release.

To do that, open a terminal by pressing CTRL + ALT + X on your machine, then type this command exactly:

curl https://tormachtips.com/downloader.py | python

This command downloads the installer from my website and immediately runs it.

A few important notes:

The s in https matters.
The .py at the end of the file name matters.
The | symbol is the pipe character and it matters. It is usually found above or near the Enter key.
The command must end with python.

If entered correctly, this gives you a quick and simple way to install or manage the rest of the TormachTips scripts from a single utility.

M01 Message Line Font Size Changer

Changes the size of the font in the white-on-blue messages that appear when you call M01 (some message here)


Before


Install Message


After (this is size 10)

Plugin is available on this regularly-updated page.

Duplicate PathPilot Preventer

If you open PathPilot in a terminal, and are always tinkering around, you may often try to open PathPilot twice.

PathPilot hates that and will crash. This attempts to fix double-runs.

Plugin is available on this regularly-updated page.

Tab Icon Patcher

Provides  better icon when ALT + TABBING, like on Windows. I created a professional Tormach logo icon. Requires PathPilot to be run in a terminal.

Plugin is available on this regularly-updated page.

Also needed (or DIY):

Icon Image

Custom Pocket Retract Distance

A small plugin that temporarily reduces the probe’s lateral retract distance when pocket probing tight holes or small bores. It helps prevent the probe from retracting too far after contact and striking the opposite wall. The user runs ADMIN RETRACT from MDI, enters a temporary retract value, performs the probing operation within a short time window, and the script then automatically restores the default retract behavior.

Plugin is available on this regularly-updated page.

Custom Tab Width

Change the width of all your tabs. Individual widths are in the plugin itself. Enjoy.


Before & After

Plugin is available on this regularly-updated page.

Status Window Search Box

Plugin is available on this regularly-updated page.