I need help troubleshooting my XYZ touch probe. I’m using Grblhal on btt Scylla with gSender. I also have a Nymolabs wireless tool sensor set up so I use G65P5Qn to swap between the two probes.
The pins show on and off appropriately when I manually touch it. When I pull up the gSender probe interface the probe test works. It reads it when I touch it with my hand.
The problem is whenever I start a probe routine it doesn’t register a touch. It registers a touch at every stage except during a probe routine.
First of all Welcome. I am not too familiar with your setup but I did run an AI check for you. It may not fix the problem but it might get you started or at least help your thought process. Here you are and again welcome:
It sounds like your hardware is working correctly (since the pin state changes in gSender’s diagnostics), but the Grblhal probing logic or gSender’s configuration is ignoring the signal during a routine. This is often caused by a mismatch in how the firmware expects the probe to behave (Normally Open vs. Normally Closed) or how gSender handles probe macros.
Potential Solutions
1. Check the Probe Invert Setting ($6)
If your manual test works but the routine fails, your firmware might be looking for the wrong signal state during a move.
In gSender, go to the Firmware tab (or console) and check the value of $6.
If your probe is Normally Open (NO), $6 should typically be 0. If it is Normally Closed (NC), it should be 1.
Even if the visual indicator in gSender looks correct, a mismatch here can cause the machine to think it’s “already triggered” or “never triggered” during a high-speed G38.2 move. [1, 2, 3]
2. Verify $10 (Status Report Mask)
gSender needs consistent feedback from the controller to know when a touch occurs.
Ensure $10 is set to include “Pin State” (usually $10=511 or $10=3 depending on your version).
If the controller doesn’t report the pin state fast enough during a G-code routine, gSender may miss the “trigger” event even if it shows up in a static manual test.
3. Check for G65 Swap Logic Interference
Since you are using G65P5Qn to swap between probes, it is possible the firmware plugin or macro is switching the active probe pin but gSender is still trying to monitor the “old” pin or a generic “Probe” pin that isn’t currently mapped.
Ensure that after the swap, the Grblhal “Probe” status (visible in the console via ? command) actually reflects the specific pin you are touching.
Some wireless sensors use a “Probe” pin that is shared, while others use a “Tool Sensor” pin. Grblhal distinguishes between these. Ensure gSender is calling a probe command (G38.2) that is directed at the pin you just swapped to.
4. Adjust gSender Probing Settings
Touch Plate Type: Ensure you haven’t accidentally selected a specific brand (like “AutoZero”) if you are using a generic XYZ block, as this changes the internal macro gSender runs.
Probe Feed Rate: If the probe moves too fast, the controller might interpret a touch as a “hard collision” or “noise” rather than a valid probe trigger. Try slowing down the probe feed rate in the gSender Probe setting
Thanks for the suggestions. Seems the btt Scylla has a conflict between the 4th axis limit pin and probe pin- both # 15. I had to build locally and comment out the A axis limits in map.h file. See post: