Introduction: DIY CNC Z Probe for Use With G-Code Ripper

Anyone V-carving knows that every minuscule difference in lumber height is magnified. Mildly uneven pieces come out correct on one side and hardly touched on the other. (If my math is right, 1/16" difference in height results in 1/8" wider top edge.)

Enter G-Code Ripper by Scorchworks - He's created free software to take height maps and proportionally modify g-code to match. Works with both LinuxCNC and Mach3/Mach4.

Unlike the usual connected touch plate, this needs a resettable probe. Digitizing probes are available on Ebay, but they run $100-300.

This project is an attempt to create a cheap but viable Z probe, and get it to work with Mach3 and Gcode-ripper.

Step 1: Basic Layout

This proto is comprised of the following parts:

  • 7"x4" plywood.
  • 3/4" x 2" x2 wood blocks.
  • Microswitch (uxcell G5T16-E1Z200) + wiring
  • 1/4-20 x 6" bolt with the head removed. (Best of luck finding a straight one.)
  • 2x jam nuts
  • Lightweight spring, 3/4"x3/8"

Basic plan:

  • Drill 1/4" hole in two blocks. They need to be parallel so that the bolt slides without binding, so I drilled them at the same time.
  • Cut the hex head off the bolt, insert into the blocks, and glue to the plywood. Make sure the bolt moves freely. (Edit: It helps to drill the upper hole oversized and/or file it out a tiny bit to accommodate any bend to the bolt, or it may bind.)
  • I slit the end of my blocks with a band-saw and added screws to eliminate the play. This really wasn't necessary as it only moves in one direction.
  • Mount the micro-switch and wire it to connect your probe input to ground.
  • Thread the spring and nuts on the bolt, adjust to reduce the amount of travel necessary to probe.

Then attach temporarily to the spindle. I used six 1/4" neodymium magnets from Michaels and HomeDepot ($5).

Step 2: Setup

G-code Ripper requires minor setup to generate a proper map.

As my probe mounts to the back/left of the spindle and is about 1" longer than my V bit, my Ripper offsets were as follows: (Think of the offsets as distance of the spindle from the probe. )

  • Probe X Offset: 3.83
  • Probe Y Offset: -2.28
  • Probe Z Offset: .86

To find the Z delta, I followed these steps:

  • Zero the bit
  • Change to offset B (G58), zero the probe and go to zero.
  • Change back to A and the Z coordinate should give your Z delta.
    If you have a touch plate of any thickness you need to add this to your Z delta. Its easier to just leave the plate in place and zero to the same location.

Step 3: Running

The process is fairly straight forward:

  • Find your X,Y,Z deltas and save them off. (These don't have to be to the thou.)
  • Load your carve file in Ripper
  • Fill in the deltas and save the probe gcode file.
  • Load probe file in Mach, specify your probe data file when asked.
  • Zero your bit and set your origin.
  • Attach your Z probe.
  • Run the probe sequence
  • Switch back to Ripper and load the probe data
  • Save G-code file Adjusted
  • Load Adjusted into Mach and cut your part.

There are (of course) complications.

  • A z probe needs to be lower than the bit, which makes it difficult to zero the bit.
    My probe is .83 under the bit, so I used a 1-2-3 block to zero a bit high, then adjusted my Z down an inch.
  • Ripper wants to do edge-to-edge, so my hold-downs are in the way.
    Easiest fix was to put my origin in the center of the piece.
  • My hold-downs stick up too far and risk breaking a bit as the probe jogs around.

Step 4: It Works!

I've been experimenting with shou sugi ban (burned wood) but it tends to warp the wood due to heat and stress. This scrap piece was 1/16" higher in the middle, which would result in a 1/8" wider v-bit cut.

Measuring with calipers shows no discernible difference in cut width.

(Also made a second copy with a better microswitch. )