Welcome! Log In Create A New Profile

Advanced

Cannot turn off stealthchop

Posted by galmiklos 
Cannot turn off stealthchop
August 26, 2025 03:24PM
I am trying to disable stealthchop on my TMC2209 drivers, because I read somewhere this can cause the grinding noise at certain speeds (between 9000 and 12000 mm/min) on my CoreXY printer on the X and Y axis.

So, I disabled it in Configuration_adv.h.

/**
   * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
   * Use Trinamic's ultra quiet stepping mode.
   * When disabled, Marlin will use spreadCycle stepping mode.
   */
  #if HAS_STEALTHCHOP
    //#define STEALTHCHOP_XY
    #define STEALTHCHOP_Z
    #define STEALTHCHOP_I
    #define STEALTHCHOP_J
    #define STEALTHCHOP_K
    #define STEALTHCHOP_U
    #define STEALTHCHOP_V
    #define STEALTHCHOP_W
    #define STEALTHCHOP_E
  #endif


However, the noise remains, and stealthchop appears to be still true for all drivers (M122).

echo:M122
		X	Y	Z	Z2	E
Address		0	0	0	0	0
Enabled		true	true	true	true	false
Set current	800	800	800	800	500
RMS current	795	795	795	795	489
MAX current	1121	1121	1121	1121	689
Run current	25/31	25/31	25/31	25/31	15/31
Hold current	12/31	12/31	12/31	12/31	7/31
CS actual	12/31	12/31	12/31	12/31	7/31
PWM scale
vsense		1=.18	1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true	true
msteps		32	32	32	32	32
interp		true	true	true	true	true
tstep		max	max	max	max	max



I know disabling stelthchop would help, because I can effectively disable stealthchop mode by enableing hybrid mode and lowering the threshold to 1.

#define HYBRID_THRESHOLD

  #define X_HYBRID_THRESHOLD       1  // [mm/s]
  #define X2_HYBRID_THRESHOLD    100
  #define Y_HYBRID_THRESHOLD       1
  #define Y2_HYBRID_THRESHOLD    100
  #define Z_HYBRID_THRESHOLD      10
  #define Z2_HYBRID_THRESHOLD     10
  #define Z3_HYBRID_THRESHOLD      3
  #define Z4_HYBRID_THRESHOLD      3


Has anyone experienced it? Is it something I am overlooking?
Re: Cannot turn off stealthchop
September 06, 2025 02:58PM
I was advised on the Marlin Support discord channel to use M569 to turn stealthChop off.

M569

To me it looks like if only STEALTHCHOP_XY is disabled (commented out) in Configuration_adv.h, the EEPROM is initialized with stealthChop on. If I commented out all the stealthChop lines, the EEPROM was correctly initialized, though.

/**
   * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
   * Use Trinamic's ultra quiet stepping mode.
   * When disabled, Marlin will use spreadCycle stepping mode.
   */
  //#if HAS_STEALTHCHOP
  //  #define STEALTHCHOP_XY
  //  #define STEALTHCHOP_Z
  //  #define STEALTHCHOP_I
  //  #define STEALTHCHOP_J
  //  #define STEALTHCHOP_K
  //  #define STEALTHCHOP_U
  //  #define STEALTHCHOP_V
  //  #define STEALTHCHOP_W
  //  #define STEALTHCHOP_E
  //#endif

M569 would work in any case.

Thank you, @Dust (dust9521 on Discord) for guiding me to the right direction!
Sorry, only registered users may post in this forum.

Click here to login