Skip to main content

Sensorless Homing Usage

Important Notes

Prerequisites
  • All of the following conditions must be met simultaneously:
  1. The motherboard supports the DIAG function.
  2. The driver supports DIAG signal output.
  3. The corresponding endstop port must not have any device connected!

Motherboard Compatibility Check

Fly Motherboard Support Categories:

TypeSupport StatusRepresentative ModelsOperation Requirement
Type ADefault Direct ConnectionSuper/Gemini/CDY/E3 Series✅ Use endstop port directly
Type BRequires Jumper EnableD/C/Pro-X10/Micro Series⚡ Must install DIAG jumper
Type CNot SupportedFly-F407ZG❌ Cannot use sensorless homing

Confirmation Method:

  1. Check motherboard labeling: Look for a jumper socket labeled DIAG.
  2. Consult the schematic: Confirm the DIAG signal connection for the driver interface.
  3. For most motherboards, sensorless homing mapping is Drive0 to io0, Drive1 to io1, and so on.
  • Type A Motherboard
    • No DIAG jumper, default direct connection to the corresponding endstop port.
    Loading...
  • Type B Motherboard
    • Requires using the DIAG jumper.
    Loading...

Driver Compatibility Check

Tip
  • TMC5160, TMC2240, and TMC2130 have two DIAG pins.
  • You need to check the corresponding product documentation or consult customer service to confirm.
Driver ModelCompatibilityDIAG Pin(s)Configuration RequirementSensitivity Requirement
TMC2209✅ SupportedSingle PinUse directly0-255 # 255 is most sensitive, 0 is least sensitive
TMC5160✅ SupportedDual PinsMust select diag pin-64 63 # -64 is most sensitive, 63 is least sensitive
TMC2240✅ SupportedDual PinsMust select diag pin-64 63 # -64 is most sensitive, 63 is least sensitive
TMC2130✅ SupportedDual PinsMust select diag pin-64 63 # -64 is most sensitive, 63 is least sensitive
TMC2208❌ Not Supported-Cannot use sensorless homingCannot use sensorless homing
TMC2660❌ Not Supported-Cannot use sensorless homingCannot use sensorless homing
LV8729❌ Not Supported-Cannot use sensorless homingCannot use sensorless homing

Identification Points:

  1. For dual-pin drivers, you must consult the corresponding manual to confirm the functional pin.
  2. Some drivers support the DIAG function, but if the corresponding header pins are not soldered, it cannot be used.

Configuration Instructions

  • You need to modify the configuration for the corresponding driver model and axis.
  • For some machines using sensorless homing, retraction may cause homing to fail. You need to set homing_retract_dist: to 0.

Reference Configuration

  • tmc2209_stepper_x needs to be changed to the corresponding driver model.
  • stepper_x indicates the X-axis. For the Y-axis, change it to stepper_y.
  • Note: The pins in the configuration below are for reference only; use the actual pins.
  • The diag_pin: configuration must include ^, otherwise homing will fail.
  • The value in driver_SGTHRS: needs to be tested and set by yourself. 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

Testing Sensitivity

  • Step 1

    • Enter the following command in the web console.

    • Slowly move the print head to the middle of the machine. Use the SET_TMC_FIELD command to set sensitivity.

    • For TMC2209, use the command below (modify the axis you are testing).

      SET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255
    • For TMC5160, TMC2240, and TMC2130, use the command below (modify the axis you are testing).

      SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64
  • Step 2

    • Enter the following command in the web console.
      G28 X
    • Confirm the X-axis does not move at all or stops moving quickly.
    • If it moves without notification, immediately issue the following command.
      M112
    • Check the wiring or configuration of the corresponding DIAG PIN. There may be an error that must be corrected before proceeding.
  • Step 3

    • Next, continuously lower the sensitivity set by VALUE, and run the SET_TMC_FIELD and G28 X0 commands again.
    • Find the highest sensitivity that allows the carriage to successfully move all the way to the end and stop.
    • For TMC2209 drivers, adjustment means decreasing SGTHRS. For other drivers, adjustment means increasing sgt.
  • Step 4

    • Once you have tested and found a suitable value where homing stops immediately upon touch, remember the current value.
    • If there is a crash or clicking sound at maximum sensitivity, the homing speed may be too low, the driver current may be too low, or the axis may not be suitable for sensorless homing.
    • Open printer.cfg and update the corresponding sensitivity configuration.
Loading...