I have Ramps 1.4 and would like to get answer on extrusion in Marlin firmware. I have NEMA 17 stepper motor 1.8 deg, set to 1/16 step. Mk7 direct drive. 38 teeth in extruder drive gear. I bought it from this website.

Here are my current settings:

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80,80, 4000, 180 }
#define DEFAULT_MAX_FEEDRATE          { 500, 500, 3, 45 } 
#define DEFAULT_MAX_ACCELERATION      { 9000, 9000, 100, 300 }

I am using ABS 1.75 filament and a 0.4 nozzle.


According to the description, the drive gear you have has a 10.8mm diameter. This means that (in the ideal case) one full rotation of the drive gear will advance a length of filament equal to its circumference, which is pi x 10.8mm or approximately 33.93mm.

Your motor rotates 1.8 degrees per step, so it takes 360 / 1.8 = 200 steps for a full rotation. Since you are using 16x microstepping, this is multiplied to 200 x 16 = 3200 steps.

You thus end up with a steps per mm value of 3200 / 33.93 = 94.31 steps/mm.

You might need to calibrate this further, for instance by extruding a set length of filament (e.g. 100mm) and measuring how much is actually extruded, and then compensating the steps/mm value to get you closer to the desired 100mm. A simple way to measure this is to put a mark on your filament at 150mm from the extruder, and then (after extruding 100mm) measure how close the mark is to the extruder (which should be 50mm) However, this theoretically computed value should be a good starting point. Note that the speed you do this test at should be close to your normal printing speed, since extruding at a much higher (resp. lower) speed will falsely lead you to believe you are underextruding (resp. overextruding).

  • $\begingroup$ Thank you so what i do understand is following in my marlin firmware. define DEFAULT_AXIS_STEPS_PER_UNIT { 80,80, 4000, 94.31 } define DEFAULT_MAX_FEEDRATE { 500, 500, 3, 94.31 } define DEFAULT_MAX_ACCELERATION { 9000, 9000, 100, 3200 } Is this correct. I made printer called graber i3 and got code from GitHub my exstruder are different from the one they using. Regards Gerhard $\endgroup$ – Gerhard Nell Jul 26 '17 at 7:11
  • $\begingroup$ You only need to change the steps per unit. It doesn't make sense to change the max feedrate to the steps per mm value. $\endgroup$ – Tom van der Zanden Jul 26 '17 at 7:23

Simplest way to calculate your extrusion is:

Set your number of perimeters walls 1 top and bottom layer 0 infill 0% and print simple 20x20x20 cube look at the wall thickness with caliper and compare your extrusion width value on your slicer software


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.