OK here's some background of the problem:


  • All retracts on the extruder produce a screeching noise. The extruder extrudes normally all other times.

  • Any fast move on the Z-axis also produces a screeching noise and the Z-axis will move normally at all other times.

  • This appears to happen regardless of any printing state whether the heaters are on or not it will still occur it even happens during the ABL process.

Specifications of the printer:

  • Mainboard: MKS Gen L V2
  • Drivers: TMC2209 UART
  • Stepper motors: Stepperonline 17HS15-1504S 1.8 deg 1.5A
  • Pulleys: GT2 16T
  • Leadscrew: 2 mm pitch T8
  • Hotend: E3D V6

OK so basically I performed an upgrade of my stepper drivers as well as the leadscrew and pulleys on my 3D printer which was originally a Tevo tornado and at the start of every print I would experience a loud screeching noise coming from the Z-axis and I originally identified it to be a single line in my G-code that would only trigger the screech if it was preceded by another line and by commenting out the first line I was able to start printing

Lines in question:

G1 X3 Y1 Z15 F9000 ; Move safe Z height to shear strings
G0 X1 Y1 Z0.2 F9000 ; Move in 1mm from edge and up [z] 0.2mm

However, while I was able to start printing, I soon found out that the extruder was doing the same thing with every retract it would create a loud screech and the filament wouldn't be retracted this caused heavy stringing as well as poor layer adhesion resulting in prints failing. I figured the problem was with the version of Marlin I was using so I attempted to use the latest bug fix. However, I was still experiencing the same problems. I attempted to see if the stepper current was the problem and after identifying that the stepper current was not the cause of the problem, I figured I needed to replace the stepper motors and after replacing the stepper motors the problem still remained. I figured the problem must be with Marlin so I attempted to use Klipper. However, I am still experiencing the same and now I can't even complete a mesh bed leveling as the movements that Klipper uses are triggering the loud screeching and causing the steppers to freeze up.

I am unsure as to what could be causing this as I think I've checked everything that could be causing it so I'm not quite sure how to proceed I've also made a video that should show the problem in action. So I guess I'm wondering what's my next troubleshooting step?

EDIT: Updates

I have tried changing the drivers back to TMC2208s there have been no changes on both Kilpper and Marlin.

I tried switching to an MKS Gen L V2.1 in case it was a mainboard problem. sill experiencing problems

Marlin Config

Configuration.H https://paste-bin.xyz/41662

Configuration_ADV.H https://paste-bin.xyz/41663

Klipper Config https://paste-bin.xyz/41677


The only other thing I think I can try is running the TMC2209s in standalone mode

  • $\begingroup$ Can you share the klipper config too? Marlin config is unintelligible and requires diffing against the stock (which is difficult with your pastes because they seem to have random junk mixed in) while klipper config is easy to interpret. This might reveal anything wrong in the settings you're using. $\endgroup$ Mar 5 at 12:50
  • $\begingroup$ Added the Klipper config $\endgroup$ Mar 5 at 13:44
  • $\begingroup$ I can't find anything suspicious in the Klipper config. Aside: this isn't your issue, but the non-whole-number rotation distances for X, Y, and Z are almost surely wrong because of how timing belts and lead screws work. If you measured X and Y errors that you were trying to correct for, they're almost certainly extrusion width errors (which don't scale with object size, unlike esteps errors that would scale with object size) or backlash that needs to be fixed mechanically. Likewise Z is almost surely a bed height error. $\endgroup$ Mar 5 at 18:03
  • $\begingroup$ just tried fixing that still no change. $\endgroup$ Mar 6 at 2:34
  • $\begingroup$ Yes, I wasn't proposing that as a solution to your problem here, just a note about something else that will come back to bite you if you care about dimensional accuracy. $\endgroup$ Mar 6 at 15:25

2 Answers 2


I haven't had time to view the video, but in general, the symptom you're seeing means you're trying to drive the stepper above the max RPM it can handle. Roughly speakling, coils (in the motor) resist a change in current, and past a certain point, a given voltage is insufficient to change the coil currents to perform a step before it's time for the next step. Typical steppers in cheap 3D printers max out around 1500-2000 RPM and lose power (meaning they'll likely work under no load) a little bit before that.

To figure out your motor RPM, multiply the axis speed (in mm/s) by steps per mm (full steps, not microsteps, so divide by number of microsteps per step) to get steps/s, then convert to rotations/min by multiplying by 60 and dividing by 200 (steps per rotation for a 1.8° stepper).

  • $\begingroup$ Ok so my printer worked with the same settings before at least for the extruder (can't say this about z cause of the lead screw upgrade) and my extruder steps per mm are 400 and the retract speed is 30mm/s so that would put the RPM at 3600 so I guess if that is something the TMC2209s can't handle then I might go back to the TMC2208s $\endgroup$ Mar 5 at 1:07
  • 1
    $\begingroup$ @DexterGrif: Keep in mind steps/mm here means full steps not microsteps. I'll clarify that in an edit later. So it might not be as high as you calculated. 30 mm/s retract should be no problem with an ungeared extruder; only with a very high reduction ratio would that be problematic. $\endgroup$ Mar 5 at 1:35
  • $\begingroup$ it is using a titan extruder so I am unsure how that changes things. also I am using 16 microsteps $\endgroup$ Mar 5 at 1:57
  • $\begingroup$ @DexterGrif: That should just be 25 full steps per mm and thereby 225 RPM. $\endgroup$ Mar 5 at 4:38
  • $\begingroup$ ok so the output of M203 (Max Feedrates mm/s) is: M203 X250.00 Y250.00 Z30.00 E55.00 so the RPMs are RPM=(((x*x_steps)*60)/200)/16 X=476.85 Y=472.5 Z=907.3 E=437.8 so that looks like it is within the limits. $\endgroup$ Mar 5 at 11:07

The maximum RPM depends on motor current. Higher current, lower max rpm.

I checked your klipper.conf and I can say that you should definitely reduce the currents for all motors. Extruder and Z motors at 0.9 A is crazy, for example. X and Y 0.7 A is enough, for Z and extruder 0.4 A is good already.

Also, you request F9000 which is impossible on that printer, therefore you are automatically limited by the firmware max speed. Try manually asking a more reasonable speed, like F2000. Keep decreasing until it works. Try decreasing the acceleration too: you have 120, try with 50 which is good already for Z moves. If it works, increase it progressively.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .