ProbeIt for UCCNC

User Manual — Version 2.400

A probing, reverse-engineering and CMM plugin for UCCNC
Manual revision: October 12, 2026
www.craftycnc.com

1. Introduction

ProbeIt is a touch-probe plugin for the UCCNC machine-control software. It offers some of the same functions as other probing macros:

It also has features that are useful for measuring and reverse engineering:

The goal of ProbeIt is to provide a useful tool with functionality I could not find anywhere else.

2. Important: limitations and safety

2.1 Do not multi-task while probing

UCCNC provides probing in one axis at a time. ProbeIt therefore works through UCCNC’s jog-safe-probing mode. Jogging is disabled whenever UCCNC loses keyboard focus in Windows, so a probing routine stops if you switch to another program while it runs. There is no way around this other than not multi-tasking while a probing routine is running. You can move freely between UCCNC, the ProbeIt main window, and the ProbeIt viewer and status windows. ProbeIt notices when focus is lost and aborts the running routine properly.

2.2 Warning and disclaimer

I have tried to make the probing routines as safe as I can, but ProbeIt operates your CNC machine through UCCNC and its settings. Setting up UCCNC and the probe input signal is your responsibility. You are responsible for checking and testing all signals and the setup of your machine, and for becoming familiar with the probing routines. When learning, probe items that are not clamped to the table, so that if something goes wrong you are less likely to destroy your probe.

ProbeIt is a tool. It takes your instructions (DRO entries and button clicks), sends commands to UCCNC to move and probe, and saves the data. If you position the probe incorrectly, or issue a G0 that plows the probe through the part, that is on you, and ProbeIt will not prevent it. If you issue a mistaken command, use the Abort button, feed hold, or the E-stop to cancel a running probing event.

Machining is dangerous. Even though ProbeIt is only a probing utility and is not used while cutting, operate the machine as carefully as if you were machining. Never place your hands in the working envelope while probing. Always turn off or disconnect the spindle motor power when a touch probe is mounted. Do not probe at excessive feed rates, and use common sense. By using ProbeIt you accept all liability for damage or harm that could be caused by its use, to you and to your equipment. If you do not agree, do not use this software.

ProbeIt for UCCNC is a re-write of the original ProbeIt for Mach3 and is still being developed. It is tested to be as free of bugs as possible but it is not guaranteed to work in every setup. CraftyCNC is not liable for any damage or lost time resulting from its use. ProbeIt and CraftyCNC are in no way affiliated with CNCDrive or UCCNC.

3. Requirements and installation

3.1 UCCNC

The plugin works on both x86 and x64 computers running UCCNC, and is written for UCCNC versions that use .NET 4.0. UCCNC 2.2116 moved to a newer OpenTK graphics library, so there are two builds:

ProbeIt versionWorks with UCCNC
2.2xx (for example 2.203)2.2115 and earlier
2.3xx and 2.4xx (this manual)2.2116 and later

If the wrong build is installed for your UCCNC version, ProbeIt will not run and will not appear in the list of plugins to enable. Install the one that matches your UCCNC. The installer for this version checks the UCCNC you point it at and refuses a version that is too old.

3.2 Equipment

You must have a probe connected and configured in UCCNC. The probe does not need to be fancy: it only has to trigger the probe input in UCCNC. ProbeIt has been tested with UC100, UC300eth, UC400eth and AXBBe motion controllers, but any controller offered by CNCDrive should work equally well. ProbeIt is best used at a screen resolution of at least 1280 × 1024.

3.3 Installing

Install with the self-installer ProbeIt-2.400-Setup.exe. It asks for the UCCNC folder (the one that contains Plugininterface.dll), not the plugins folder; with several UCCNC installs, run it once for each. It puts ProbeIt_UC.dll in the UCCNC Plugins folder and the rest in Plugins\ProbeIt\ (see appendix B), and installs MagnetWindows.dll (the window-snapping helper) in the UCCNC folder. Your own settings and recorded files are never replaced by an install or removed by the uninstaller.

Close UCCNC before installing. To run the installer without prompts: ProbeIt-2.400-Setup.exe /S /D=C:\UCCNC2118 (/D must be the last argument and must not be quoted).

Upgrading Installing over an existing copy keeps your settings. The first time the new version runs it reads the existing settings files. If you also keep copies of your own files, back them up first anyway.

3.4 First run: inch or metric

The first time ProbeIt runs, and no saved settings are found, it asks whether you work in inch or metric and loads the matching starting values (feed rates, clearances, distances). You can also load an XML file of your own, or skip. All values are only a starting point: please look over every setting and adjust it for your machine, then use Save Settings. You can load either set again at any time with the Set Defaults INCH and Set Defaults MM buttons in the Probe Settings window (see section 8), and save your own as the new defaults (see section 17).

4. Trial and licensing

ProbeIt installs in a demonstration mode, so you can try it before buying. The window title bar and the About window show the current status. Demo mode limits only the amount of data that can be recorded; the routines themselves are not crippled:

If you only need the basic probing routines, you do not need a license. If you plan to use ProbeIt for reverse engineering or for business, a license removes every limitation.

To get a license, send an email asking to purchase one, and include the License ID shown in the About window. The passkey is created from that ID, which is generated from your UCCNC motion controller’s serial number. After payment, the passkey is emailed to you. Enter it in the About window and click Validate License Key; the status then shows Licensed.

The About window
Figure 1. The About window.

The Check Online for New Version button in the About window compares your version with the latest one on the CraftyCNC website. The check also runs when the About window is opened, if Auto Check for New Version Enabled is turned on in the General Settings.

5. Enabling and starting the plugin

ProbeIt is a plugin to UCCNC and must be enabled before it will run. Open UCCNC’s General Setup tab and click Configure plugins.

UCCNC General Setup tab
Figure 2. The Configure plugins button on UCCNC’s General Setup tab. (UCCNC’s own screen: yours may look different.)

Tick Enabled for ProbeIt_UC in the list, and restart UCCNC. If you also tick Call startup, ProbeIt starts and shows up when UCCNC starts. If ProbeIt_UC is not listed, check that ProbeIt_UC.dll is in the UCCNC Plugins folder and that you installed the build that matches your UCCNC.

UCCNC plugin configuration window
Figure 3. The plugin configuration window.

5.1 Opening ProbeIt with a button code or hotkey

To start ProbeIt on demand, assign it a button code. Click the Configure button for ProbeIt in the plugin configuration window; the box shows the current code and lets you set a new one.

Config for ProbeIt dialog
Figure 4. The button-code dialog (the same box is under General Settings → Configuration: Set ‘Open’ Button Code).

Then use that number in UCCNC’s IO trigger hotkeys or on a screen button. In the example below, the key code 110080 (Ctrl+Alt+P) triggers function 3332, the code set in the box above, and opens ProbeIt. You can also add a screen button that sends the same code, or re-open the plugin configuration window and click Show.

UCCNC hotkey setup
Figure 5. A hotkey assigned to the ProbeIt button code.

6. The windows

ProbeIt has three main windows: the main window, the 3D viewer and the status / measurement window. They snap and stick to each other and move as a group when you drag the main window; drag the viewer or the status window away to un-stick them. A pop-up result box shows the measurement of each routine. The settings are in their own windows, opened from the Settings / Help button.

The main window with the 3D viewer snapped beside it
Figure 6. The main window and the 3D viewer.

6.1 The main window

The main window has these tabs, in a layout similar to UCCNC’s own:

The probe settings, general settings, email setup and About pages are no longer tabs: they open in their own windows from the Settings / Help button at the top left of the main window (section 6.2).

Always visible, whichever page you are on:

The left panel with the settings of the current page slides open and closed (use the small arrow on its edge); ProbeIt remembers the state between sessions. The probe routine buttons keep a square shape as you resize the window.

6.2 The Settings / Help button

The Settings / Help button opens a menu with:

Each of these windows remembers where you left it, can snap to the other windows, and keeps its settings when you close it with the X (it is just hidden).

The Settings / Help menu
Figure 7. The Settings / Help menu.

6.3 The 3D viewer

The viewer shows the point-cloud data and the DXF data that you record while probing, and the live probe position. It also shows information about the DXF file, and has a layer panel to create, rename, delete, hide and color layers and to choose the active layer that new data is recorded onto (a layer is always selected: ProbeIt picks Layer_0, and makes it if there are no layers). It is the same viewer that UCamCopy uses. You can:

The viewer is not used for G-code; the G-code tab has its own viewer for that.

The viewer with DXF data and the Layers panel open
Figure 8. The 3D viewer, with DXF data and the Layers panel open.
The viewer settings window
Figure 9. The viewer settings window.
Viewer showing a probed point cloud
Figure 10. A probed surface (point cloud) shown in the viewer, with the probe cone.

Editing DXF data in the viewer

You can clean up the recorded DXF data in the viewer before you save it, and add to it. Everything here works on the DXF data only.

Selecting, deleting and undoing

Click a line, circle, arc or polyline to select it; it is drawn in the Selection Color (cyan by default). Ctrl-click or Shift-click adds an entity to the selection, or removes it if it is already selected. To select many at once, click Select on the toolbar and drag a box: everything the box touches is selected (hold Ctrl or Shift to add to the selection, Alt to remove from it). Zoom Box works the same way but zooms to the box. Esc clears the selection.

The Select tool with a selection box being dragged
Figure 10a. The Select tool on (the button stays highlighted) with a box being dragged.

With entities selected, click Delete (or press Delete) to remove them from the DXF data. Undo (Ctrl+Z) takes back the last change and Redo (Ctrl+Y) puts back what you undid; the history covers deleting entities, drawing lines and moving entities to another layer. Any edit marks the DXF as having unsaved changes, so the Save button on the main window becomes available.

The viewer after a delete, with the status bar message
Figure 10b. After a delete the status bar says how many entities were removed and that Ctrl+Z undoes it. The Cnt column drops to match.
Draw Line

Draw Line adds new lines to the DXF by clicking in the view. Click Draw Line on the toolbar (the button stays highlighted while the tool is on), click the start point (a green dot marks it), then click the end point. A line is added, and its end point becomes the start of the next line, so you can keep clicking to draw a connected series; a rubber-band line follows the pointer. Press Esc once to end the series and again to leave the tool; clicking the button again also turns it off. Use the Top view for drawing: in an edge-on view such as Front or Right a click cannot be placed on the Z = 0 plane.

The viewer toolbar with the Draw Line button highlighted
Figure 10c. The toolbar with Draw Line turned on.
Green start dot and an orange rubber-band line following the pointer
Figure 10d. The start dot and the rubber-band line; the status bar says what to do next.
A connected series of drawn lines
Figure 10e. A connected series of lines.

Snapping: within about 12 pixels of the start or end of an existing line, an orange dot appears on that endpoint and the status bar names it. The point you click is then exactly that endpoint, so lines join cleanly. Away from an endpoint the point is where you click, at Z = 0. Only the endpoints of lines are snap targets.

Orange snap dot on a line endpoint
Figure 10f. Snapping to a line end: the orange dot sits on the endpoint, and the status bar names the line and its layer.

New lines go on the active layer. Each line is one Undo step.

Lines drawn on a new active layer, shown in pink
Figure 10g. Drawing on the active layer. Here a new layer, TestDraw (pink), is the Active Layer, so the new lines are pink and its Cnt goes up as lines are added.
Layers and Move to layer

The layer list has these columns: Vis (click to show or hide the layer), Col (double-click to change its color), Cnt (the number of entities on it), Layer Name (edit it to rename the layer) and Del (delete the layer and its entities, after a confirmation). Add Layer (or New Layer… in the right-click menu) asks for a name and then a color; Refresh Layer List rebuilds the list. Layer names must be unique (upper and lower case count as the same): a name that is already in use is refused, both for a new layer and when renaming.

The name prompt for a new layer The color chooser for a new layer
Figure 10h. Add Layer asks for the new layer’s name, then for its color.

To move entities to another layer, select them, right-click one of them, choose Move to layer and pick the destination layer. The entities keep their positions; only their layer changes, and Undo moves them back.

Entities selected before the move
Figure 10i. The entities to move are selected.
The Move to layer submenu listing the layers
Figure 10j. Move to layer lists the layers.
The entities now drawn in the other layer's color, with the status bar message
Figure 10k. After choosing the layer: the entities take that layer’s color, the Cnt values change, and the status bar says how many were moved.
The right-click menu

Right-click (without dragging) in the 3D view to open a menu. If you right-click an entity that is not selected, it becomes the selection; if it is already part of the selection the whole selection is kept, so you can act on a group. The menu has Delete (n), Move to layer, Draw Line (checked while on), New Layer…, Undo and Redo, Clear selection, Zoom to fit, Save As… and Viewer Settings…. Entries that do not apply, such as Delete with nothing selected, are greyed out.

The viewer right-click menu with an entity selected
Figure 10l. The right-click menu with an entity selected.
The right-click menu with nothing selected, Delete and Move to layer greyed out
Figure 10m. With nothing selected, Delete, Move to layer and Clear selection are greyed out.

6.4 The status / measurement window

The status window collects status information while you probe (left half) and builds a measurement report for the 2D routines (right half). Buttons show only the status, only the measurements, or both. You can copy both, e-mail them or save them to a text file, and type your own notes next to the results. The Status Messages option in the General Settings chooses whether status messages go to this window or to UCCNC’s own status box.

Status and measurement window
Figure 11. The status / measurement window.

6.5 The result box

After a routine, a pop-up result box shows the measurements. It can use your choice of font and background colors (set in the General Settings), stays open for a time you set, opens at the size and place where you left it, and stops auto-closing if you click it. The Show Result Box check box and the display time are on the XY Probe Routines page.

The probe result box after a pocket probe
Figure 12. The result box.

7. General information about probing

7.1 Aborting a probe event

The Abort button stops the running probe routine. It is gray when no routine is running and yellow while a routine is running and the button can cancel the motion. You can also use feed hold or the E-stop; after a reset, you can always restart the probing. If the button does not turn gray after you click it, the plugin may be hung and need a restart.

Abort button
Figure 13. The Abort button.

7.2 Feed rates and units

Feed rates and distances are typed in the units that UCCNC is set up for (inch or mm; feed rates per minute). There is no unit conversion in ProbeIt: a value of 1 is one inch if UCCNC is in inches and one millimeter if UCCNC is in metric. This is also true of the recorded files (section 13).

7.3 Positioning for a probe event

Positioning before probing is done manually, by jogging. Placing the tip is not critical: make sure it is closer to the part than the max probe distance. If you use the auto Z up/down feature the tip can be left above the surface; after the Z surface is touched off and set, the probe moves down automatically before, and up after, each probe event. You can use a pendant, an Xbox controller or the jog buttons in the plugin.

Mode selection buttons
Figure 14. The mode buttons (zero, edge and diameter mode) with their Cont. check boxes (see section 9.3).

7.4 Recording to a file

When you open a file to record to, you can start and stop recording as needed. You can probe a perimeter, jump to the XY page and record a bore, set a new Z, return to the perimeter page and record another perimeter, all into the same file. When you are done, close and save the DXF file. If you were also recording a CSV and a perimeter file, they are saved with the same name.

8. Probe Settings and tip calibration

The Probe Settings window (Settings / Help → Probe Settings (calibration)…) is mainly for calibrating the probe tip, which builds a table of corrected tip diameters at various probing angles. Using the table corrects for:

  1. probe tip trigger travel and deflection,
  2. backlash and mechanical errors,
  3. lead-screw inaccuracy (within the range where the calibration was done), and
  4. offset between the spindle and the probe tip, for runout (if calibrated with Option 2).

The probe’s contribution may not be the same in all directions, so install your touch probe in the same orientation every time (for example, so that the lead always exits in the same direction).

The Probe Settings window
Figure 15. The Probe Settings window.

8.1 Calibrating the probe

Calibrate the probe

You calibrate with a master ring gauge of known inner diameter. Calibration is optional: you do not have to calibrate to run any of the probing routines, but you must enter a value in Probe Tip Avg Diam, which is used as the default tip diameter.

  1. Enter the actual inner diameter of the gauge in Ring Gauge ID, and the measured probe tip diameter in Probe Tip Avg Diam.
  2. Enter a calibration Feed 1 and, optionally, Feed 2 (a second, slower speed). With two feeds, ProbeIt interpolates the correction for any feed in between if Interpolate Cal Data for Speed is checked.
  3. Move the tip into the gauge and click Calibrate #1 or Calibrate #2.

Save Tip Data saves the tables to a file you name, useful if you alternate between several tips or probes; Load Tip Data asks for the name of a saved file (you have to type the name) and fills in the tables and the Avg Diam box. Clear Tip Data empties the tables.

8.2 Probe correction LED

Tip correct off
Off
Tip correct on
On

Click the Tip Correct button to turn tip correction on or off. Leave it on once you have calibrated and the table is correct, and off if the table is out of date (for example you just changed the tip and did not recalibrate). With correction off, the Avg Diam value is used for every probe event. Starting a calibration turns it off until the routine completes.

8.3 General probing behaviors

The Set Defaults INCH and Set Defaults MM buttons reload the starting values for the units you choose (they also reset the viewer’s grid and marker sizes to match), and Open Settings XML File loads a settings file you choose. Use Save Settings afterwards to keep the values.

8.4 The common probing inputs

These settings appear on several pages. Feed rates are in your native units per minute, distances in your native units:

InputMeaning
Feed 1 (initial feed)The feed rate at which the probe travels during a probe operation. Start slow and increase to your comfort and accuracy level.
Feed 2 (slow feed)A second, slower feed: the probe travels at Feed 1, backs off, then re-probes at Feed 2. Set to 0 for no second slow probe. Recommended: 1–5 in/min (25–125 mm/min).
Clear feedThe feed for clearance moves, such as moving along an edge between points or around a corner.
Slow clearHow far the probe backs off before the slow probe. Ignored if Feed 2 is 0.
Probe distance (max distance)How far the probe will travel toward the surface. With the hit tolerance, it decides whether the surface was hit or missed.
Backoff clearanceHow far the probe backs away from the touched surface before a clearance move.
Corner clearanceHow far the probe travels to get around a corner. Make it larger than the distance from where you start probing to the corner.

9. Basic 2D probing (XY)

The XY Probe Routines page can serve several purposes. For general probing and setup work it locates edges, corners, bore or post centers and slot mid-points, and sets the coordinates. It reports measurements: point location (edge and corner), diameter and roundness (bore and post), width or height (pocket, slot, ridge) and angle (edge). For reverse engineering it complements the perimeter routine: with DXF or CSV recording on, the routines record their data, and you can jump between the perimeter page and the XY page and record all the geometry in one file.

The XY Probe Routines page
Figure 16. The XY Probe Routines page.
The 2D probe routine buttons
Figure 17. The probe routine buttons.

9.1 Probe side / edge

These buttons probe a side, or an edge if edge mode is on. Edge mode measures the slope of the side (two points); probing a side returns the X or Y point touched. If zero mode is on and edge mode is off, the X or Y axis is zeroed (depending on whether you probe horizontally or vertically). The part rotation value modifies the event, and auto up/down can be on.

During an edge move, if the Edge Length is positive the probe moves from 1 to 2 as pictured on the button; if it is entered negative, the order is reversed, from 2 to 1.

Side/Edge probe routine
Figure 18. The side / edge probe routine.

9.2 Corners

Choose inside or outside, and square or angled corners, with the Corner Options (Non-Square Corner Mode, Inner / Outer, Cmr. Clrc. and Cmr. Edge). The returned point is the intersection of the two sides, the exact corner, and can be set to X0 Y0 if zero mode is on. Corner routines are modified by part rotation and can use auto up/down. Position the probe closer to the corner than the corner clearance value.

Square outside corner routine
Figure 19. Square outside corner.
Square inside corner routine
Figure 20. Square inside corner.
Angled outside corner routine
Figure 21. Angled outside corner.
Angled inside corner routine
Figure 22. Angled inside corner.

9.3 Bore / pocket

The probe bore button probes the inside of a round bore or a rectangular pocket. Put the tip near the approximate center in XY. With Diameter Mode in Holes off, the routine finds the center of a bore or rectangular pocket, probing ±X and ±Y only; if DXF recording is on, a circle or a rectangle is recorded depending on the Pocket / Post Shape option (rectangular or circular). With diameter mode on, it finds the center of a round bore and then samples the ID at as many points as you enter in Diam # Points, returning a measured diameter and roundness and recording a circle.

Do not probe a rectangular pocket in diameter mode The routine may run the probe into the walls.

This event is modified by part rotation (if diameter mode is off) and can use auto up/down.

Pocket probe routine
Pocket probe routine.
Pocket probe in diameter mode
Continuation in diameter mode.

9.4 Boss / post

The probe boss button probes the outside of a post. Put the tip above the approximate center of the post, a small amount above it. With diameter mode off, the routine finds the center of a boss or rectangular post, probing ±X and ±Y; if DXF or CSV recording is on, you are asked whether the post is round or rectangular, so that the right geometry is recorded. With diameter mode on, it finds the center, then samples the OD at Diam # Points points.

Do not probe a rectangular post in diameter mode The routine may run the probe into the part.
Post probe routine
Figure 23. The post routine, side and top view.
Post probe in diameter mode
Figure 24. The post routine in diameter mode.

9.5 Slot (inner) and ridge (outer)

Slot. Start with the probe approximately centered in the slot. The probe makes moves to probe both sides, then returns to the exact center of the slot, and returns the width or height and the center position. Modified by part rotation; can use auto up/down.

Ridge. Start with the probe approximately centered above the tab or ridge. The probe first goes down to find the top of the ridge, then makes moves to probe both sides, and returns to the exact center above the top surface; width or height and center position are returned. Modified by part rotation. A ridge routine cannot run with auto up/down: if it is on when you start, it is turned off. Use Y clrc. and X clrc. (Post / Ridge options) to set how far the tip moves to the sides.

Slot probe routine
Figure 25. The slot routine.
Ridge probe routine
Figure 26. The ridge routine.

9.6 Simple Z probe

Probes a Z surface and gets its height without changing the Z Is Set LED or the Z Surface Value. If zero mode is on, it also zeros the Z axis DRO (and if Z Is Set was on, it is cleared by the zeroing).

9.7 The mode LEDs

Each mode button has a Cont. check box: when it is checked, the mode stays on; when it is not, the mode turns off after one routine.

9.8 Part rotation

The part rotation value modifies the orientation of all probing events except edge and diameter modes. Use it when your part is not square to the table, or when you have rectangular pockets or corners that are not square to the table. Enter the angle in degrees, positive for counter-clockwise. +X is 0 degrees, and the angle is that of the part’s bottom edge relative to the X axis. Part rotation also rotates the features that are recorded to DXF.

Bottom-left corner routine with 0 and 15 degrees of part rotation
Figure 27. The bottom-left corner routine with 0 and +15 degrees of part rotation.

9.9 Auto up/down

Z axis controls
Figure 28. The Z axis controls.

Initial Z surface (Probe To SET Z). Sets the Z axis DRO to a value that represents the surface of your object (its top, for example). The value is what you enter in Set Z Surface Value. Move the probe above the surface first. The button works with the Z Is Set LED: if the LED is on, pressing the button turns it off and you must touch the surface again; if it is off, the routine probes down until it touches, sets the Z DRO to the Z Surface Value, and retracts to the Z Clearance. Example: to make the Z DRO 0 on a surface, enter 0 in Set Z Surface Value and press Probe To SET Z.

Tool length ProbeIt does not manage tool lengths or the probe length offset. Use UCCNC’s tool table, and load the probe as the right tool (with a tool change in UCCNC) before probing with ProbeIt.

Probe To GET Z. Probes down to a new surface (a flange, another level) and puts the measured Z into the Z Surface Value box. It requires that an initial surface has been set and the Z Is Set LED is on.

Z Is Set LED. It is a safety: it must be on (by probing an initial surface) before auto up/down works, so that the surface and probing depths are known and the probe can be protected. While it is lit, the Z recorded in CSV/DXF is the Z Surface Value; if it is not set, the recorded Z is the actual probe Z. Get in the habit of clearing it when you move to a new surface height.

Z Surface Value. The value that represents the top surface of what you are probing. It is the Z coordinate recorded in your CSV/DXF, and is separate from the Z axis DRO because the tip must be below the edge you want to define.

Z Depth. How far (in native units) the probe goes below the set surface when probing. Do not make it deeper than the length of your probe tip, or you will crash the probe body into the part; about one probe diameter is a good start. It takes ± values: negative goes below the surface, positive keeps the tip above it. Example: with the top surface at Z = 1.000 in and a Z Depth of −.100, the probe moves to Z = .900 to measure, but the recording saves Z = 1.000 (if Z Is Set is lit).

Z Clearance. How far above the set surface the probe goes after probing, so you can jog around without hitting the part. Example: with the surface at Z = 1.000 in, a Z Clearance of .150 moves the probe to Z = 1.150 afterwards.

Axis DROs
Figure 29. The axis DROs and the Z Not Set indicator.

9.10 Edge length

How far to move along an edge to take the second point. Make it smaller than the length of the edge being measured, so the second touch does not miss.

10. Auto G68 rotation

The G68 command in UCCNC rotates the working coordinate system relative to the machine coordinates. With the G68 Rotation page you probe the edge of a part and have the coordinate system rotated so that X and Y are parallel and perpendicular to the part, handy when the part is not set square to the table.

There are four buttons, for the four corners of a part (upper left, upper right, bottom left and bottom right). The edge that is aligned with the rotated X or Y axis is the one that gets “hit 1” and “hit 2” for the button. The routine expects the corner between “hit 1” and “hit 3” to be square; this is not strictly required, but if you set the corner as 0,0 there is a small position error if it is not square.

G68 rotation buttons
Figure 30. The G68 setup buttons.

Position the probe tip at the approximate place shown by the S in the button, and press it. There are two methods, chosen with the G68 corner / edge options: Edge probes a single edge (two hits, using the Edge Length), Corner probes a corner (using the Corner Clearance to get around it; start closer to the corner than that distance).

G68 edge routine
G68, edge method.
G68 corner routine
G68, corner method.

When the routine is done:

  1. the coordinate system is rotated so that X and Y are aligned with the edge you probed,
  2. the X and Y DROs in UCCNC and ProbeIt turn red, showing that G68 is in effect,
  3. the LED in the middle of the buttons is lit, and
  4. the Angle of Rot. box shows the rotation in degrees.

From now on every move is relative to the rotated system, until G68 is cancelled: click the LED button, or enter 0 in the angle box. The DROs go back to white when the rotation is cancelled. If G68 is already active when you start a routine, you are asked whether to clear it (G69) first. The G68 enable check box must be on before a G68 routine is run.

11. Perimeter probing

The Perimeter Probing page runs a routine that automatically follows the outside shape of an object and records the touched points, joined by lines, directly into a DXF file, or as X, Y, Z rows in a CSV file. It tries to always probe perpendicular to the surface and continually adjusts the probing angle. Probing square to the surface and using the tip table from the Probe Settings window lets the perimeter be reproduced accurately.

It works on both external and internal perimeters. It always works in the same direction: counter-clockwise around an external shape and clockwise around the inside of a pocket. Use the three sub-pages: XY Perimeter, XZ Perimeter (surface) and YZ Perimeter (surface) (section 11.4).

The XY Perimeter page
Figure 31. The XY Perimeter page.

11.1 The buttons

XY Perimeter → GO! starts the routine. Enter the settings, set the option LEDs, put the tip near the start of the perimeter of the object (at the proper depth), and press the button. It continues around until the maximum number of hits is reached, or the edge is lost in error. Use Abort at any time. You can reposition the probe and restart while recording to the same file; the data has a break in the curve where you restarted, which can be joined in the CAD program afterwards.

Single Point – Manual performs one probe event in the direction of the Initial Probing Angle. It is handy for collecting a few points around an object, or for adding points where the perimeter routine had difficulty. It records a point and a circle. The center of the circle is the part edge (where the tip touched), not the center of the tip: the tip radius offset is already included.

11.2 The settings

Start angle protractor
Figure 32. Click around the protractor to set the start angle.

Initial Probing Angle. The angle (degrees) of the first probing vector from the current tip position, relative to the machine’s +X. Imagine polar coordinates with the origin at the tip, 0 degrees toward +X and 90 toward +Y. Click on the protractor to set it. Examples: probing +X when the probe is on the left of an outside perimeter: 0. Probing +Y from the bottom: 90. Probing −X and −Y toward a face at 45 degrees from the top right: 225. Probing +X, +Y toward a 45-degree face from the bottom left of an inner perimeter: 45.

Initial probing angle examples
Figure 33. Initial probing angle examples.

Probing Feed. The probing feed. The perimeter routine probes at a single feed, one touch per hit (no back-off and slow re-touch). You can change it while the routine runs: use a fast feed for simple areas and slow down for complicated corners or to improve accuracy (less overtravel).

Perimeter probing routine
Figure 34. The perimeter probing routine, with suggested starting values (inch units): stepover .050, backoff .075, probe distance .150, hit and miss tolerance .002.

Stepover. The distance between probe points around the perimeter (actual points are only exactly this far apart along a straight line). A smaller stepover gives more samples and finer resolution. It cannot be changed while the routine is running: stop and restart it.

Backoff. How far the probe backs away from the surface to prepare for the next hit. It cannot be changed while the routine runs.

Probe Distance. How far the probe travels from the backoff point toward the surface. With the hit tolerance, it decides whether the surface was hit or missed. Always make it larger than the backoff, by about 1–3 probe-tip diameters. It cannot be changed while the routine runs.

Max Touches. The number of touches before the routine stops, so you can enter a large number and walk away. Estimate it as the approximate length of the perimeter divided by the stepover, plus about 20%. If it was not enough to get around the part, restart and keep recording to the same file, as long as you have not closed it; update the initial probe direction where you restart. In demo mode the routine stops at 1000 points. It cannot be changed while the routine runs.

Auto Start/Stop. With this on, probing stops by itself after completing a lap and returning to the start location.

Max Angle Change. Limits how fast the routine may change direction: 0 disables it, 10 means the direction cannot change by more than 10 degrees (plus or minus) from one point to the next. Useful with a very small stepover, where small surface deviations cause large changes in the calculated angle and so errors in the data. It can be changed while the routine runs.

Max angle change
Figure 35. Max Angle Change.

11.3 The option LEDs

Error Message ON/OFF. With this on, a message interrupts the routine when:

  1. the probe missed the target where it should have touched. Click OK and the routine changes its assumed direction and looks for the part again, as if going around an exterior corner;
  2. the probe hit something during a clearance move. Click OK and it changes direction and works around the perimeter as if going around an interior corner; or
  3. the routine lost track of the surface. It tries to find it again in a couple of moves and then stops.

These messages are useful while you learn how the routine works, and give you a pause to assess it. With the option off, the routine just keeps going. It can be turned on or off while the routine is running.

Interpolate Corner ON/OFF. With this on, an estimated corner point is inserted at an abrupt change of direction (for example when the probe misses and turns around a corner), assuming that the corner is square. The DXF/CSV then has a better representation of the corners, which you can correct in CAD. With it off, only real touch points are recorded, which may leave corners under-defined. It can be turned on or off while the routine runs.

11.4 Surface (line) probing in XZ and YZ

These routines probe along a surface in the X/Z or the Y/Z plane. The buttons and inputs are very much like the XY perimeter routine (see above). The differences:

DXF data option
Figure 36. The DXF data option and XZ direction.

12. Rotary axis probing

The Rotary page has routines that are handy for setting up parts on a 4th (rotary) axis. Enable and set up the rotary axis in the Rotary Axis group of the General Settings window: Enable Rotary Axis, Rotary Axis Letter, Rotary Axis is Parallel With and the Rotary Tolerance (Hit/Miss). The routines assume:

Setup rotary centerline
Figure 37. Setting the rotary centerline.
Right-hand rule
Figure 38. The right-hand rule.

The routines rotate the rotary table (and move Z up and down if needed). X and Y stay as you positioned them (center the probe on the rotary centerline). They let you set the rotary angle to align with a feature on a shaft such as a keyway or ridge.

UCCNC setting Leave axis is rotary unchecked for the rotary axis in UCCNC (roll over on 360 is fine). With axis is rotary set, the axis does not respect feed rate commands and you may have trouble with the direction of rotation, as UCCNC always takes the shortest move.

12.1 Rotary inputs

Rotary probe move parameters
Figure 39. The rotary probe move parameters.

Rot Feed1, Rot Feed2 and Rot Clearance Feed are like Feed 1, Feed 2 and the clearance feed of the XY routines, but they are the tangential speed of the probe tip relative to the rotary at the current Z of the tip. Enter your native units per minute, not degrees per minute: the routines use the Z height of the tip (and Z = 0 at the centerline) to calculate the rotary feed. Feed 2 = 0 means no second slow hit. The clearance feed is used for transfer moves, such as moving sideways during the ridge routine.

Rot Probe Distance is like the XY probe distance, but in degrees of rotation: 90 lets the table turn up to 90 degrees to find an edge; if nothing is hit it stops and reports a miss. Rot Slow Clearance and Rot Backoff Clearance are in normal units (inch or mm); the rotation needed is calculated from the Z height.

12.2 Rotary routines

Rotary Side(s). Rotates the axis clockwise or counter-clockwise (depending on the button) and probes the side of a feature. Use it to make that feature vertical when the rotary DRO is set to a value you choose. With Offset Probe Tip by D/2 the tip moves off the centerline by its radius so that the wall can rotate fully vertical into the tip. Check Set Rotary DRO Value and enter a value to have the DRO set from the probing event.

Rotary side buttons
Figure 40. The rotary side buttons (CW and CCW).

Rotary Slot. Rotates the axis clockwise and counter-clockwise inside a notch such as a keyway, then rotates back to the center and sets the axis DRO if chosen. Lower the probe into the groove by hand, and set a Rot. Probe Distance large enough for both sides to be touched.

Rotary Ridge. Rotates the axis around a male key or tab and rotates back to the center, setting the DRO if chosen. Position the probe above the tab first. Set the Z Depth in the Z controls to how far down to go from the top. The routine probes down onto the top of the tab, moves to clear the tab by the Angular Clear. value, drops to the Z depth, and probes toward the outsides of the tab.

Rotary slot button
Rotary slot.
Rotary ridge button
Rotary ridge, with the angular clearance.

Rotary Roundness / Diameter. Sweeps the rotary clockwise or counter-clockwise over the Delta Angle: 180 for half a turn, 360 for a full turn. Over the sweep, Z probes down as many times as the # of Samples (18 samples over 180 degrees probes every 10 degrees). It then reports a measured diameter and roundness. The calculation assumes the axis centerline is Z = 0, so it is only as good as your centerline setup.

Runout and diameter inputs
Figure 41. Runout / diameter inputs.

13. Recording and saving data

ProbeIt records probing data to a CSV file (comma-separated values, importable to Excel), to a DXF file, or to both at once. Recorded files are saved in the output folder of the ProbeIt folder, for example C:\UCCNC\Plugins\ProbeIt\output\. A third option, PERIM, records a simplified X/Y/Z perimeter file that the 3D probing page can use as a boundary.

Files have no units The recorded files are unit-less. Values in a CSV and geometry in a DXF are numbers in your native units. If you probe a one-inch (25.4 mm) bore, you record a circle of 1.000 if UCCNC is in inches and 25.4 if it is in metric. Scale the file in your CAD or CAM program if needed.
The DXF and CSV record controls
Figure 42. The DXF / CSV record controls.

13.1 Choosing a format

Turn on DXF, CSV, or both. You are asked for a file name when you start; with both on, the name is used for both formats. Once the LED is on and a name is entered, you just probe: everything is recorded until you close the file. Record Perimeter captures the profile as data that the Surface / Grid Probing page can use as a containment perimeter.

13.2 Opening, discarding, closing and saving a DXF

13.3 Working with DXF data

The DXF format is standard and can be opened by any program that reads DXF. Geometry is drawn as points, lines, circles and so on. DXF files are suitable for VCarve and LightBurn: ProbeIt opens files exported from them and saves files they open. Layers and layer colors can be created, renamed, deleted and changed (see the viewer).

Perimeter probing creates a series of short line segments. A segment’s start and end points are the actual locations probed (as adjusted for the probe tip): the lines run along the true perimeter of the part and are not the center points of the probe ball. Occasionally, when a corner is found or missed during a direction change, the routine guesses and interpolates a corner point. These are drawn as small yellow circles whose center is the guessed location, and may need cleanup.

You can use the geometry to build better CAD geometry, join it into smoothed polylines, or import it into a CAM program to make cutting paths. You can measure by snapping circles and dimensions to the endpoints, or by curve fitting. Below, a recorded perimeter of an ER collet wrench: the red perimeter is many short segments, but the diameter is easily measured by building a 3-point circle that snaps to segments; the yellow circles mark guesses at abrupt direction changes.

Recorded perimeter in a CAD program
Figure 43. A recorded perimeter in a CAD program.
Perimeter segments zoomed in
Figure 44. Zoomed in, the perimeter is short segments (the center point is shown by the CAD program, not recorded).
Probed diameter shown in a CAD program
Figure 45. A probed round bore drawn in a CAD program.

13.4 Working with CSV data

The CSV format is tabular and can be opened in Excel. It works well for simple CMM-style inspection: the diameters and locations of a series of holes, for example. The plugin saves Filename.csv, where Filename is the name entered for the DXF. Each row describes the probe event with the numbers; the example is a bore measurement, then perimeter data. In the perimeter data, segments are short lines from a start point (Xpos1, Ypos1) to an end point (Xpos2, Ypos2).

CSV example, bore measurement
Figure 46. An example bore measurement in CSV.
CSV example, perimeter data
Figure 47. Example perimeter data in CSV.

The perimeter file (Filename_perim) is a very basic CSV with only X, Y, Z points and no header. It is meant to be opened on the 3D probing page as a perimeter that bounds a point-cloud routine.

14. GCode tools: editor, leveling, scaling

The GCode Tools tab has a full G-code editor and viewer. You can preview G-code files, edit them, and review the changes, and the toolbar has tools to:

Click a toolpath in the 3D view to select the matching line of G-code, and select a line to see it highlighted in the 3D view; selected moves show a direction-of-travel arrow, and hovering shows a preview highlight of the path under the mouse. Large G-code files load in the background without freezing the window.

The GCode Tools tab
Figure 48. The GCode Tools tab.

14.1 Editor customization

The text in the left panel can be edited by hand. Text colors can be customized in the color settings panel. The selected-line highlight color can be changed with the color picker.

Editor color scheme panel
Figure 49. The editor color settings.

14.2 Warp / Level GCode

The Warp/Level GCode button opens a form that lets you autolevel (“wrap”) your G-code onto a surface that is not flat. First you need a height map that covers the area the G-code covers.

Level GCode with Heightmap window
Figure 50. The Level G-code form.

Probing the height map

Use the Probe Heightmap settings to define a grid of points, and probe them for their Z values. Auto Fit Grid to GCode places a grid centered on the G-code with the spacing in Grid Spacing; you can adjust the Min X/Y, the widths and the spacing to cover the material better. Set the probe search distance and feed rates, and press Probe Map to collect the height map. You can also save a previously probed surface to an HMap file and re-open it later (use Save after probing, Open to reload).

Set Location for zero offset slides the height map up or down so that you can choose where zero is: move the machine to the location, press get location (or type X/Y), and press Set Map Height to zero at this point. No Z offset is applied at that point, and that is the place where you should then zero the bit before running the G-code. You can do this after loading or probing a height map, and save the map with or without the offset.

Once a G-code file is open and a height map is loaded (it must be 100% probed), you see the grid of points and the G-code together in the viewer.

GCode and height map loaded
Figure 51. G-code and height map loaded (isometric view).

Leveling options

When the options are right, press Parse and Level. It processes the G-code and puts the new edited file in the editor and viewer. Undo reverts to the code before the last leveling, so you can change an option and run it again. If you are happy with the result, save it to a new file, or use Send to UCCNC to send it directly to UCCNC. The original file is not changed until you save over it.

GCode leveled to the height map
Figure 52. G-code after leveling to the height map.

14.3 Scale / mirror / move / rotate

The Scale/Flip GCode button opens a form. Choose the operation:

You can choose the number of decimal places of the output G-code and whether to include a summary of the changes in the output. Press Scale/Convert to process; Undo reverts. Save the result or send it to UCCNC: the original file is unchanged unless you save over it.

Scale/Mirror/Rotate GCode form
Figure 53. The Scale / Mirror / Rotate form.

15. 3D surface and grid probing

15.1 XYZ surface / grid probing

The 3D Probing (Surface / Bed of Nails) tab holds what used to be a separate plugin, ProbeCloud. It probes the surface of an item to make a CSV text file of X/Y/Z coordinates, the usual “point cloud”, with a bed-of-nails style routine. Unlike typical routines it does not just do a rectangular grid: it can probe only the points inside (or outside) a perimeter you define. You can even probe a perimeter to a file and open it as the boundary. Features that help with thousands and thousands of points:

The rough steps:

  1. Place your item and set an X/Y 0,0 location. Ideally home the machine first, so you can return to the point if you lose your coordinate system or restart UCCNC.
  2. To define a containment perimeter, jog around the part, stopping at locations on its boundary, and press Save Point (F12). When done, press Save Points to New Perimeter and give it a name. A file name.perim is saved. (You do not need to jog back to the start: the last and first points are joined.)
  3. Define the GridMin/GridMax for X and Y, bounding your part and perimeter (exact values are not important, as points are filtered), and a stepover: the spacing between rows and columns. As it shrinks, the number of points rises very quickly.
  4. Use Make Grid (No Filter), Interior or Exterior to create the points, saved in a name.grid file. Once the grid file exists you are ready to probe.
  5. Fill in the settings below for your units and machine, then press Probe The Grid!
The 3D Probing page with the viewer
Figure 54. The 3D probing page.
Surface probing settings
Figure 55. The surface probing settings (values shown are for inch units).
SettingMeaning
Probe DistanceThe distance the routine attempts to probe in Z. The value is not important, as long as it is larger than the Z height of the part.
Safe ZA plane above your part. The tip retracts to it only when necessary (for example if it hits the edge of the part during an X/Y move).
Nominal Z retractHow far the tip retracts, nominally, from the surface after a Z probe to move to the next point. The plugin keeps raising and lowering it according to the slope of the surface.
Minimum Z retractThe absolute minimum retract. The plugin varies the retract with the slope, but never below this.
X/Y FeedrateThe feed for the X/Y moves to the next point, all done as G31 probe moves at this feed.
Z FeedrateThe feed for the Z probe move (sampling the surface and recording). All Z moves are G31 probe moves at this feed.
Hit Count / Start PointThe starting point used at the start of a run. It increases with each point recorded, so you can stop and restart. To start over, set it back to 1 before pressing Probe The Grid!
Update Plot during probingPlots the points in green as collected. Turn it off if the number of points is large (more than about 10,000), as the screen update slows the probing.
Log GCode MovesWrites fname_gcode_log.txt to the output folder, logging every GCode command sent to UCCNC. Only needed when debugging.
Write File Data while probingWrites fname_out.txt, a comma-delimited file of the X, Y, Z points for your CAD or meshing program (for example MeshLab). Leave this on unless you are only testing.
Probe The Grid!Starts the routine; the button turns into STOP. Press it to stop or pause, and again to restart. The routine runs until it is stopped, all the points in the grid file are collected, or an E-stop or feed hold occurs.
Miss Tolerance, Hit ToleranceIn your length units (the numbers shown are for inches; keep them small). Miss tolerance: the probe did not hit an object on a move where it was not supposed to (such as moving in X/Y to the next point). Hit tolerance: the probe hit an object on a move where it was supposed to (such as probing in Z to the surface).

Your settings are saved with the main settings, using Save Settings.

15.2 Rotary surface / grid probing

Rotary grid probing creates a point cloud using the rotary axis. It is much like the XYZ routine, with these differences:

  1. The grid is computed from slightly different inputs. Enter an approximate diameter at which to calculate the grid (for the display, and to calculate the rotation angles that give your stepover at that diameter).
  2. Enter a start angle and a delta angle to sweep over; delta angle = 360 is a full rotation.
  3. The rotary grid cannot be bounded by a perimeter: it is a rectangular grid wrapped on a cylinder, based on the stepover and the approximate diameter.
Rotary grid settings
Figure 56. The rotary grid settings.
Rotary grid, starting at 0 and rotating 120 degrees
Figure 57. A rotary grid starting at 0 and rotating 120 degrees.

16. Email and text messages

ProbeIt can send an email or text message on errors or when probing finishes successfully. Open Settings / Help → Email Setup….

The email password is not encrypted The server login and password are stored as plain text in the settings file. With a Gmail account you must use an “app password” (or allow less secure apps, if your account still has that). I recommend setting up a spare “junk” email account for this feature. The email account and password are left out when you save the settings as defaults.
SettingMeaning
Enable sending email/text msgTurns sending on or off.
Sender’s mail serverThe SMTP server to send through, such as smtp.gmail.com.
SMTP account loginThe account, usually your email address.
SMTP account passwordThe password (or app password) for that account.
PortThe mail server port. 587 is typical.
Recipient’s ten-digit phone number, Recipient’s cellular carrierProbeIt only sends email, but you can text yourself through your carrier’s email gateway. Enter your number and pick the carrier from the list (for example @tmomail.net for T-Mobile), then press Set Text/Msg Address to fill in the To Address automatically. If your carrier is not listed, ask your provider for its gateway address.
To addressThe address to send all messages to: a normal email address or a phone-number gateway address (8881234567@tmomail.net, for example).
Subject, MessageUsed only by the test message.
Send Test MsgSends a test. You get a success message, or error information that points to something wrong with the server settings or login.

During probing a message is sent if the target is missed and probing stops, the probe sticks on in the triggered state, an E-stop or feed hold happens, or the probing completes successfully.

The Email Setup window
Figure 58. The Email Setup window.

17. General settings, defaults and backups

Open Settings / Help → General Settings…. The window has collapsible groups (click a group’s heading to open or close it; ProbeIt remembers which are open):

The General Settings window
Figure 59. The General Settings window.

17.1 Saving settings

Use Save Settings to save all of the settings (every check box, number box and text box, and which groups are open) to the ProbeIt.xml and ProbeItViewer.xml files in Plugins\ProbeIt\Settings\. If Auto Save on Close is on, they are saved when ProbeIt closes. Settings are written safely (to a temporary file that is checked before it replaces the old one).

17.2 Defaults

The starting values are built into the plugin, one set for inch and one for metric (the viewer’s grid and marker sizes follow your choice). Set Defaults INCH and Set Defaults MM in the Probe Settings window load them again. Save current as defaults… asks whether the current values are inch or metric and writes the current main-window and viewer settings (without your email account and password) to Settings\Defaults\; those files then replace the built-in values for the Set Defaults buttons and for a new install. Make sure the values really are in the units you choose.

17.3 Backups

Whenever a settings file is about to change, ProbeIt keeps a copy in Settings\Backups\ (the newest 10 of each file are kept). Restore from backup… lists them and puts one back. If a settings file cannot be read when ProbeIt starts, you are offered the newest backup; if you decline, the defaults are used and the damaged file is not overwritten by the close-time save. A line is added to Settings\SettingsLoad.log for each settings load, and for every value that could not be applied: look there first if a setting does not stick.

18. Troubleshooting and FAQ

How do I stop a running probe event?

Press Abort. It halts any running routine, the basic XY routines and the perimeter routine included. If things are really going wrong, press the E-stop; you can always restart your probing after a reset.

I stopped in the middle of recording a perimeter but I was not done with the part. Now what?

If you are licensed (or still within the demo limits), you may stop and restart the perimeter routine as often as you need and keep recording to the same DXF or CSV file. You can mix XY routines with perimeter routines in one file; change stepover and backoff for more precision in some places and speed in others; and recover from an error where the routine lost the part or got hung up on a difficult spot. The recorded data has a broken line where the routine was restarted. It is easily fixed in CAD, as there are points at the line ends to join.

Can I change the perimeter probing feed while the routine is running?

Yes. You can change the probing feed and the max angle change at any time. To change the stepover, backoff or other values, stop the routine (Esc), change them, and restart. It would be too risky to change the others on the fly, because they are used to determine the probe positions as it goes.

The routine stopped when I used another program.

This is the focus limitation (section 2.1): UCCNC jogs only while it has keyboard focus. Do not multi-task while a routine runs.

The Probe LED does not light, or is already on.

Check the probe wiring and the probe input setup in UCCNC. Do not run a routine until the LED turns on when you trigger the probe by hand and off when released.

A button picture is missing, or the plugin reports a missing file.

The button and LED pictures are loaded from Plugins\ProbeIt\Images\. Re-run the installer to put them back. You can also replace them with your own pictures of the same name.

A setting did not stick.

Look at Plugins\ProbeIt\Settings\SettingsLoad.log (section 17.3), and use Restore from backup… if needed.

Appendix A: version history

VersionNotes
2.400Windows installer and this HTML manual; inch/metric defaults and a first-run units dialog; Probe Settings, General Settings, Email Setup and About as pop-out windows; settings saved safely, with backups and Restore; viewer with selection, Delete / Undo / Redo, Box Select, Draw Line with snap, Move to layer, a viewer settings window and sliding side panels; G-code editor click-to-select and direction arrows. Layer names are kept unique (a damaged DXF with repeated layer names opens and is corrected, and Save refuses to write one), an active layer is always selected for recording, and windows snapped to the main window move with it. The version for UCCNC 2.2116 and later.
2.203 / 2.300Dual release for UCCNC 2.2115 and earlier / 2.2116 and later. Forms are kept on screen; view form remembers its panels; DXF fixes; G-code scale/convert feed rate decimals; perimeter routines no longer hang at the maximum point count.
2.2xx2.200: the G-code editor / viewer, scaling, rotating, auto-leveling. 2.201–2.202: bug fixes, jog probing fixes.
2.1xxNew screen design, buttons and LEDs as external images, dual-speed calibration tables with interpolation, check online for a new version, pop-up result box, simple Z probe.
2.0xxOpenTK 3D viewer, DXF layers and colors, rotary axis support, status and measurement box, secondary (Calibrate #2) routine.
1.xxxInitial releases: XY routines, ProbeCloud surface scan, XZ and YZ tracing, corners, DXF open/append, 3D viewer.

The full list of changes for each version is in README.txt, installed with the plugin.

Appendix B: where the files are

ItemLocation (in the UCCNC folder)
The pluginPlugins\ProbeIt_UC.dll
Window-snapping helperMagnetWindows.dll
Button and LED picturesPlugins\ProbeIt\Images\
This manualPlugins\ProbeIt\Manual\ProbeIt-Manual.html
Settings (main window, viewer, G-code leveler and scaler, window positions, backups, log)Plugins\ProbeIt\Settings\
Saved defaults (override the built-in ones)Plugins\ProbeIt\Settings\Defaults\
G-code editor colors and machine filesPlugins\ProbeIt\Settings\EditorData\
Recorded DXF / CSV / perimeter / grid filesPlugins\ProbeIt\output\
Sample G-code, height maps and recordingsPlugins\ProbeIt\Gcode\ and Plugins\ProbeIt\Output\sample output\
License agreement and install notesPlugins\ProbeIt\PIT_EULA.rtf, README.txt

ProbeIt for UCCNC is copyright CraftyCNC and E. Brust. ProbeIt and CraftyCNC are in no way affiliated with CNCDrive or UCCNC.