⚙️ Stepper Steps Per MM Calculator

Stepper Motor Steps Per MM Calculator for 3D Printers and CNC

Four modes in one tool: calculate XY belt axes, Z lead screw, extruder theoretical steps, or calibrate e-steps from a measured extrusion test. Generates exact Marlin M92, Klipper rotation_distance, and RepRapFirmware commands. Supports 7 stepper drivers and 4 printer families.

✔ 4 Modes: XY, Z, Extruder, Calibration
✔ Marlin + Klipper + RRF Output
✔ 7 Driver Presets
✔ 4 Printer Quick-Fill
✔ Resolution Chart
✔ PDF Report
Motor and Driver Settings (apply to all axes)
Belt Type
mm
Pulley
teeth
↔️

Select belt type and pulley teeth, confirm motor and driver settings above, then tap Calculate.

Lead Screw Type
mm/rev
↕️

Select your lead screw type, confirm motor and driver settings, then tap Calculate Z Steps/mm.

Extruder Type
mm
: 1
🔩

Select your extruder type and confirm motor/driver settings. This calculates the theoretical starting e-steps value before physical calibration.

Measured Calibration Data
steps/mm
mm
mm
mm

How to measure: Heat your hotend to print temp. Mark filament 100mm from the extruder inlet. Send G1 E100 F100 (Marlin) at 1.7mm/s. Measure the gap between your mark and the extruder. If 8mm remains before your mark, you extruded only 92mm.

📐

Enter your current e-steps, the commanded distance (100mm), and the actual measured distance. The calculator returns your corrected value and Marlin M92 command.

Step Resolution vs Microstepping Level
Updates after each calculation. Shows diminishing returns above 1/16 microstepping for most FDM applications. Current microstepping highlighted in blue.

The Physics Behind Stepper Steps Per MM for Material Extrusion Printers

Every 3D printer and CNC machine converts electrical pulses into physical motion using stepper motors. The steps/mm value (or its Klipper equivalent, rotation_distance) is the critical translation factor between firmware commands and real-world movement. If this number is even 2 percent off, every dimension your printer produces will be 2 percent wrong. A 100mm calibration cube will come out at 98mm or 102mm. Parts that are supposed to mate together will not fit. The 20mm square tolerance cube that every printer community member runs first will tell you immediately if your steps/mm values are correct.

The core formula for belt-driven X and Y axes is: Steps/mm = (Motor Steps per Revolution × Microstepping) / (Belt Pitch × Pulley Teeth). For a standard Ender 3 with a 1.8° motor (200 steps/rev), TMC2209 at 16x microstepping, GT2 belt (2mm pitch), and a 20-tooth pulley: (200 × 16) / (2 × 20) = 3200 / 40 = 80 steps/mm. This value goes into Marlin as M92 X80 Y80 and into Klipper as rotation_distance: 40.

For the Z axis with a lead screw: Steps/mm = (Motor Steps × Microstepping) / Lead. The lead is total travel per revolution, which for a T8 lead screw with 4 starts at 2mm pitch equals 8mm. So: (200 × 16) / 8 = 400 steps/mm. This is why Z step values are typically 4 to 5 times higher than XY values on the same printer.

Standards reference: The NIST Engineering Laboratory’s Additive Manufacturing program identifies dimensional accuracy of material extrusion (FDM/FFF) parts as a priority measurement challenge, particularly for small features below 1mm. The stepping resolution of the motion system is a primary determinant of achievable dimensional accuracy. ISO/ASTM 52900:2021, confirmed Published and reviewed by ISO in 2025, defines material extrusion (MEX) as the process category encompassing FDM and FFF printing, and establishes dimensional accuracy as a key performance criterion for MEX systems. Correct steps/mm calibration is the mechanical foundation of this accuracy standard.

Why You Cannot Just Copy Someone Else’s Steps/mm Values

Community forums are full of “just use these values” posts with tables of supposed correct steps/mm for popular printers. These posts ignore four variables that change your correct value even on the same printer model: the exact microstepping setting of your driver chip (which can differ between stock boards and upgrade boards), the number of teeth on your specific pulley (aftermarket pulleys differ from stock), the lead of your specific lead screw (T8 lead screws come in 1mm, 2mm, 4mm, and 8mm lead versions that look identical externally), and whether you have upgraded to a different extruder with different gear ratios. The four-mode calculator above computes the theoretically correct value from your actual hardware, which is the correct starting point. Physical calibration fine-tuning from there catches belt stretch, backlash, and other real-world deviations.

Belt, Lead Screw and Extruder: Three Completely Different Axis Math Problems

Belt-Driven XY Axes

The XY axes on Cartesian printers (Ender 3, CR-10) and CoreXY printers (Bambu Lab, Voron, Ratrig) are belt-driven. The pulley converts motor rotation into linear belt motion. Travel per revolution depends entirely on how many teeth are on the pulley (each tooth spans one belt pitch).

GT2 is the dominant belt standard in US consumer 3D printing, with a 2mm pitch. GT3 (3mm pitch) is used in some industrial and high-torque CNC applications. 20-tooth pulleys are the most common in the US market (Ender 3, Prusa, most CoreXY). 16-tooth pulleys (Prusa MK4) give higher resolution at the cost of lower top speed. 36-tooth pulleys are used in high-speed CoreXY machines for improved torque.

Lead Screw Z Axis

The Z axis on most US desktop printers uses a trapezoidal lead screw (T8 being the most common standard). The key parameter is the lead: how far the nut travels per full revolution of the screw. The lead equals pitch × number of starts.

A T8 screw with 2mm pitch and 4 starts (the most common US Ender 3 and CR-10 configuration) has an 8mm lead. T8 with 1 start has a 2mm lead and much higher resolution (400 steps/mm at standard settings) but is slower and more prone to vibration-induced Z banding. Always measure or verify the lead rather than assuming from the screw’s visual appearance, as 2mm, 4mm, and 8mm lead screws look nearly identical.

Extruder Steps Per MM: The Gear Ratio Complication

Extruder e-steps are the most complex axis calculation because they involve the hob (drive gear) diameter and the mechanical gear ratio between the motor shaft and the filament drive gear. For a direct-drive setup with no gear reduction (gear ratio 1:1), the formula is simple: E-steps = (Motor Steps × Microstepping) / (π × Hob Diameter). A generic MK8 drive gear with an effective diameter of 11.26mm gives: (200 × 16) / (3.14159 × 11.26) = 3200 / 35.38 = 90.5 steps/mm. Real-world MK8 e-steps typically land between 90 and 95 due to filament diameter variation and drive gear geometry.

For high-ratio extruders like the Bondtech BMG (3:1 gear ratio) or the Orbiter v2.0 (5.37:1), the gear ratio multiplies the effective steps: BMG at 3:1 with 7.5mm hob = (200 × 16 × 3) / (π × 7.5) = 9600 / 23.56 = 407.4 steps/mm. The Orbiter v2.0 at 5.37:1 with 7.95mm hob = (200 × 16 × 5.37) / (π × 7.95) = 17184 / 24.97 = 688 steps/mm. Theoretical values like these are good starting points, but always physically calibrate the extruder with the mark-and-measure method before printing.

Important: The theoretical extruder calculation gives you a starting point, not a calibrated value. Filament diameter variation, hob wear, extruder gear backlash, and hotend back pressure all affect actual extrusion volume. After setting the theoretical e-steps, always run a 100mm calibration test and use the E-Step Calibration tab to fine-tune from the measured result. Calibrate at printing temperature with the hotend hot, not cold, or the extruder gear will grind without the softened filament channel reducing resistance.

How TMC2209 and A4988 Stepper Drivers Change Your Microstepping Calculation

The stepper driver chip between your motherboard and the motor determines the microstepping factor. Each driver divides each full motor step into a set number of micro-steps, improving smoothness and reducing audible noise. The microstepping factor directly multiplies your steps/mm value, so doubling the microstepping doubles the steps/mm (and halves the physical resolution of each step).

The A4988 driver (used in older Ender 3 boards, RAMPS, and many budget machines) supports up to 16x microstepping, configured by three hardware jumpers on the board. Most stock Ender 3 boards with A4988 drivers run at 16x. The DRV8825 supports up to 32x and is common in some aftermarket upgrade boards.

Trinamic TMC drivers (TMC2208, TMC2209, TMC2130, TMC5160) add a critical complexity: hardware interpolation. When configured via STEP/DIR pin strapping (hardware mode, no UART), a TMC2209 defaults to 8x microstepping. When configured via UART serial communication (software mode, used by Marlin with UART mode or Klipper), the firmware can set any microstepping up to 256x. However, TMC drivers also perform hardware interpolation: even at 16x firmware microstepping, the driver internally generates 256 micro-steps between each firmware step. This interpolation is transparent to the firmware and does not change the steps/mm calculation. For firmware purposes and for this calculator, use the firmware-effective microstepping value (typically 16x or 32x for TMC2209 in UART mode), not 256x.

DriverModeDefault/Typical MSMax Hardware MSInterpolationCommon Use
A4988Pin jumpers16x16xNoneOlder Ender 3, budget machines
DRV8825Pin jumpers16x or 32x32xNoneUpgrade boards, higher current motors
TMC2208STEP/DIR8x (hardware)256x (UART)To 256x internalCreality V4.2.2, V4.2.7 boards
TMC2209STEP/DIR8x (hardware)256x (UART)To 256x internalEnder 3 V3 SE, BTT boards
TMC2209UART (Marlin/Klipper)16x effective256x via UARTTo 256x internalMost current printers, Voron
TMC2130SPI16x typical256xTo 256x internalPrusa MK2.5, MK3 stock
TMC5160SPI16x typical256xTo 256x internalVoron high-current, LDO motors

Marlin M92, Klipper rotation_distance and RepRapFirmware Commands Explained

The steps/mm value you calculate is entered into your firmware in a format specific to each firmware family. This calculator generates the exact command line for all three major firmware platforms.

Marlin Firmware (M92 Command)

Marlin uses steps/mm directly. The M92 command sets axis steps per unit. For example: M92 X80.00 Y80.00 Z400.00 E93.00. You can set all four axes in one command or set them individually. After setting new values, send M500 to save to EEPROM, or the values will reset on next power cycle. Verify with M503 to see current settings. For permanent changes, update the values in Configuration.h and reflash the firmware.

Klipper Firmware (rotation_distance)

Klipper uses the inverse approach: instead of steps/mm, you configure the distance traveled per full motor revolution (rotation_distance). For a 20T GT2 belt: rotation_distance: 40 (= 20 × 2mm). The actual steps/mm is computed internally from rotation_distance ÷ (full_steps_per_rotation × microsteps). This approach means changing microstepping in Klipper does not require recalculating rotation_distance, which is a significant workflow advantage over Marlin. Update printer.cfg and run RESTART in the Klipper console to apply changes.

RepRapFirmware (M92 in config.g)

RepRapFirmware (used in Duet boards and some RatRig configurations) uses the same M92 syntax as Marlin: M92 X80.00 Y80.00 Z400.00 E415.00. Place this in your config.g file (not EEPROM), and it will be applied every time the printer boots. RepRapFirmware does not have EEPROM in the same sense; all configuration is in the config files on the SD card or on Duet Web Control.

Three Real US Calibration Failures and How Correct Steps Fixed Them

Denver, Colorado: Voron 2.4 Owner After TMC2209 UART Upgrade

A Denver maker completed a Voron 2.4 build and initially set steps based on community tables for TMC2208 in STEP/DIR mode (8x hardware), getting 200 steps/mm for XY. After switching to TMC2209 in UART mode at 16x effective microstepping, the correct value doubled to 400 steps/mm, but the maker did not recalculate. Every print came out at exactly 50 percent of the expected XY size. A 50mm test square measured 25mm. Using the XY mode calculator with 0.9° motor (400 steps), TMC2209 UART 16x, GT2 belt, and 20T pulleys: (400 × 16) / (2 × 20) = 160 steps/mm. Klipper rotation_distance: 40 (unchanged, because Klipper decouples rotation_distance from microstepping). The XY motion was immediately correct after updating Klipper and restarting. The dimensional error was entirely due to microstepping mode confusion, not mechanical issues.

Portland, Oregon: Prusa MK4 Owner After Bondtech BMG Extruder Upgrade

A Portland engineer upgraded their Prusa MK4 extruder to a Bondtech BMG for reduced mass on the direct drive setup. The Prusa MK4 stock e-steps are set in firmware and not user-adjustable without reflashing. After the BMG swap (3:1 ratio, 7.5mm hob), theoretical e-steps are (200 × 16 × 3) / (π × 7.5) = 407.4 steps/mm, versus the stock Prusa value of approximately 415 steps/mm for their original extruder. The engineer used the Extruder mode to get the theoretical value, then ran a 100mm calibration test and measured 97.1mm actual. Using the E-Step Calibration tab: new steps = 407.4 × 100 / 97.1 = 419.6 steps/mm. After applying this value and running another calibration test, the extrusion hit 99.8mm on the 100mm test, within acceptable tolerance for production printing.

Dallas, Texas: Ender 3 After Z Lead Screw Upgrade

A Dallas hobbyist upgraded their Ender 3 Z axis from a standard T8 8mm lead screw to an anti-backlash T8 4mm lead screw (2-start), purchased from Amazon. The stock Ender 3 Z steps are 400 steps/mm (correct for 8mm lead). The 4mm lead screw requires (200 × 16) / 4 = 800 steps/mm, exactly double. The maker failed to update the firmware. All Z dimensions came out at exactly double height: a 10mm cube measured 20mm tall. Running the Z Lead Screw tab with T8 4mm lead revealed the correct value was 800 steps/mm. After updating via M92 Z800 and M500, the first calibration cube measured 10.04mm, within 0.04mm of target. The 4mm lead screw also visibly improved Z banding on the printer due to finer resolution and reduced backlash.

Six Expert Calibration Tips for US 3D Printer Operators

1

Calculate First, Measure Second

Always start with the theoretical calculated value from this tool before running any physical calibration. Starting from a correct theoretical baseline means physical tuning adjusts only for real-world deviations (belt stretch, gear backlash, hob wear), not for firmware errors. Starting from a random or copied value wastes calibration iterations.

2

Calibrate Extruder Before Flow Rate

Always calibrate e-steps before tuning flow rate (extrusion multiplier). E-steps correct the fundamental volume of filament pushed per mm of commanded movement. Flow rate is a percentage adjustment on top of that. If e-steps are wrong, flow rate tuning will partially compensate but at the cost of hiding the underlying calibration error. The correct order is: e-steps, then pressure advance, then flow rate.

3

Heat the Hotend Before E-Step Testing

Run the 100mm extrusion test with the hotend at normal printing temperature (200°C for PLA), not cold. Most firmwares block cold extrusion by default. Cold extrusion bypassed with M302 generates test results that do not reflect the real resistance through the hot melt zone. Without heat, the extruder gear may also skip or grind, giving false short-extrusion readings.

4

Recalibrate After Any Drive Train Change

Recalculate steps/mm and run a physical calibration after every drive train change: driver chip swap, motor replacement, pulley change, belt replacement, lead screw upgrade, and extruder swap. Any change to the motor, driver, or mechanical drive geometry invalidates the previous calibration. Most print quality problems following an upgrade trace back to forgetting to recalibrate steps.

5

Run Multiple Calibration Passes

After updating e-steps from a calibration measurement, run the test again from scratch rather than assuming it is now correct. Each pass converges closer to the true value, especially if the first correction was large (more than 5 percent). Two to three passes are typically sufficient to get within 0.5 percent accuracy, which corresponds to a 0.5mm error on a 100mm print.

6

Use M503 to Verify, Not Just the LCD

The LCD panel on Marlin printers sometimes rounds displayed values. Always verify your current steps/mm values using M503 over USB (Pronterface, Octoprint terminal, or Repetier Host). The M503 output shows all current axis values at full precision. For Klipper, check printer.cfg directly for the rotation_distance values after making changes.

Quick Reference: Stock Steps Per MM for Popular US Printers

These are theoretical calculated values for stock hardware configurations. Physical deviations from these values (belt stretch, gear wear, manufacturing tolerance) are normal and expected. Use these as starting points for calibration, not as final values.

PrinterMotorDriverX/Y Steps/mmZ Steps/mmE Steps/mmKlipper XY rotation_dist
Ender 3 (stock A4988)1.8°A4988 16x80.00400.00~93 (Bowden)40.0
Ender 3 V3 SE (stock)1.8°TMC2209 16x80.00400.00~9340.0
Prusa MK4 (stock)1.8°TMC2209 16x100.00400.00~415 (BMG-like)32.0
Prusa MK3.5 (stock)1.8°TMC2209 16x100.00400.00~280 (Prusa DD)32.0
Voron 2.4 / Trident (0.9° motor)0.9°TMC2209 UART 16x160.00800.00varies by extruder40.0
CR-10 S5 (stock A4988)1.8°A4988 16x80.00400.00~93 (Bowden)40.0
Bambu Lab A1 / P1 / X1ProprietaryClosedNot user-configurableNot user-configurableNot user-configurableN/A

All values are theoretical calculated values. Physical calibration required. Bambu Lab printers use closed-loop proprietary firmware and do not expose steps/mm to users. Source: calculated from published hardware specifications using the formulas in this calculator.

16 Frequently Asked Questions About Stepper Motor Calibration

What is the correct steps/mm for a standard Ender 3 with stock settings?+
The stock Ender 3 with an A4988 driver at 16x microstepping, GT2 belt, and 20-tooth pulleys calculates to 80.00 steps/mm for both X and Y axes: (200 steps × 16 microsteps) / (2mm pitch × 20 teeth) = 80. The Z axis with a T8 8mm lead screw is 400.00 steps/mm: (200 × 16) / 8 = 400. The extruder in Bowden configuration with an MK8 drive gear typically calibrates to 93 to 95 steps/mm physically, though the theoretical value based on an 11.26mm hob is approximately 90.5 steps/mm. Always run a physical calibration test for the extruder regardless of theoretical values.
What is the difference between steps/mm and Klipper rotation_distance?+
Steps/mm (used by Marlin and RepRapFirmware) is how many motor steps equal 1mm of travel. Klipper’s rotation_distance is the inverse: how many mm the axis moves per full motor revolution. The conversion between them is: rotation_distance = (full_steps_per_revolution × microsteps) / steps_per_mm. For an Ender 3 XY axis: (200 × 16) / 80 = 40mm rotation_distance. Klipper stores rotation_distance because it decouples the value from microstepping: changing microsteps in Klipper does not require recalculating rotation_distance (Klipper handles the microstep factor internally), whereas in Marlin you must update the M92 value whenever you change microstepping.
Why did my steps/mm change after upgrading from A4988 to TMC2209 drivers?+
The A4988 defaults to 16x microstepping via hardware jumpers. A TMC2209 configured in STEP/DIR hardware mode (no UART) defaults to 8x microstepping. If you switch drivers without changing your steps/mm, your axes will move twice as far as commanded (because 8x means fewer steps per mm, so the axis overshoots). The fix is to update your steps/mm to reflect the new microstepping value. If you are using Klipper or Marlin with UART configuration of the TMC2209, set your firmware microstepping to 16x via UART, which brings the effective behavior in line with the stock A4988 at 16x. The Klipper rotation_distance stays unchanged when using Klipper with UART-configured TMC drivers, since Klipper handles the microstep factor internally in the stepper driver section of printer.cfg.
Does TMC2209’s 256-microstep interpolation change my steps/mm calculation?+
No. The TMC2209’s internal 256x interpolation happens transparently in hardware after the firmware step pulse arrives. From the firmware’s perspective, it sends 16 step pulses per mm (at 16x firmware microstepping), and the driver internally smooths each of those 16 steps into 256 micro-increments. The firmware steps/mm calculation only involves what the firmware is counting: 16 steps per mm in this example. Use 16x (or whatever your firmware-configured value is) in this calculator, not 256x. Using 256x in your steps/mm formula would cause every axis to move 16 times too little per command. This is a very common source of confusion when users upgrade to Trinamic drivers and read about 256-microstep interpolation.
How do I find the lead of my T8 lead screw?+
The lead of a T8 lead screw equals pitch multiplied by the number of starts (thread starts). A single-start T8 with 2mm pitch has a 2mm lead. A two-start T8 with 2mm pitch has a 4mm lead. A four-start T8 with 2mm pitch (the most common US Ender 3 configuration) has an 8mm lead. To identify the number of starts, look at the end of the lead screw: count how many thread starts are visible at the cut end. Alternatively, mark a line on the screw and manually rotate it one full revolution while counting how far the nut travels. The distance traveled in one revolution is the lead. Most budget T8 screws sold on Amazon for Ender 3 upgrades are 4-start, 8mm lead unless specifically labeled otherwise.
What happens if I increase microstepping too high?+
Above 1/16 microstepping, you get diminishing practical returns for FDM printing. The step resolution chart in the calculator shows this graphically. At 1/16, each step on an Ender 3 XY axis moves 12.5 microns. At 1/32 you get 6.25 microns, and at 1/256 just 0.78 microns. However, FDM layer adhesion, plastic shrinkage, and nozzle diameter all create real-world variation of 50 to 200 microns, making sub-12-micron theoretical resolution meaningless in practice. Additionally, very high microstepping reduces motor torque (each micro-step has less holding power), which can cause missed steps at the higher speeds typical of modern printers. 1/16 is the practical sweet spot for FDM printing, with 1/32 acceptable on TMC drivers with their StealthChop mode for reduced vibration. Using 256x for position accuracy in FDM applications provides no measurable benefit.
How do I calibrate e-steps in Klipper firmware?+
Klipper uses rotation_distance for the extruder, which is the inverse of e-steps. The calibration process is similar: heat the hotend, mark filament 100mm from the extruder inlet, command 100mm extrusion via the Mainsail or Fluidd interface or terminal. Measure actual extrusion. Calculate new rotation_distance: new_rotation_distance = current_rotation_distance × (actual_mm / commanded_mm). Note this is the inverse of the Marlin formula, where new steps multiplies by commanded/actual. Enter the new value in rotation_distance in your printer.cfg extruder section and restart Klipper. The E-Step Calibration tab on this page generates both the Marlin M92 command and the Klipper rotation_distance if you enter your current rotation_distance in the optional field.
What is a 0.9° stepper motor and when should I use one?+
Standard stepper motors have a 1.8° step angle, which gives 200 full steps per revolution. High-precision 0.9° stepper motors have 400 full steps per revolution, doubling the base mechanical resolution. This doubles your steps/mm at the same microstepping level. In Klipper, set full_steps_per_rotation: 400 for a 0.9° motor. The primary benefits of 0.9° motors are reduced motor resonance (narrower resonance band) and smoother motion at low speeds. They are popular in Voron builds and high-quality Prusa I3-style printers. The main downsides are higher cost ($15 to $30 more per motor) and slightly higher heat generation per step due to the finer winding geometry. For most US hobbyist builds, 1.8° motors are entirely adequate. 0.9° motors benefit high-speed CoreXY machines where resonance at high input-shaper frequencies matters.
Why does my calibration cube always come out slightly small or large even with correct steps?+
Several factors cause dimensional error beyond steps/mm: extrusion width deviation (if your actual extrusion width differs from the slicer’s assumption), pressure advance tuning (under-tuned pressure advance causes rounding at corners that appears as size error), elephant’s foot (the first layer squish adds material to the base), and XY compensation settings in the slicer. The dimensional accuracy standard for material extrusion under ISO/ASTM 52900:2021 referenced by NIST typically accepts plus or minus 0.2mm for hobby printers, which represents the combined effect of all these factors. Correct steps/mm eliminates the motor-geometry source of error but does not eliminate plastic-related dimensional variation. A well-calibrated printer should achieve 0.1 to 0.3mm total dimensional error on a 20mm cube after complete calibration of steps, flow, and pressure advance.
How do I find my pulley tooth count without removing the printer apart?+
The most reliable method is visual counting. Remove the print head or carriage cover to expose the drive pulley on one of the X or Y motor shafts. Count the teeth around the circumference of the pulley. Ender 3 and most Creality machines use 20T (20-tooth) pulleys on GT2 belt. Prusa MK4 uses 16T pulleys. Voron and many CoreXY machines use 20T. High-speed machines sometimes use 24T or 36T. If you cannot directly see the teeth, measure the outer diameter of the pulley: a 20T GT2 pulley is approximately 13mm outer diameter, a 16T is approximately 10.4mm outer diameter. You can calculate the number of teeth by measuring the belt pitch and circumference.
Can I use this calculator for CNC routers and laser cutters?+
Yes. The steps/mm formula is identical for CNC routers, laser cutters, engravers, and any other machine using stepper motors with belt or lead screw drives. The XY Belt tab works for belt-driven gantries on CNC routers (MPCNC, LowRider, Snapmaker). The Z Lead Screw tab works for Z travel on CNC routers. If your CNC uses rack and pinion instead of belt, use the same formula as belt: pitch of the rack × teeth on the pinion gear equals travel per revolution. For rack and pinion with a module-1 rack and 20-tooth pinion: travel per revolution = π × 20 × 1 = 62.83mm, giving steps/mm = (200 × 16) / 62.83 = 50.93 steps/mm for a 1.8° motor with 16x microstepping.
What is the hob effective diameter and how do I measure it?+
The hob (hobbed bolt or drive gear) effective diameter is the diameter at the point where the filament contacts the gear teeth: the mid-depth of the serrations or teeth, not the outer diameter of the gear or the inner bore. For an MK8 drive gear, the effective diameter is approximately 11.26mm, but varies by manufacturer. The most accurate measurement method is to mark the filament at the extruder inlet, command a known distance (100mm), then measure the actual movement. Use that measurement in the E-Step Calibration tab to get the effective steps/mm without needing to know the exact hob diameter at all. The theoretical hob diameter calculation is a useful starting point; physical calibration is the accurate result.
Why are my Z layers uneven even with correct Z steps/mm?+
Z banding (regular variation in layer height) with correct Z steps/mm is almost always caused by lead screw wobble or misalignment rather than steps/mm error. Check that the lead screw is truly vertical and concentric. The most common cause is a bent or slightly off-axis lead screw causing the nut to move slightly laterally as it rotates, creating a sinusoidal variation in actual Z height. A flexible coupler between the motor shaft and the lead screw helps absorb minor misalignment. For persistent Z banding, a lead screw wobble compensator (available as a Klipper macro or Marlin Z-tilt feature) can measure and compensate for this. Also verify your bed mesh compensation is active and your first layer is not set too thick, which can mask Z banding on early layers.
How do Orbiter and Sailfish extruder steps differ from stock MK8?+
High-ratio extruders like the Orbiter v2.0 (5.37:1 gear ratio, 7.95mm hob) have dramatically higher steps/mm than stock MK8 (1:1 ratio). Theoretical Orbiter v2.0 e-steps = (200 × 16 × 5.37) / (π × 7.95) = approximately 688 steps/mm. Compare that to stock MK8 Bowden at approximately 93 steps/mm. The higher gear ratio means each motor step moves significantly less filament, which dramatically improves extruder torque and reduces the chance of filament grinding or slipping under high-speed printing conditions. The tradeoff is very high theoretical step resolution but also proportionally higher sensitivity to any measurement error in the hob diameter. For high-ratio extruders, running a physical 100mm calibration after setting the theoretical value is especially important.
Does belt tension affect steps/mm accuracy?+
Belt tension affects print quality significantly but has a complex relationship with steps/mm accuracy. At correct tension, the belt meshes cleanly with the pulley teeth and each motor step produces exactly the expected travel. At too-low tension, the belt can slip on the pulley teeth, causing missed steps and layer shifts, but steps/mm itself is not changed in the firmware. At too-high tension, the belt and motor bearings experience excessive wear. Importantly, belt stretch (elongation under tension) does change the effective pitch from the nominal 2mm on a GT2 belt, which does create a small systematic error in steps/mm. This is why physical calibration of XY axes (measuring a large printed square) is recommended in addition to the theoretical calculation, as it captures the real-world effect of belt stretch and other mechanical deviations.
Do I need to recalibrate steps/mm after every print?+
No. Once correctly calibrated and saved to EEPROM (Marlin: M500) or config.g / printer.cfg (Klipper/RRF), steps/mm values are stable until hardware changes. The values do not drift over time with normal use. Recalibrate when you change any drive train component (motor, driver, belt, pulley, lead screw, extruder), when you notice dimensional drift in printed parts after a hardware event (motor replacement, belt replacement), after a firmware reinstall that resets EEPROM, or after a crash that may have shifted a pulley. For the extruder specifically, recalibrate when switching filament types of significantly different stiffness (e.g., very flexible TPU vs rigid PLA), or when replacing the extruder gear, as hob wear can gradually shift calibration over thousands of hours of use.