Currently, what I did to obtain a zero position for my z-axis was to manually command jog linuxCNC to lower the z-axis until the milling tool touched the work piece and then set this position as the zero home position.
Setting the position manually by sight like this was an acceptable method used by machinist everywhere. But for me, it was rather difficult because my eyesight was not as good as before. Furthermore, the lighting at my cnc machine was not very bright.
I needed an easier way to determine the zero position of my Z-axis. The concept of touching off as a switch completing an electrical circuit appealed to me. It would be more accurate than doing it visually.
I had seen some people doing it on the internet. I would need a metal touch plate of known thickness. I happened to have such a piece of material at hand. It was a piece of steel, machined cross-section to 10 +/- 0.11 mm square thickness initially used for a Charpy V-Notch Test.
I would also need a power source. A used 6 Volt lantern battery fit the bill nicely. The other pieces of component like wires, a crocodile clip, an electrical light bulb, holder and some solder was readily acquired for this.
Essentially, it was just a simple on-off switch of an electrical circuit powered by a battery to energize a light bulb. When there was contact between the terminals of the switch, the bulb would light up. The arrangement was made in such a way that when the milling tool bit made contact with the touch plate, the light bulb would light up. The crocodile clip was meant to connect the tool bit so that it would become one of the contacts of a switch in the circuit.
In this way, there was no second guessing whether the tool bit actually touched the work piece. (the cutting edges of small milling tool bits could be very fine and difficult to see)
Because the touch plate itself had a thickness of 10 mm, I would place the former on top of the work piece and touch off the z-axis to 10.0 mm at linuxCNC and the software would remember this setting when the cnc machine performed the cutting routines according to the project g-code programmed into it.
Once the zero home position was set on linuxCNC, the touching off tool set up would be removed from the cnc machine, the latter then being ready for machining.
The electrically operated touch off plate was easy to use and was accurate enough for my purpose. In the future, when I have access to a micrometer screw gauge, I might take a more accurate reading of the thickness and use this figure instead of just 10.0 mm. I might also use the switch to power a sound signal and so eliminate the need to watch both the computer screen and the light bulb while jogging the machine.
That could be a later improvement.