Setting up touch plate

Hi Everyone,

I am going to setup a touch plate on my mpcnc, this is all new to me so I don’t understand a few things. When you setup the touch plate on your control board and you test to make sure the signal is being triggered, what are the next steps? I have seen quite a few videos of others setting up touch plates but they never tell you what needs to be done next.

I am using estlcam and repetier, but what and where are my next steps. I know I have to measure the thickness of my touch plate which makes sense, and put that info somewhere but where? Can someone please explain this info to me, I would like to setup the touch plate tomorrow when I get home from work.


The usual scenario is to put g-code somewhere that handles your touch plate. From the V1 store for there touch plate (which is 0.5mm thick), here is some g-code:

G28 Z       ;  Home Z
G92 Z0.5    ;  Set current offset to 0.5 for Z
G0 Z5 F480  ;  Lift Z to allow touch plate to be removed

You have to be a little careful here in two respects. First, the line that sets the Z height must be higher that the thickness of your touch plate. The Z5 is not a relative coordinate, so if your touch plate was 32mm tall, you would want something like Z36. The second issue is how this code integrates with your process for doing a job. For example if you have start code that zeros the axes, something like G92 X0 Y0 Z0, then you will need to bring the router down to Z=0 after homing Z and removing the probe. This can be part of Z homing script using an M0 to prompt, or you can do it independently, or you can just not zero Z as part of your job start.

As for where to put the code, you can:

  • Attach it to one of Repetier’s custom buttons.
  • Author it in a file and run it like any other file
  • Modify the V1 custom menu and reflash the firmware

The last assumes you are running in Marlin mode.

1 Like

Thanks Robert.

I have seen some videos where the Z comes down and touches the plate, then when Z goes back up it moves to the side of the touch plate (X) then it touches the front (Y) then it moves back to the top. In our scenario we are only dealing with the Z (up/down) and nothing more?

You can see my confusion here since I have been trying to get this thing figured out.

Those other moves are accomplished with G38.w [X, Y, Z], w=1,2,3,4.
See here for marlin documentation :

You can also set the z=0 this way, in case you want home to be up, for example, but zero to be down.

I’ve learned most of it in grbl because there were some issues with marlin implementation a while ago (probe wasn’t so useful for printing, just setting z home as 0). Those may have been fixed, but I don’t know that marlin has any features I want over grbl, so i haven’t bothered to switch back (i run from a networked computer, so headless opration isnt interesting).

Also, there was an issue with marlin that may or may not have been resolved using the z min as probe. Latest in the code I think you have to set the probe pin, and the prepared option (i.e. Commented out unless you need it) of “use_z_min_as_probe” or whatever didn’t respond to probe input, at least not for g38 moves. Setting the pin explicitly to whatever pin z_min uses DID work, though. Again, maybe it’s been fixed by now, but worth keeping in mind JUST in case you get that far and it doesn’t work.

I did have g38 working on x, y, z on my lowrider, it just turns out that x, y wasn’t particularly useful because we generally place stock in known locations. After I switched to grbl, i did use it to locate the center of a hole. That was cool.

1 Like