The current firmware maps the Scylla X-Max input to E-stop by default.
Confirm the firmware pin assignment:
$pins
Expected assignment:
[PIN:PC6,Emergency stop]
Wire the Xmax signal and gnd pins to a free isolated contact on the actuator:
This makes the E-stop input fail-safe: a broken wire, loose connector, or opened actuator contact should all appear as E-stop active.
Power off the controller before wiring. Do not connect the isolated actuator contact to any actuator power terminals; only use the dry/free contact.
Keep the machine disabled for motion while proving the input.
Query the current status:
?
Expected behavior:
Set the control input invert setting:
$14=6
This is the working setting for the tested Scylla setup. It corrects feed hold (H) and cycle start (S) while keeping E-stop (E) correct.
Target status:
Pn:H, Pn:S, or Pn:E should show.Pn:E should show.Pn:E only proves the input is active in the status report. It does not by itself prove that grblHAL is acting on the input as a blocking E-stop.
After the input state is correct, verify controller behavior while the E-stop is pressed:
G91
G1 X10 F100
Expected behavior:
If Pn:E appears but G-code is still accepted or streamed, check that $pins reports PC6 as Emergency stop and rebuild firmware with E-stop support explicitly enabled.
If status shows Run|...|Pn:E, the input is mapped but the E-stop interrupt is not being handled. For the STM32H7xx Scylla driver, PC6 uses the EXTI9_5 interrupt range. Confirm both conditions in Src/driver.c:
settings_changed() configures claimed aux control inputs with the selected IRQ edge before HAL_GPIO_Init().EXTI9_5_IRQHandler dispatches aux_pin_irq(ifg & aux_irq) for AUXINPUT_MASK & 0x03E0.Do not test machine motion until both the target status and the blocking E-stop behavior are reached.
Only test machine motion after the E-stop state is reliable in gSender/status reports.
Use the fixed toolsetter for tool length measurement after a tool change.
Wire the toolsetter to the Scylla Tool-IN connector so pressing the toolsetter triggers the dedicated toolsetter input.
Scylla Tool-IN pinout:
V-ToolPE7GNDFor the current NO mechanical toolsetter switch, connect only:
tool to PE7gnd to GNDSet the Scylla toolsetter jumpers for a simple switch to ground:
V-Tool to 5V.Tool NPN pull-up jumper.Do not connect the toolsetter switch to V-Tool. Keep the toolsetter electrically isolated from other machine wiring unless the specific toolsetter circuit requires a shared reference.
The Tool LED should change state when the toolsetter switch is pressed. If the LED never changes, check the V-Tool jumper, the NPN pull-up jumper, and continuity between the toolsetter tool and gnd pins.
The firmware must be built with dedicated toolsetter support enabled; see cnc_firmware.
Confirm the firmware pin assignment:
$pins
Expected assignment:
[PIN:PE7,Toolsetter]
Keep the grblHAL pull-up enabled for this wiring. The toolsetter is bit 1 in the probe pull-up disable setting, so this bit must be clear:
$19=0
If the regular probe needs its pull-up disabled later, do not set the toolsetter bit. For example, $19=1 disables only the regular probe pull-up and leaves the toolsetter pull-up enabled.
The toolsetter is bit 1 in the probe invert setting $6:
$6=0 means regular probe not inverted, toolsetter not inverted.$6=2 means regular probe not inverted, toolsetter inverted.$6=3 means regular probe inverted, toolsetter inverted.For the tested Scylla Tool-IN circuit with an NO switch from PE7 to GND, leave the toolsetter not inverted:
$6=0
If the regular probe already needs inversion, use $6=1 instead.
Test the input from the gSender console:
$pinstate
Expected behavior:
Toolsetter line should change value when the switch is pressed.Then select the toolsetter probe input and check the realtime status:
G65 P5 Q1
?
Expected behavior:
P:1, meaning probe ID 1, the toolsetter, is selected.Pn:P should not show.Pn:P should show.Return to the regular probe input after testing:
G65 P5 Q0
If Pn:P shows when the toolsetter is released and disappears when pressed, toggle the toolsetter invert bit in $6 while preserving the regular probe bit. Use $6=2 if the regular probe is not inverted, or $6=3 if the regular probe is inverted.
Before running a toolsetter macro:
G65 P5 Q1.? and confirm the toolsetter input is not active.G65 P5 Q0.For gSender, use the console for the first tests. After the input works by hand, configure any toolsetter or tool-change probing macro so it selects probe ID 1 before probing and selects probe ID 0 again afterwards:
G65 P5 Q1
G38.2 Z-10 F50
G65 P5 Q0
Adjust the travel and feedrate before running the macro on the real machine. The first test should start close to the toolsetter, move slowly, and have one hand near E-stop.
Do not run a probing macro until the input changes correctly by hand.
Use the mobile probe or touch plate for workpiece probing, for example setting Z zero on the stock surface.
Wire the mobile probe to the probe input. If the tool, spindle, or workpiece is used as the other side of the probe circuit, confirm continuity with a multimeter before probing.
Before running a probe macro:
? and confirm the probe input is not active.Keep one hand near E-stop during the first toolsetter and probe tests.