retrofit of an existing CNC - tool sensor and 3d probe

More
14 Jan 2026 16:32 #341377 by Avion
Hey everyone, 

1.5 years ago i bought a CNC mill. It was a used portal cnc (barely used) with chineese base and german splindle, table, controller and linear rails upgrade by a manufacturer in Germany. It was based on CNC Graf and I always had issues with it. Either Fusion to cnc gcode was faulty, did not execute all commands etc. etc. etc. 
I grew and also wanted to build a large scale foam cutter for 1:1 RC plane replicas. So i said its the perfect time to retrofit the old cnc and to build the new 4 axis foam wire cutter and build it with linuxcnc and on the base of mesa7176EU. 
I bought all parts for the wire cutter and some upgrades for the existing cnc (touch probe, hand wheel, two tool measure sensors). 

This is the wire cutter design i made. 
https://imgur.com/a/XOdKh2n
File Attachment:


I had so many issues even getting linuxcnc up and running for the mesa ...  Of course due to my limited experience with debian but also since there are so many unknowns on the mesa world as well.
I thought I will share my project (s) here and also post the wiring diagram and the configuration as i am continuing. 
Right now i finally got the motors spinning and hal machine enabled properly and am working on setting up the limit switches for the axis. 

The first questions that are right now open are in this direction. I will post later the configuration right now for the portal CNC. The wire-cutter is build in parrallel but priority has of course the retrofit of the portalCNC to get at least one thing back online. Wirecutter:
  1. How do I configure multiple Y and Z axis in axis configuration for wire. I have two L legs basically so i need to control 4 Axis. In the linuxCNC setup i only saw the configuration for the XZY and XZYA. It should in the end basically have two heads ;).
Portal CNC
  1. We have NPN NO sensors and are connecting them to a mesa board that has “sinking inputs”. I understand that a pull up resistor is required for it to work, but is it the “good way” or would it be better and safer to use a PNP NC Sensor.  Bear in mind that our sensor is a limit and homing switch for each axis. And if a pullup resistor is okay to go with, then will the difference between 2kOhm and 10kOhm  be important for accuracy ?
  2. Stepper driver DM556 ENA+ and ENA - with mesa 7i76eu.
    The default for them is to be left not connected when using different controls(STEP+- and DIR+-), but are there any long term downsides to it? any way to use them for improving safety of cnc operation.
  3.  If I understand correctly, reversing inputs/outputs in HAL makes changes operational only when the linux cnc terminal is operational and connected to the mesa board, in any other state the outputs will be “as they are” not “as set up” ? Or some of the configuration (In systems like(PC(Linuxcnc) - ethernet - mesa) is stored on mesa? If so, then what are the good practices about what should be done hardware wise and what can be safely done software side.

Please Log in or Create an account to join the conversation.

More
14 Jan 2026 18:50 #341384 by PCW
1. Suggested pullup is 2.2K 1/2w for 24V. The only disadvantage of the pullup is the wiring nuisance.
10K will not work.

2. Enable on simple step/dir drives is not of much value safety wise as it's very unlikely to have a runaways
without the control generating step/dir pulses (and step generation will stop on a LinuxCNC or communication fault)

3. Its important that the default state of 7I76EU outputs be the safe state as all outputs will return to the power up state on
communication loss. This initial state is all outputs open circuited (this is true even if the outputs were set to push-pull mode)

Please Log in or Create an account to join the conversation.

More
15 Jan 2026 13:12 #341425 by Avion
Dear PCW,

thank you for the answers. Good one!

I will make sure to setup the 7176 in all safe states. I think also maybe to upgrade to two limit switches per axsis instead of just one. Right now it is only one per axis and for the wire cutter i had anyways two per axis planned.

The enable and disable part: Probably I should just leave it then right now and when I encounter a situation where it does add function or value, its easy to upgrade.

So in generally, thanks. I will update with diagrams and images as soon as possible.

Please Log in or Create an account to join the conversation.

More
18 Feb 2026 15:02 #343149 by Avion
Hey everyone,

we are making progress. All axis work, limit switches work, spindle works (ish) and remote works now.
We are using QTdragon as interface.

Coming from CNCGraf my biggest question right now is: Probing.
For most cutting operations that I do, i just need to go to a position and place the Z0. The top surface of stock, since I am either driving into the material or through the material.
Now it is all totally different in setup.

My normal workflow was that I am using the tool-length sensor for three operations.

First i had to calibrate the tool length sensor. The value (lets say 22.2mm) was stored as variable. For first setup i had to measure the table dimensions with this as well.
Normal Process then would be:
I am putting in the tool, measure the the tool length, place the same sensor then on top of my stock and on top of the scrificial plate. Then I am measuring again and set the Z0 (I think this is a relative value or workspace coordinate, not a machine coordinate) add the 22.2mm of the tool length (automatically) and this will then give me perfect Z-0 and Zheight of my work piece or stock.

How is it done in linuxCNC? How do you calibrate the sensor?

Please Log in or Create an account to join the conversation.

More
18 Feb 2026 15:49 #343151 by djdelorie
I wrote a long (hopefully correct ;) explanation of how offsets and sensors worked, over in the general questions -> Where should linux cnc tool offsets be stored? thread forum.linuxcnc.org/38-general-linuxcnc-q...ets-be-stored#342300
That may help. If not, it may help you ask more specific questions ;-)

Please Log in or Create an account to join the conversation.

Time to create page: 0.072 seconds
Powered by Kunena Forum