Unlimited Endstop Usage
Precautions
Required Conditions
- Must meet all the following:
- The motherboard supports the
DIAG
function - The driver supports
DIAG
signal output - No device should be connected to the corresponding endstop interface!
Motherboard Compatibility Check
Fly motherboard support classification:
Type | Support Status | Representative Models | Operation Requirements |
---|---|---|---|
A | Direct connection by default | Super/Gemini/CDY/E3 Series | ✅ Direct use of endstop interface |
B | Requires jumper to enable | D/C/Pro-X10/Micro Series | ⚡ Must install DIAG jumper cap |
C | Not supported at all | Fly-F407ZG | ❌ Unlimited endstop function unavailable |
Identification method:
- Check motherboard markings: Look for a jumper labeled
DIAG
- Refer to the schematic: Confirm
DIAG
signal connection of the drive interface- On most motherboards, unlimited endstop for
Drive0
corresponds toio0
,Drive1
toio1
, and so on
|
|
Driver Compatibility Check
Note
TMC5160
,TMC2240
, andTMC2130
have twoDIAG
pins- You need to check the product documentation or contact customer support for confirmation
Driver Model | Compatibility | DIAG Pins | Configuration Requirements | Sensitivity Range |
---|---|---|---|---|
TMC2209 | ✅ Supported | Single Pin | Direct use | 0-255 # 255 is the most sensitive, 0 is the least sensitive |
TMC5160 | ✅ Supported | Dual Pins | Need to select diag pin | -64 -255 # -64 is the most sensitive, 63 is the least sensitive |
TMC2240 | ✅ Supported | Dual Pins | Need to select diag pin | -64 -255 # -64 is the most sensitive, 63 is the least sensitive |
TMC2130 | ✅ Supported | Dual Pins | Need to select diag pin | -64 -255 # -64 is the most sensitive, 63 is the least sensitive |
TMC2208 | ❌ Not Supported | - | Unlimited endstop function unavailable | Unlimited endstop function unavailable |
TMC2660 | ❌ Not Supported | - | Unlimited endstop function unavailable | Unlimited endstop function unavailable |
LV8729 | ❌ Not Supported | - | Unlimited endstop function unavailable | Unlimited endstop function unavailable |
Key identification points:
- Dual-pin drivers must refer to the manual to confirm the function pin
- Some drivers support the
DIAG
function but may not be usable if the corresponding pin header is not soldered
Configuration Instructions
- Modify the corresponding driver model and axis
- Some machines may fail homing due to retraction when using unlimited endstop; set
homing_retract_dist:
to0
Reference Configurations
- In
tmc2209_stepper_x
,TMC2209
should be changed to the actual driver model - In
stepper_x
,x
represents the X-axis; if it's the Y-axis, change tostepper_y
- TMC2209 Reference Configuration
- TMC5160 Reference Configuration
- TMC2130 Reference Configuration
- TMC2240 Reference Configuration
- The pins in the configuration below are for reference only; actual wiring may vary
- The
diag_pin:
configuration must include^
, or homing will fail - The value in
driver_SGTHRS:
needs to be tested and set; 255 is the most sensitive, 0 is the least sensitive[stepper_x]
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
[tmc2209 stepper_x]
diag_pin: ^PD9
driver_SGTHRS: 100
- The pins in the configuration below are for reference only; actual wiring may vary
- Refer to the product manual to determine whether to use
diag0_pin:
ordiag1_pin:
- The
diag1_pin:
configuration must include^!
, or homing will fail - The value in
driver_SGT:
needs to be tested and set; -64 is the most sensitive, 63 is the least sensitive[stepper_y]
endstop_pin: tmc5160_stepper_y:virtual_endstop
position_endstop: 0
[tmc5160 stepper_y]
diag1_pin: ^!PD9
driver_SGT: 1
- The pins in the configuration below are for reference only; actual wiring may vary
- Refer to the product manual to determine whether to use
diag0_pin:
ordiag1_pin:
- The
diag1_pin:
configuration must include^!
, or homing will fail - The value in
driver_SGT:
needs to be tested and set; -64 is the most sensitive, 63 is the least sensitive[stepper_y]
endstop_pin: tmc2130_stepper_y:virtual_endstop
position_endstop: 0
[tmc2130 stepper_y]
diag1_pin: ^!PD9
driver_SGT: 1
- The pins in the configuration below are for reference only; actual wiring may vary
- Refer to the product manual to determine whether to use
diag0_pin:
ordiag1_pin:
- The
diag1_pin:
configuration must include^!
, or homing will fail - The value in
driver_SGT:
needs to be tested and set; -64 is the most sensitive, 63 is the least sensitive[stepper_x]
endstop_pin: tmc2240_stepper_x:virtual_endstop
position_endstop: 0
[tmc2240 stepper_x]
diag1_pin: ^!PD9
driver_SGT: 1
Testing Sensitivity
-
Step 1
-
Enter the following command in the web console
-
Move the print head slowly to the center of the machine. Use the
SET_TMC_FIELD
command to set sensitivity -
For
TMC2209
, use the command below and modify the axis you are testingSET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255
-
For
TMC5160
,TMC2240
, andTMC2130
, use the command below and modify the axis you are testingSET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64
-
-
Step 2
- Enter the following command in the web console
G28 X
- Confirm that the X-axis does not move at all or stops moving quickly
- If no movement notification is received, immediately issue the following command
M112
- Check for wiring or configuration errors on the corresponding
DIAG PIN
pin; these must be corrected before proceeding
- Enter the following command in the web console
-
Step 3
- Next, gradually reduce the sensitivity value set by
VALUE
and run theSET_TMC_FIELD
andG28 X0
commands again - Find the highest sensitivity that allows the carriage to move successfully to the end point and stop
- Next, gradually reduce the sensitivity value set by
-
Step 4
- Once the appropriate value is found, remember it after homing when it stops on the slightest touch
- If there is a knocking or clicking sound at maximum sensitivity, the homing speed may be too low, the driver current may be too low, or this axis may not be suitable for sensorless homing
- Open
printer.cfg
and update the corresponding sensitivity configuration
Loading...