@dc42 I experimented some more and came up with testing routine. Trying to set StealthChop to SpreadCycle at low speed. No luck... Or maybe at 10mm/s is all I can get?

Accel/jerk are halved in comparison to normal operation.

Each testing sequence consists of:

Configuration Homing with tuning Three sets of moves of Y and U separately Each set has different speed - 10, 50 and 100mm/s

It runs five tests with different configuration each:

StealthChop to SpreadCycle with switch at 10.4 mm/s StealthChop to SpreadCycle with switch at 52.1 mm/s StealthChop to SpreadCycle with switch at 93.8 mm/s Pure SpreadCycle Pure StealthChop

I've recorded a routine with first 3 sequences. Every time movement is above switch speed then "clack" happens. Its visibly less noticeable at low setting, but is still there. As it's increased then it gets much worse.

If you could look if I did homing/tuning correctly, please.

I'll proceed to experimenting with different speeds. Previously when I picked different values for M569 and M915 I've got some improvement - clacking was getting less and less visible.

Thanks for your time and input.

Video (last two removed for brevity):
https://youtu.be/yojaNXBJG9s

Macros:
stealthChop.home.g

; Homing and tuning M18 X U Y Z ; Disable motors M17 X U Y Z ; Enable motors G4 P100 ; Wait G91 ; Relative positioning G1 Z5 F1000 H2 ; Lift Z relative to current position G1 X-999 U999 Y-999 F3000 H1 ; Move and Tune G1 X5 U-5 Y5 F6000 H2 ; Go back a few mm G1 X-999 U999 Y-999 F360 H1 ; Move again G1 Z-5 F1000 H2 ; Return Z to previous height G90 ; BLTouch preperation M280 P0 S160 ; Precautionary alarm release M280 P0 S90 ; Ensure the pin is raised ; Home Z using the Z-Probe G91 ; Relative positioning G1 Z10 F1000 H2 ; Lift Z relative to current position G90 ; Absolute positioning G1 X-130 Y-115 F6000 ; Move T0 to probing point, including probe offset G30 ; Probe the bed and set Z to the probe offset G1 Z10 F1000 ; Raise Z off the bed

stealthChop.test.g

; Initial settings var distance = 30 ;mm var speed_high = 100 ;mm/s var speed_high_min = 60 * var.speed_high; var speed_med = 50 ;mm/s var speed_med_min = 60 * var.speed_med; var speed_low = 10 ;mm/s var speed_low_min = 60 * var.speed_low; G1 X-999 U0 Y0 F3000 ; Prepare for test G4 P1000 ; Test Low Speed while iterations < 3 G1 U{var.distance/4} F{var.speed_low_min} G1 U{-(var.distance/4)} F{var.speed_low_min} while iterations < 3 G1 Y{var.distance/4} F{var.speed_low_min} G1 Y{-(var.distance/4)} F{var.speed_low_min} ; Test Medium Speed while iterations < 3 G1 U{var.distance/2} F{var.speed_med_min} G1 U{-(var.distance/2)} F{var.speed_med_min} while iterations < 3 G1 Y{var.distance/2} F{var.speed_med_min} G1 Y{-(var.distance/2)} F{var.speed_med_min} ; Test High Speed while iterations < 3 G1 U{var.distance} F{var.speed_high_min} G1 U{-(var.distance)} F{var.speed_high_min} while iterations < 3 G1 Y{var.distance} F{var.speed_high_min} G1 Y{-(var.distance)} F{var.speed_high_min}

stealthChop.spreadCycle.test.g

; RR VCast IDEX (Cartesian) ; Duet 3 6HC TMC5160 ; Testing U and Y ; XUY using 2.5A/3.1V LDO-42STH47-2504AC ; https://www.ratrig.com/nema-17-stepper-motor.html ; 1. Load StealthChop to SpreadCycle settings ; 2. Tune drivers ; 3. Run test for StealthChop to SpreadCycle ; 4. Run test for StealthChop only ; 5. Run test for SpreadCycle only G4 S5 ; Time to start recording :) ; Accel/Jerk are halved in comparison to normal operation M906 X2125 U2125 Y2125 Z1600:1600 E350:350 I50 ; set currents M566 X350 U350 Y350 Z60:60 E300:300 ; set maximum instantaneous speed changes (mm/min) M203 X6000 U6000 Y6000 Z1800:1800 E3600:3600 ; set maximum speeds (mm/min) M201 X400 U400 Y450 Z100:100 E600:600 ; set accelerations (mm/s^2) M204 P400 T400 ;------------------------------------ ;---- StealthChop to SpreadCycle ---- ;------------------------------------ echo "Enable StealthChop to SpreadCycle settings (Switch Speed - 10.4 mm/s)" ; Reset Coolstep M915 P0.0:0.1:0.2:0.3:0.4:0.5 T1 ; disable coolstep M915 P20.0:21.0 T1 ; disable coolstep ; Set U M569 P0.1 S0 D3 V900 H900 M915 P0.1 T900 ; Set Y M569 P0.2 S0 D3 V900 H900 M915 P0.2 T900 ; Homing and tuning M98 p"/macros/stealthChop.home.g" M98 p"/macros/stealthChop.test.g" echo "Enable StealthChop to SpreadCycle settings (Switch speed - 52.1 mm/s)" ; Reset Coolstep M915 P0.0:0.1:0.2:0.3:0.4:0.5 T1 ; disable coolstep M915 P20.0:21.0 T1 ; disable coolstep ; Set U M569 P0.1 S0 D3 V180 H180 M915 P0.1 T180 ; Set Y M569 P0.2 S0 D3 V180 H180 M915 P0.2 T180 ; Homing and tuning M98 p"/macros/stealthChop.home.g" M98 p"/macros/stealthChop.test.g" echo "Enable StealthChop to SpreadCycle settings (Switch speed - 93.8 mm/s)" ; Reset Coolstep M915 P0.0:0.1:0.2:0.3:0.4:0.5 T1 ; disable coolstep M915 P20.0:21.0 T1 ; disable coolstep ; Set U M569 P0.1 S0 D3 V100 H100 M915 P0.1 T100 ; Set Y M569 P0.2 S0 D3 V100 H100 M915 P0.2 T100 ; Homing and tuning M98 p"/macros/stealthChop.home.g" M98 p"/macros/stealthChop.test.g" ;------------------------------------ ;---- SpreadCycle only ---- ;------------------------------------ echo "Enable SpreadCycle settings" ; Reset Coolstep M915 P0.0:0.1:0.2:0.3:0.4:0.5 T1 ; disable coolstep M915 P20.0:21.0 T1 ; disable coolstep ; Set U (Factory values) M569 P0.1 S0 D2 H200 M915 P0.1 T2000 ; Set Y M569 P0.2 S0 D2 H200 M915 P0.2 T2000 ; Homing and tuning M98 p"/macros/stealthChop.home.g" M98 p"/macros/stealthChop.test.g" ;------------------------------------ ;---- StealthChop only ---- ;------------------------------------ echo "Enable StealthChop settings" ; Reset Coolstep M915 P0.0:0.1:0.2:0.3:0.4:0.5 T1 ; disable coolstep M915 P20.0:21.0 T1 ; disable coolstep ; Set U (Above 100mm/s) M569 P0.1 S0 D3 V50 H50 M915 P0.1 T50 ; Set Y M569 P0.2 S0 D3 V50 H50 M915 P0.2 T50 ; Homing and tuning M98 p"/macros/stealthChop.home.g" M98 p"/macros/stealthChop.test.g"