DIY CNC Z Probe for Use With G-Code Ripper

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. )

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Meatless Challenge

      Meatless Challenge
    • First Time Author Contest

      First Time Author Contest



    3 years ago

    Please what do you means by z delta and xyz deltas


    Reply 3 years ago

    Delta, as in subtracting the probe position from your bit position. For my case above, from the probe to the spindle is +3.83" in the X direction, and -2.28" in the Y direction. For my router pictured above, +X is moving to the right, +Y is moving away from the camera, with the spindle closer (-Y) and to the right (+X) of the probe. (For GCR, I had to figure this out the hard way.)


    Reply 3 years ago

    Vestus you are great. If you care am fiar away in nigeria. Am also cnc enthustiast . Please do you known what the clicking of z switch does in the software. Have actually check Scotch python source code I can't figure out the bilinear mathematics.. If I can get the simple mathematics formula I can incorporate to source that am trying to write for diy CNC. Thanks in advance


    Reply 3 years ago

    For Mach3/LinuxCNC it just triggers the depth probe input. Usually that's a input line that makes connection to the grounded spindle/frame, but the switch grounds the input line directly. Don't know the math, but perhaps Scorchworks can help you with that as they took it from another project.


    Reply 3 years ago

    I greatly thank you for your quick response. I will try to contact Scotchworks. Once more thank you


    3 years ago


    Penolopy Bulnick
    Penolopy Bulnick

    3 years ago

    I love the celtic designs you carved :)