Last weekend I posted a video about printing fast and Ryan Carlyle mentioned,

Last weekend I posted a video about printing fast and @Ryan_Carlyle mentioned, that the ringing I experienced could be the source of using 1.8 degree steppers. He suggested trying 0.9° Steppers, because "0.9 degree steppers have 2x stiffer torque response to error. "
Now, I did some research and googled for this topic, but found quite controversial information. What is your opinion about this?


I recently read an article about microstepping that asserted that the microsteps would always be “approximated”, and the conclusion was essentially this: turn off microstepping, use gear ratios to get integer movement only at the stepper, and then use only full steps to make your movement much more accurate, precise, and repeatable.

I found it:

That article is a little misleading. Yes, it’s true that microstep positions are approximate and should not be relied upon to increase resolution, but that doesn’t mean you should turn microstepping off. That’s not what microstepping is for.

The purpose of microstepping is to make the motor run more smoothly. This reduces noise, makes the motor less likely to skip, and lets you run the motor faster (assuming your controller can keep up with the reduced step time).

Gearing might reduce ringing, but if it does, it’s most likely because backlash in the gearset is damping it. Backlash is something you want to avoid, and adding more stages of mechanical transmission just adds more opportunity for backlash to be introduced. That’s a bigger problem than ringing.

.9 degree steppers are a good thing, and anecdotally, I’ve seen better print quality after replacing 1.8 degree X/Y motors with .9 degree ones and reducing microstepping to keep the same number of steps/mm. This was going from 1/32 to 1/16 microstepping. The only situation in which I would recommend going below 1/8 microstepping is if your controller can’t keep up with the step rate at that level (which means that your step rate should be high enough for the noise level to stay fairly low anyway), but if it’s getting there because of mechanical reduction, I’d recommend reducing that first.

I’d agree with 0.9 being stiffer than 1.8 (even though I have no empirical data to back this up)
Buckle up, what follows might be wildly inaccurate in the specifics, but the correlations should still be correct:
A stepper’s holding torque is given for the point just before it skips, and that’s a fixed angle in the mechanical (rotor) to electric (coil excitation) phase, IIRC that’s with a 90° phase shift. 1 full step of the motor is a 360° phase shift, so as your step increments get smaller, the absolute angle offset from its ideal electrical position will also decrease at a given load (static or dynamic).
So in theory, a 0.9° motor should be twice as stiff as a 1.8° one, but of course you also have belts and other mechanical elements that can flex.

There are some posts on the forum showing the quality difference.

I need to get my book finished so I can just point to the stepper chapter :-p

Stepper torque developed in each instant is a function of the rotor position error… T=Tmax*sine(error) where 1 full step error is 90 degrees (degrees electrical phase of the coil energization sequence, not rotor angle). When the driver advances the coil energization, that creates error between the rotor and coils’ field, which makes a torque to accelerate the rotor in the proper direction.

[Yes, torque is zero when there’s no error, that’s how the stepper stops when it gets to position!]

In practice, all open-loop 3d printer operations are done with considerable torque safety factor, so the torque response is typically in the region where the sine function is roughly linear. So it’s fair to say that torque is proportional to error for a properly-sized stepper.

Now, the definition of “error” here is in terms of full steps for the motor. If your gantry has, say, 0.02mm of error due to ringing, then how much torque you get depends on the full step size for the drivetrain. Imagine a 20t GT2 pulley that is 40mm travel per rev. For a 1.8 degree stepper, each full step is thus 40/200=0.2mm and a 0.02mm error develops very roughly 10% of the max torque. But then if you have a 0.9 degree stepper, each full step is 40/400=0.1mm and the same 0.02mm error develops very roughly 20% of the max torque.

Basically for a given torque rating, the 0.9 degree stepper produces twice torque for a given error or the same torque with half the error. Which means crisper motion control.

Those 2 comments from @Thomas_Sanladerer and @Whosa_whatsis taken together makes me think using 0.9 degree steppers with whatever the microstep driver’s minimum stepping setting (1/8?) is the optimal tradeoff for achieving the best results, while keeping the noise down. That being said, I thought the article I linked to made a compelling argument.

I’m considering using 0.9 degree steppers + TMC stepper drivers in 1/4 => 1/256 interpolation mode on my RAMPS board.

Anyone who says you should run a 3d printer stepper in full-stepping mode, EVER, is an idiot who doesn’t understand stepper motors. Anything coarser than 1/4th stepping has severe risk of resonance and less torque in practice than finer microstepping.

The conceptual breakdown here is that people mistake “marginal torque per microstep” with “motor torque developed in use.” Actual motor torque has NOTHING to do with microstep level.

Sorry, I just get really tired of having to re-explain this… there’s SO much misinformation from people who read a blog post and don’t know any better.


  • Microstepping up to about 1/8th adds resolution, prevents resonance, and decreases noise
  • Microstepping over about 1/16th just decreases noise
  • The ONLY* downside to finer microstepping is when your controller can’t keep up with the required step pulse rate
  • Microstepping is separate from gearing, and you shouldn’t confuse the goals or outcomes of changing gear ratio vs changing microstep level – gearing exchanges speed for more torque and resolution (at possible cost of backlash), whereas microstepping just lets you use all of the motor’s inherent torque and resolution.
  • Not all drivers can execute very fine microsteps properly (looking at you, 8825) and that throws a wrench into things where somewhat coarser microsteps might look less bad, but in general, the statement is correct.

Most of the ringing comes from undersized drivetrain. Belts are like bungee cords at those speeds and accelerations that @Rene_Jurack ​ showed in the video. Swap with ball spindles and it will almost all go away. What is left will be the resonances of the frame, even when build massive still likes to sing. When assembling machines it is very good thing not to do bolting at same distances ect., one has basically do everything necessary to avoid making a musical instrument instead of a cnc, printer…and then and only then I would switch to 0.9 to see the difference (;

@Ryan_Carlyle thank you for the detailed explanation.

Also, regarding the TI DRV 8825 drivers, what is your issue with them? (not disputing, just curious)

The distance of the overshoot at the corner from the part in the video is ~0,4mm. This would be 40steps (I have a 100steps/mm setup). So, yes, like @Matej_Rozman says, I think this is caused by the belt.
But thanks for the 0.9-input :slight_smile:
related: Is there ‘better’ GT2 belt?

@Rene_Jurack yes it’s called GT3 :slight_smile: only a little stiffer than GT2 though. You can also go to 9mm wide belts and pulleys for a relatively easy 50% upgrade. Beyond 9mm GT3 you could go to Kevlar (minor improvement over fiberglass). Beyond that you have to go to 3mm pitch belts, which will cause a lot of issues for your design in terms of steps/mm and pulley routing changes.

FYI, the motor doesn’t skip steps until you hit 2 full steps past the target, which means up to 0.32mm potentially if I’m doing the math right for Renee’s drivetrain.

Most belts sold as “GT2” are not specifically GT2 anyways. They are GT-series belts with a 2mm pitch, making them a “2GT” belt.
Brand-name 2GT-2M or 3GT-2M should already perform better than no-name belts-

@SirGeekALot The 8825 decay modes aren’t set up right for the low-inductance motors we use in 3d printers, particularly with 24v PSUs. The blanking time (minimum PWM on time) is too long, which causes the current to overshoot during low-current microsteps, which messes up the coil current ratios during certain microsteps, so you get ripples in the print. Primarily happens at low speeds. You can do some soldering to switch them to fast decay mode and eliminate the rippling, but then they make annoying hissing noises. Basically they’re ok for certain motor’s on 12v but have problems with other combos.

@Alex_Skoruppa steel core belts will fatigue with typical size 3d printer pulleys. Dunno how long they’ll last, but premature failure is a very real possibility.