View Full Version : Any ideas or thoughts on making a edge finder come touch off tool

12-03-2014, 11:31 PM
Just to say tar very much to you members that have helpedwith various things I now have my mill going and am very pleased with it.

I think my next project other than learning more about Mach 3 will be to make atouch of probe that will double up as an edge finder I have a female socket inthe control box already wired into the break out board.

It would be interesting to see what you guys think or if you have seen goodones. I donít want a laser pointer kind of set-up. I donít want to buy a cheap Chinesething of eBay I would rather go to the effort and make a nice one. After all Ihave the female and male socket plus some off-cuts of wire!

All the best


13-03-2014, 12:41 AM
I have got some Quantum Tunnelling Compound pills. These are basically 3x3x1 mm pieces that look like black rubber, but when compressed they change from an insulator to a good conductor with a sharp transition, when I have the time I am going to play with making a touch probe with them. I am intrigued to know how sensitive and accurate they will turn out.


13-03-2014, 12:47 AM
What do you want to do.? Just find the edge and surfaces of parts or full 3D touch probe.?

Edge and surface is very easy and requires nothing more than a wire and conductive plate. 3D touch probe requires more work and often work differant regards how they sense the touch.
Simple plate wire plate setup "makes" the circuit so it goes active when High. Most touch probes work opposite and go active when circuit is "broke" or Active low.
Depending on your setup and control software then often the Probe input pin needs to be setup one way or the other so mixing both is a pain.
I practice you'll find the simple plate wire setup more useful has it saves so much time when finding edges and esp when setting material surface or Z height.
I use my plate setup on every single Job and couldn't live without it but can't remember the last time I used my touch probe.!!

13-03-2014, 09:00 AM
I have a simple brass block with an acrylic piece bonded to it to insulate it from the workpiece. The acrylic and brass were trimmed in the lathe and then the faces of the acrylic and brass were turned parallel. the brass has a 4mm hole in the side for a banana plug to connect to the touch probe input. Mike up the block and that is the tool height offset for Mach3. The BOB has a 10k res to 5v to keep the probe input high until the tool grounds it. A simple macro in Mach3 and I have a tool height setter that is one of my cheapest and most useful accessories.

13-03-2014, 10:30 AM
I use both a 3D touch probe and touch plate i.e. both of the methods Jazz describes. I have a mini toggle switch rigged up to switch between the two circuits, but it does mean going into Mach3 to change from active low to active high depending on which one I am using.

I would say the 3D probe is more convenient once its in the tool collet as my machine laying flat means I would need arms 6 feet long to click the probe button and hold the plate to the part. That said I have had to use the touch plate only and it works fine as its very simple and I still use it to set my tool height.

The 3D probe also gives you the option of "scanning" objects into MACH3/CAD (or it would if I find time to work out how ;-) ).

Clive S
13-03-2014, 10:46 AM
I have a mini toggle switch rigged up to switch between the two circuits, but it does mean going into Mach3 to change from active low to active high depending on which one I am using. Surely there must be a way with a simple transistor so as with the switch the probe would give out the correct level o/p. Or am I missing something? I can hear Irving's brain working in the background:saturn: ..Clive

13-03-2014, 11:12 AM
Click, click, durr :witless:


13-03-2014, 01:35 PM
For 3D work these probes are great and inverting the signal is easy enough but just for every day use for setting Z height etc then it becomes a pain swapping out the probe.

Like I say it depends on what your wanting to do and how you use your machine.
For instance routers tend not have tool holders that can be set off the machine so can't use tool offsets. In this case the simple touch plate is great because you fit the tool and probe with the tool for each tool change. You can also use the tool for finding edges etc by putting plate between if non conductive material.

Mill's on the other hand tend to work with holders and can use tool offset's so after initial setting of material height the touch plate isn't so important. It can still be used for edge finding etc same as above.

So IME I find the plate much more useful than the 3D probe. It is possible to permantly fit and offset the 3D probe but would need careful setup and offsets applied thru scripts etc so not exactly simple.

13-03-2014, 10:19 PM
Hi Rob,
Very best of luck with that it sounds complex to me! I shall go for something basic.
All the best

13-03-2014, 10:27 PM

Thanks very much for your help here again with your posts. Yes, I just want tomake a tool to find edges and surfaces of stock perhaps later a center finderfor holes but nothing more at this stage. I am using Mach 3 by the way I justwant something for ease accuracy and to save the eye squinting / problems Icould run into.

Thanks again


13-03-2014, 10:32 PM
Hi cropwell
The tool you have and what you say makes sence many thanks for your help and the info. I hope to make the little tool soon, should be good I hope!
Many thanks

13-03-2014, 10:38 PM
Hi Washout,

Many thanks for your help. It sound like you have a good size machine and I seewhy you would need long arms!
I shall just make a little touch plate to start with and see what trouble I getinto with that. I think that will be ample for my need at the minute.

All the best


17-03-2014, 07:33 PM
Hi Guys,
I am back again in need of a bit more help on a zero out tool come edge finder.Thanks very much for the help already. Here is a pic of a male connector I wantto use it is 6 pin male, I have the female in my control box wired up.
I was thinking of using a banana plug as suggested, I hope that would allow meto switch between tools physically and when using mach 3.

I am stuck on what spec wire to use and is single core suitable?
Also can some help me write a macro or point me in the right direction? I wouldnot now where to start. I am still trying to learn the G code! I have got mymill going well I am cautiously cutting squares in a piece of Perspex.
I look forward to seeing what you guys can help me with as I know you give goodadvice.
Many thanks

17-03-2014, 08:05 PM
Don't use single core, it'll fracture eventually. Depending on how many cores you need, any lightweight signal cable/hookup wire will suffice, 7/0.2 or 16/0.2 (strands/cross-section in mm^2), or bit of overkill, some spare CY.

17-03-2014, 08:18 PM
The wire I use (simply because I had it spare) is a grounding wire from an anti-static wrist strap. It has a banana plug pre-moulded on it and is the extra-flex type with a very flexible silicone rubber sheath. If you make a tool height setting block, let me know and I will send you the Mach3 Macro and some instructions on how to adapt it for your own needs. I did not write the macro, just furtled it a bit. I might just post it on the forum, but don't hold your breath, I've never been so busy since I retired.
BTW, you need to check that the tool in the spindle connects through to ground on the BOB, otherwise you will need to put a croc clip on it with a connection to the BOB ground.

17-03-2014, 08:18 PM
Hi irving2008,

Many thanks for the reply I have goggled CY cable so OK there thanks. The thingis how do I determine how many core I need. I am sorry if I misunderstandmatters but do you mean don’t use a single core cable for strength reasons,perhaps I still use just one cable core for the circuit?

Many thanks

Kind regards


17-03-2014, 08:24 PM
If you only need one connection you need use only 1 core of a multicore like CY. The confusion comes from the loose use of the word 'core'. Technically 'single core' means 1 wire, stranded or solid. if its solid its 1 strand, so you can have multi-cored solid cable (phone cable being a good example) which is fine for static use.

17-03-2014, 08:39 PM
Hi irving, thank you for your msg. I think I see what you mean about stranded and single core. I just need to find out how many conections I need to make in the male plug.

Many thanks


18-03-2014, 05:11 AM
If I understand what you're proposing you only need 1 connection so you need only wire up one core of a multi-core cable, however I'd do at least 2 for resilience. In this situation I'd use a cable that fits the cable restraints in the connector for mechanical stability. I only suggested CY if you had some left over from wiring up steppers or vfd, I wouldn't buy it specifically for this.

18-03-2014, 10:27 AM
Have a look at these files.
Copy the code below into your clipboard.
Graphic 1 is the Offsets screen where you put in the plate height, in my case 23.97mm
On the main screen as shown in graphic 2 it shows the drop down 'Operator' and from that list select 'Edit Button Script'
Various buttons on the screen will flash, Click on 'Auto Tool Zero'
a window will open and whatever is in it select it all and paste over it with the clipboard contents from step 1. This is shown below. File, Save and Close the Script window.
'Tool Zero Setting Macro

' Change the following three lines to suit your machine
PlateThickness = GetOEMDRO(1001) ' Thickness of touch plate - leave this line, it is the value in the gage block height
RetractClearance = 10 ' Clearance above touch plate to retract to
ProbeFeed = 20 ' Feedrate to use for probing

' Define some constants
ZDRO = 2 ' Z Axis DRO
AbsoluteModeLED = 48 ' Absolute Coordinate Mode LED
IncrementalModeLED = 49 ' Incremental Coordinate Mode LED
FeedrateDRO = 818 ' OEM code for feedrate DRO
ProbeLED = 825 ' OEM code for probe input LED
ZTouchDRO = 2002 ' OEM code for DRO that holds Z touch position

' Do nothing if probe is already grounded
If GetOemLed(ProbeLED) = 0 Then

' Wait a few seconds for user to get touchplate in place
Code "G4 P2"

' Save current feedrate
CurrentFeed = GetOemDRO(FeedrateDRO)

' Save current coordinate mode
AbsMode = GetOemLED(AbsoluteModeLED)

' Set absolute coordinate mode
Code "G90"

' Zero Z DRO
Call SetDro (ZDRO, 0.0000)

' Pause for DRO to update
Code "G4 P0.5"

' Do the touch move
Code "G31 Z-20 F" & ProbeFeed

' Wait for it to complete
While IsMoving()

' Delay a bit for
Code "G4 P0.25"

' Get the Z position where probe input triggered
ZProbePos = GetVar(ZTouchDRO)

' Go back to touch position (G31 backs off after touch)
Code "G0 Z" & ZProbePos

' Wait for it to complete
While IsMoving ()

' Set Z DRO to touch plate thickness
Call SetDro (ZDRO, PlateThickness)

' Pause for DRO to update
'Code "G4 P0.5"

' Retract Z to SafeZ, if enabled, else to RetractClearance above plate
If(IsSafeZ() = 1) Then
SafeZ = GetSafeZ
If SafeZ > PlateThickness Then
End If
RetractHeight = PlateThickness + RetractClearance
Code "G0 Z" & RetractHeight
End If

' Tell user we're done
Code "(Z axis is now zeroed)"

' Reset feedrate to original value
Code "F" & CurrentFeed

' Reset coordinate mode to original value
If AbsMode = 0 Then
Code "G91"
End If
Code "(Z-Plate is grounded, check connection and try again)"
End If

Exit Sub

I have assumed a certain level of knowledge of Mach3 and Windows.
Remember you have the emergency stop if you think it is going wrong when you test.

Best regards,

Rob Townshend

I still remember what it was like when I was first learning Mach3 and CNC

18-03-2014, 10:30 AM
Don't forget you will need to set up Mach 3 to respond to the touch probe input. Let me know if you need the details of setting that up.

18-03-2014, 11:26 AM
Morning Rob,
Just a msg to say thank you ever so much for the detailed previous post it was very kind of you to go into so much detail and offering to help. I will msg you.
Thanks Suesi

31-12-2019, 09:11 AM
I have only used the basic z height gauge that came with my chinese router a few years ago, but have been looking at a better alternative.
Not sure I have found it yet, but I am looking at how Avid CNC ( Formerly cncrouterparts.com ) impliment XYZ zeroing..
I will use their amch 3 code but make the touch probe myself.
That might be usefull to you?
I'm going to make it in 2 parts, a top and bottom sectionand they will 'lock in alignment'. Bottom will be plastic with 2 raised sides for edge finding and the top will be Ali with a 4-5 mm pocket milled in it. ( hard to explain here and I don't have a pic atm. )


31-12-2019, 12:53 PM
I'd be interested in your results - if you can post a follow-up. I'd be slightly concerned with using Ali for the insulating properties of it's oxides (in normal use you'd nickel plate Ali for electrical contact work) - but I'd listen to experience over theory on this any day.

31-12-2019, 01:29 PM
This application is fairly high impedance so I think it might work without problems. If not then the tool will just keep going until it barges it's way through the oxide to a nice fresh layer of aluminium anyway:excitement:


31-12-2019, 02:50 PM
I am still using the touch-off block I made about 5 years ago, although it is getting a bit old and battered.

A simple bit of brass stock, faced off and an acrylic disc bonded to it and trimmed on the lathe. Turn it round and face the top and then mike it up to make sure the faces are parallel. Drill a 4m 'ole in the side for a banana plug et voila!

I find it more convenient to touch off the tool as I have a simple collets pindle.

01-01-2020, 06:28 AM
I'd be interested in your results - if you can post a follow-up. I'd be slightly concerned with using Ali for the insulating properties of it's oxides (in normal use you'd nickel plate Ali for electrical contact work) - but I'd listen to experience over theory on this any day.

Good point Doddy. I just assumed it would be ok as the chinese z gauge I'm using is the same. Will jump that hurdle when I come to it.
I see Avid CNC use a Brass plate...maybe for the reasons you stated.
It will be a while before I tacke it as we are moving house soon.