Used wrong pulleys (20T) - where and what do I set in Marlin?

I have made the dumb purchase locally of a 20T pulley set and GT2 belt. Unfortunately I have to wait for 2 weeks until the new 16T pulleys arrive that I ordered tonight.

What line do I adjust to compensate for the 20T pulleys? What will the new value be please.

I assume this will be the reason I am getting 12.5mm instead of 10mm when I send 10mm command from repetier?

I assume this formula is correct?

(steps * microstepping) / (teeth * pitch)

One revolution of a 1.8° stepper is 200 steps * 16 = 3200 steps/revolution.
For GT2 (2mm) belt and a 20 tooth pulley 1 revolution = 2 * 20 = 40 mm/revolution.

3200 steps/revolution * 1 revolution/40 mm = 80 steps/mm.

Most of us just use Prusa’s Calculator, this whole page is amazingly informative.

And yes your math is correct!

1 Like

In the configuration.h search for steps. There should be a line with something like {100, 100…

Thanks Ryan. I will go search the files where I need to set this.


#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 100 } //MPCNC

In configuration.h line #479

Ahh thank you Jeff

I found this line

  • Default Axis Steps Per Unit (steps/mm)
  • Override with M92
  • X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
    #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 2267.72, 100 } //MPCNC

I will change to { 80, 80, 2267.72, 80 }
Also out of curiosity what is the 2267.72 for?


Z axis, that number is for the allthread, 5/16" rod. The T8 would be 800, for 32nd stepping.

this is spot on Ryan. My XY now moves exactly 10mm… However my Z is a random Nema 17 that has no info on it at all. When I move the Z up 10mm it moves at the moment 2mm. I am using an M8 threaded rod if that helps.

Found it using the calculator. Thank you.
Z for M8 threaded rod = 2560.00

Sent a very small something your way Ryan. Sorry it is not huge.

1 Like

When you dont know what motor you have i will do like this. Make some math If 800 = 2mm what will be x= 10mm then try and If you need adjust

1 Like

Ryan, A few moments ago I asked about adjusting the values for the motors on the FB group. Upon further inspection, I now realize that I am too using 20t pulleys.

With that said, because of this post I sort of know what to do. My dilemma is that my line reads differently as described above. How come mine is 200 mm and not 100 mm?

#define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 4535.44, 200 } //MPCNC

MPCNC813_GLCD firmware. The formula above leads me to believe my adjusted value should be 160.


Everything else on my machine is standard, with the exception of my motors and pulleys.

While poking around I’ve come to the understanding that these motors are likely the same as the original 17’s when it comes to numbers.

The number of steps depends on the amount of microstepping. RAMPS is usually configured for 32 steps by default, so you need 200 steps/mm. Rambo maxes out at 16th steps, so you need only 100 steps/mm. Both those numbers are for 16T pulleys.

So you’d change yours to 160, for 32nd stepping and a 20T pulley.

1 Like

this modification is for 1.8 degree motor with 20 teeth ?
or for using 20 teeth only ?

2267 is for the old style screw. That should be 400, probably.

80 is for 1.8deg, 20T, 2mm pitch belt, and 1/16th microstepping.

1 Like