Cheap Film Touch probes for easy Z-axis zeroing

I’ve read several posts about issues setting the Zero position on the Z-axis, especially during tool changes. I think the current solution involves a plate of steel and an alligator clip attached to the bit, but there are some issues with grounding and the Z-axis motor. Anyway, I bought a cheap 3D printer that I ended up returning, but it had a neat method of autoleveling the build plate. It had a touch film sensor you attached to the control panel and placed on the print head. The program would lower the printhead until it made contact with the print surface, which put pressure on the sensor and was detected by the arduino and the printhead stopped and it set that as the 0 height for that position. I’m thinking we could use these to set the 0 point on the Z-axis easily and inexpensively. I have ordered one from Amazon, but I don’t want to start working on code changes to Ground Control or the Firmware if @bar has already found a solution. I’m a decent python developer, albeit not familiar with the UI framework Ground Control uses, so if you want handle this and have me assist with any of the coding work, let me know.

Anyone already done this and I missed it? If not, I’ll document my progress and maybe make tool changes a bit less of a pain.

Another thing that 3D printer had that I liked was a limit switch. I’d like to get that integrated as well, so when your Z-axis is a high as it can go (I have a long bit that can only go 2mm above 0-position) it won’t keep trying to turn it, it will set that as MAX_Z_POS and replace and all Z values above that with MAX_Z_POS so it doesn’t mess up the Z axis motor.

Comments, suggestions? Oh hey, we all ready did that look over here? :wink:


Just wondering what the problem is with the curent method? I haven’t had any problems so far and i use it every time. All you need is some wire and a piece of metal.


Probably just not found. See Looking for bit swapping tips

The only difference between this and the previous is the conductive material used, film vs. sheet metal. For us, sheet metal probably makes more sense: it is more durable and easier to slide under the sled.

I haven’t used the current method, but several people mentioned they had grounding issues. Also, this is a lot cheaper for those of us who don’t have sheet metal lying around.

No, I definitely saw that. (This post is linked from a comment I left there.) I just want to provide alternatives in case some people (like me) don’t want to use the sheet metal and clamp method.

IDK, change out of tool bits has never been an issue for me. I have done them in the middle of a long program run (broken bit) and between runs. Maybe I am doing something wrong???

I do agree that a vertical stop top prevent damage to the router from over movement would be a very good add on.
I would also be interested in an active “Z” position feedback into GC from direct “Z” movement of the router.

When I do a tool bit change out, I confirm the Z “zero” of the bit using the side (edge) of a 12" long metal ruler (straight edge). It only requires me to tilt the sled enough to slide the ruler across the bottom of the sled and pass over the tool bit.

The basic steps I use are:
{Pause GC G Code program, if not changing between program runs}
{Turn the router off and unplug it before attempting any tool bit change out}
1). Open GC “Z” controls and select “go to zero” before removing the bit.
2). Remove the router from the sled and replace the tool bit.
3). Re-install the router and check current tool bit location to the ruler edge. (guesstimate the amount of adjustment needed)
4). Adjust using the GC “Z” fine setting until the tool cutting tip just scrapes the edge of the ruler.
5) When the tool just clears the ruler edge, I use GC to “set zero”.

If I am doing something incorrect, please let me know.

1 Like

Guys, I’m not saying the current way is “wrong”. If you like chocolate ice cream and I walk in to Salt&Straw and order strawberry balsamic with black pepper, it doesn’t mean chocolate is wrong, it just means I my opinions are different than yours.

My background is in 3D printing, not CNC, so the more similarities I can make in this workflow to the one I’ve been doing so long it is habit, the better it is for me. If you’re using a metal ruler and that works for you, awesome! However, my personal preference is to use the touch sensor like the one I use to level out my 3D printer because that process is already familiar to me. I get that some people prefer the current way. That’s what makes the community so great, everyone can contribute their own ways of doing things and new people can pick the way that works for them… or make up their own!


I’m not saying you are wrong, i’m just wondring where you read that people have grounding issues, i just found some posts of people saying that there might be grounding issues before the thing was tested.

I’m really currious what solution is cheaper or easier then a €1 metal ruler, a small crocodile clamp and 2 meters of wire?

Again, I’m not saying you’re wrong, i just really believe in kiss and strawberry balsamic isn’t the simplest solution :wink:

I’ll try to get some pictures of my solution later this week. (And by that i mean, i’ll probably forget all about it by tomorrow morning, feel free to remind me :slight_smile:


they are both touch sensors.

but in the traditonal CNC world (including 3d printing) the head is positioned
relative to the base of the machine, so you want a non-contact or very thin
thing to touch off of.

With the maslow, the zero reference is the bottom of the sled instead of the
base of the machine. As a result, the touch-off can be against metal of any
thickness and the resulting position is exactly the same.

As such, the KISS method is to have a ground on the router, and then have a lead
that connects to a convienient length of flat metal and use bit to touch.

film is more fragile. It does avoid having the sensor go through the router
bearings, but that’s pretty reliable.

David Lang

1 Like

Is there a chance to add an offset value? I don’t see the need really to slide something under the sled.
If my sled is 18.12mm then I could add that value to be considered by the software and it would give me a chance to test with touchless induction rings and who know what.


I don’t have that much clearance on my router (the Bosch one). I think it would be quite hard to put any more stuff in between the dust removal and the router and the sled. I really like the idea though!

1 Like

youdon’t want to put anything between the router and the sled, the 0 point if
the bottom of the sled as it rides on the workpiece. That’s where you want to

I do.

Agreed and there are options to find that.

Edit: I am looking into 0 interaction z 0 options.

Edit2: I just realized that is already possible with the Z menu to set 0 and then move the Z and set 0 again. I will close the ‘issue’ on git when I’m back in the office. (workshop/Maslow room)

Are you in Portland? :grin:

I think this is a great idea and would love to see it supported :+1: :+1:

1 Like

@bar "are you in Portland? "

Indeed, I am. And that strawberry balsamic with black pepper is banging! :grinning:

I am going to spend some time working on this the next few weeks and I’ll let you know my results.

I’m also moving from the Ridgid to the Bosch due to the fact that Ridgid will not sell me a second base so that I can leave one on the sled and have a second with handles on it ready to drop the motor in when I want to do some hand work. So @HansPeterHaastrup I’ll be working with that router as well, so my solution should work on either.

The Bosch, I can get spare bases for days! So unless I have any issues I’m returning the Ridgid and getting a second base for the Bosch.

I’m glad I found such a cool and active community for my first CNC experience.

1 Like

The Bosch I got has a trigger on the handle. I was a bit worried at first, but after taking it apart, I’m thinking I might be able to hook that circuit into the Maslow board and have it turn the router on and off. I have it attached to the sled now. It uses the same hole pattern as the Ridgid, so swapping it out was trivial. I’m a bit worried about the slider for the ring hitting the handle attach point when at the extreme left of the cutting area, but once I’m sure it works and I have bought a second base, I may angle-grind that down a few mm so the slider will pass by without hitting it. I had to reverse the Z axis for the Bosch as well. Tomorrow I’ll try a test cut and then once that’s done, I’ll start looking into automating turning it on and off and the auto-zeroing the Z-axis.

I’m wondering which bosch you have, it’s not the pof 1200 is it? I thought they were not available in america.

It’s the MRF23EVS

And for future reference the Z-axis pitch setting I’m using for this router is -1.588

Another thing that 3D printer had that I liked was a limit switch. I’d like to get that integrated as well, so when your Z-axis is a high as it can go (I have a long bit that can only go 2mm above 0-position) it won’t keep trying to turn it, it will set that as MAX_Z_POS and replace and all Z values above that with MAX_Z_POS so it doesn’t mess up the Z axis motor.

This is a good idea that should be added: software defined Z Axis limits for both + and - heights that will notify/alert ahead of program execution. Along with warnings for X/Y out of bounds if not already there.


The auto-zero works with this method! I just slide the probe over the end of the bit and run the macro for autozero and it worked great! Now my only issue is with clearance of the ring and the Bosch sleeve lock. It fits when closed, but then the motor can’t change the Z-axis. Going to try to take it off completely.

1 Like