Rotation Distance

On 2020-12-22, klipper introduced a new system for defining stepper motor movement, replacing the old step_distance setting with a new rotation_distance setting. Currently, we are in a transitional period, where the old step_distance settings are depreciated, but may still be used. Sometime around 2021-06-15, this new system is expected to become mandatory. When this second change occurs, it will break all printer.cfg which have not been adapted to the new system.

For full information on the new system, see the klipper documentation

Changes Required?

You will need to update all stepper motor related sections of your printer.cfg. These include all [stepper_??], [tmcXXXX stepper_??], [extruder], and [tmcXXXX extruder] sections. The specific changes required for each section, on a stock printer are listed below, under

Please Note: If you are running a modified printer, only you can validate whether these settings match your printer

Voron 0

[stepper_x] and [stepper_y]

  • Remove the step_distance: line
  • Add the line rotation_distance: 40
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc2209 section, use the same number here)

[tmc2209 stepper_x] and [tmc2209 stepper_y]

  • remove the microsteps: line

[stepper_z]

  • Remove the step_distance: line
  • For a T8x8 Leadscrew (step_distance: 0.0025): Add the line rotation_distance: 8
  • For a T8x2 Leadscrew (step_distance: 0.000625 ): Add the line rotation_distance: 2
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc2209 section, use the same number here)

[tmc2209 stepper_z]

  • remove the microsteps: line

[extruder]

  • calculate your new rotation_distance. the basic formula is rotation_distance = <full_steps_per_rotation> * <microsteps> * <step_distance> in most cases, this means: rotation_distance = 200 * 16 * <old_step_distance>
  • remove the step_distance: line
  • add the line rotation_distance: x replacing x with the value you calculated above
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)

[tmc2209 extruder]

  • remove the microsteps: line

Voron Switchwire

[stepper_x], [stepper_y], and [stepper_z]

  • Remove the step_distance: line
  • Add the line rotation_distance: 40
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc2209 stepper_x], [tmc2209 stepper_y], [tmc2209 stepper_z] or [tmc2130 stepper_x], [tmc2130 stepper_y], [tmc2130 stepper_z]

  • Remove the microsteps: line

[extruder]

  • calculate your new rotation_distance. the basic formula is rotation_distance = <full_steps_per_rotation> * <microsteps> * <step_distance> in most cases, this means: rotation_distance = 200 * 16 * <old_step_distance>
  • remove the step_distance: line
  • add the line rotation_distance: x replacing x with the value you calculated above
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc2209 extruder] or [tmc2130 extruder]

  • Remove the microsteps: line

Voron 1

[stepper_x] and [stepper_y]

  • Remove the step_distance: line
  • Add the line rotation_distance: 40
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc220* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc220* stepper_x] and [tmc220* stepper_y]

  • remove the microsteps: line

[stepper_z], [stepper_z1]

  • Remove the step_distance: line
  • Add the line rotation_distance: 8
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc220* stepper_z], [tmc220* stepper_z1]

  • remove the microsteps: line

[extruder]

  • calculate your new rotation_distance. the basic formula is rotation_distance = <full_steps_per_rotation> * <microsteps> * <step_distance> in most cases, this means: rotation_distance = 200 * 16 * <old_step_distance>
  • remove the step_distance: line
  • add the line rotation_distance: x replacing x with the value you calculated above
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc220* extruder]

  • remove the microsteps: line

Voron 2

[stepper_x] and [stepper_y]

  • Remove the step_distance: line
  • Add the line rotation_distance: 40
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc220* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc220* stepper_x] and [tmc220* stepper_y]

  • remove the microsteps: line

[stepper_z], [stepper_z1], [stepper_z2], [stepper_z3]

  • Remove the step_distance: line
  • Add the line rotation_distance: 40
  • Add the line gear_ratio: 80:16
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc220* stepper_z], [tmc220* stepper_z1], [tmc220* stepper_z2], [tmc220* stepper_z3]

  • remove the microsteps: line

[extruder]

  • calculate your new rotation_distance. the basic formula is rotation_distance = <full_steps_per_rotation> * <microsteps> * <step_distance> in most cases, this means: rotation_distance = 200 * 16 * <old_step_distance>
  • remove the step_distance: line
  • add the line rotation_distance: x replacing x with the value you calculated above
  • Add the line microsteps: 16 (if you have a microstepping other than 16 in your tmc* section, use the same number here)
  • Only for 0.9 degree steppers: add the line full_steps_per_rotation:400

[tmc220* extruder]

  • remove the microsteps: line