Skip to main content

Common Debugging Commands

Tip
  • This tutorial is primarily based on the Fluidd web interface.
  • This tutorial is applicable for debugging after the printer is normally connected.
  • This tutorial provides commonly used commands and may not be exhaustive due to various reasons.

Important Notes
  • Drivers that are not configured or have issues cannot be checked.
  • Ensure all driver power supplies are normal, the mainboard power supply is normal, and driver jumpers and configurations are all correct.

Check Driver Status

  • This command is used to verify TMC driver communication status in SPI/UART mode. Execute in the console:

    DUMP_TMC STEPPER=stepper_x
    DUMP_TMC STEPPER=stepper_y
    DUMP_TMC STEPPER=stepper_z
    DUMP_TMC STEPPER=extruder
Tip

If there are multiple motors on the same axis (e.g., stepper_x1, stepper_z1, etc.), please replace with the actual configured names.

Force Move Driver

  • First, add the following configuration to printer.cfg:

    [force_move]
    enable_force_move: true
  • Then execute the STEPPER_BUZZ command in the console. The motor will move back and forth by 1mm:

    STEPPER_BUZZ STEPPER=stepper_x
    STEPPER_BUZZ STEPPER=stepper_y
    STEPPER_BUZZ STEPPER=stepper_z
    STEPPER_BUZZ STEPPER=extruder
  • After enabling force_move, you can also force movement via the web control panel.

  • Note that only one motor can be moved at a time.

  • For multi-axis setups (e.g., two Z axes), homing is required before control.

    Loading...

Force Set Print Head Position

  • Enter the command below in the console to force-set the print head position. After setting, you can directly control movement:

    SET_KINEMATIC_POSITION x=100 y=100 z=100

Extruder Stepper Value Calibration

  • Before calibration, confirm:

    1. The extruder driver is working properly.
    2. full_steps_per_rotation and gear_ratio are configured correctly.
  • Reference configuration:

    full_steps_per_rotation: 200        # Pulses per revolution (200 for 1.8 degrees, 400 for 0.9 degrees)
    gear_ratio: 50:10 # Gear reduction ratio (BMG is 50:17, output shaft first, input shaft last)
    rotation_distance: 22.522 # Drive gear circumference in mm
  • Calibration formula:

    New rotation_distance = Old rotation_distance * Actual extruded length / Requested extruded length
  • After obtaining the new rotation_distance, round it to 3 decimal places.


PID Calibration

Tip
  • The value after TARGET= is the set temperature. Please set it to the temperature you normally use for printing.
  • If there are multiple heating devices, replace the value after HEATER= with the actual name.
  • Extruder:

    PID_CALIBRATE HEATER=extruder TARGET=245
  • Heated Bed:

    PID_CALIBRATE HEATER=heater_bed TARGET=100
  • PTC:

    PID_CALIBRATE HEATER=PTC TARGET=70
Tip
  • For heating wait timeout, refer to: M109 Optimization
  • For errors caused by temperature fluctuations, refer to: verify_heater Optimization

Standard Endstops

Danger
  • Ensure the endstop switch is two-wire; if it's three-wire, you need to confirm the wiring sequence is correct, otherwise it may damage the mainboard!
  • Query endstop status:

    QUERY_ENDSTOPS
  • Ensure the endstop is in the normal open state (not triggered). After execution, it should return information like:

    Loading...
  • Manually press the endstop and execute QUERY_ENDSTOPS again. The endstop status should change:

    Loading...
  • A change in endstop status indicates correct wiring.

Sensorless Homing

  • The default state for sensorless homing should be open. If not, it indicates a configuration or wiring issue.

  • The query method is the same as for standard endstops:

    QUERY_ENDSTOPS
    Loading...

BL-TOUCH

  • Debugging commands:

    CommandFunction
    BLTOUCH_DEBUG COMMAND=pin_downProbe deploys
    BLTOUCH_DEBUG COMMAND=pin_upProbe retracts
    BLTOUCH_DEBUG COMMAND=touch_modeEnter touch verification mode

Probe & TAP

  • Query probe status (should display open when normally not triggered):

    QUERY_PROBE
  • It is recommended to add a pull-up ^ when configuring the pin.

    Loading...

Repeatability Test

  • Default 10 samples:

    PROBE_ACCURACY
  • 100 samples (more accurate):

    PROBE_ACCURACY samples=100

Special Types

Servo

Tip

Servos are divided into 180-degree and 360-degree types. Please distinguish accordingly.

  • Reference configuration:

    [servo my_servo]
    pin: PE6
  • Reference commands:

    SET_SERVO SERVO=my_servo ANGLE=360
    SET_SERVO SERVO=my_servo ANGLE=180
    SET_SERVO SERVO=my_servo ANGLE=0
Loading...