Skip to main content

Common Debug Commands

Tip
  • This tutorial uses the Fluidd web interface as the primary operating environment.
  • This tutorial applies to debugging scenarios after the printer has been successfully connected.
  • This article only provides commonly used commands; not all available commands may be listed due to various reasons.

Note
  • Unconfigured or faulty drivers cannot be detected.
  • Ensure all drivers are properly powered, the mainboard is correctly powered, and driver jumpers and configurations are correct.

Check Driver Status

  • This command is used to verify the communication status of TMC drivers 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.), replace with the actual configuration name.

Force Driver Movement

  • 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, forced movement can also be performed via the web control panel.

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

  • For multi-axis scenarios (e.g., dual Z-axes), homing must be performed before control.

Loading...

Force Set Printhead Position

  • Enter the following command in the console to forcefully set the printhead position. After setting, you can directly control movement:

    SET_KINEMATIC_POSITION x=100 y=100 z=100

Extruder Step Value Calibration

  • Before calibration, confirm:

    1. The extruder driver can operate normally.
    2. full_steps_per_rotation and gear_ratio are correctly configured.
  • Reference configuration:

    full_steps_per_rotation: 200 # Steps per rotation (1.8°=200, 0.9°=400)
    gear_ratio: 50:10 # Gear ratio (BMG is 50:17, output shaft front, input shaft rear)
    rotation_distance: 22.522 # Drive gear circumference, unit mm
  • Calibration formula:

    New rotation_distance = Old rotation_distance × Actual extruded length / Set extruded length
  • Keep 3 decimal places for the new rotation_distance.


PID Calibration

Tip
  • The target temperature set after TARGET= should be the temperature used for normal printing.
  • If there are multiple heating devices, replace the value after HEATER= with the actual name.
  • Hotend:

    PID_CALIBRATE HEATER=extruder TARGET=245
  • Heated Bed:

    PID_CALIBRATE HEATER=heater_bed TARGET=100
  • PTC:

    PID_CALIBRATE HEATER=PTC TARGET=70
Tip

Temperature Control Commands

  • Set hotend temperature and wait for target:

    M109 S245 # Heat hotend to 245°C and wait
    M104 S245 # Heat hotend to 245°C without waiting
  • Set bed temperature and wait for target:

    M190 S100 # Heat bed to 100°C and wait
    M140 S100 # Heat bed to 100°C without waiting
  • Turn off all heaters:

    TURN_OFF_HEATERS
  • Fan control:

    M106 S255 # Part cooling fan full speed
    M106 S128 # Part cooling fan 50% speed
    M107 # Turn off part cooling fan

Standard Endstop Switches

Danger
  • Ensure the endstop switch is a 2-wire type; if it is a 3-wire type, the wire sequence must be confirmed correct, otherwise the mainboard may be damaged!
  • Query endstop status:

    QUERY_ENDSTOPS
  • Ensure the endstop is in a normally open state (not triggered). After execution, it should return information similar to the following:

Loading...
  • Press the endstop switch manually and execute QUERY_ENDSTOPS again. The endstop status should change:
Loading...
  • A change in endstop status indicates the wiring is correct.

Sensorless Homing

  • The default state for sensorless homing should be open (not triggered); otherwise, it indicates a configuration or wiring issue.

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

    QUERY_ENDSTOPS
Loading...

BL-TOUCH

  • Debug Commands:

    CommandFunction
    BLTOUCH_DEBUG COMMAND=pin_downProbe deploy
    BLTOUCH_DEBUG COMMAND=pin_upProbe retract
    BLTOUCH_DEBUG COMMAND=touch_modeEnter touch verification mode

Probe & TAP

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

    QUERY_PROBE
  • It is recommended to add an internal pull-up ^ when configuring pins.

Loading...

Probe Repeatability Test

  • Default 10 samples:

    PROBE_ACCURACY
  • 100 samples (more accurate):

    PROBE_ACCURACY samples=100

Z Offset Calibration

PROBE_CALIBRATE # Probe Z offset calibration
TESTZ Z=-0.1 # Fine-tune Z offset (negative = nozzle closer to bed)
ACCEPT # Accept the current offset value
ABORT # Abort this calibration
SAVE_CONFIG # Save calibration result to config file


Advanced Commands: For debug commands related to extrusion, motion control, mesh bed leveling, resonance compensation, system control, and special module types, please refer to Advanced Commands and System Operations.

Loading...