Optimise your 3D Printer Extruder by calculating your E steps


E steps tell your firmware how many steps your extruder stepper motor needs to move to extrude one millimetre of filament.

On a cheap 3D printer, like the Ender 3, this will not be factory calibrated based on your individual motor, and even if it were you’ll need a value to enter when configuring your own Marlin firmware upgrade, so best to work out your own value.

As extruder mechanisms put pressure on the filament, the teeth dig into the filament itself (in order to grip and move it). The amount the teeth dig in will vary depending on the filament, so you may potentially find the E steps value needs to be changed when you change your filament, but you’ll likely get away without changing this value often once calibrated.

The process is pretty straightforward, though easier if you have a metal rule instead of a plastic ruler.

  1. Retract your filament so only a few centimetres are going through your extruder. This will avoid wasting filament.
  2. Check for any over or under extrusion:
    1. Measure 120mm along the filament from where it enters the extruder and mark this position with a pen or pencil.
    2. Disable cold extrusion prevention using M302 P1
    3. Set your extruder to relative mode using G91
    4. Extrude 100mm of filament using G1 E100 F100
      • You may need to do this twice as G1 E50 F100 as 100 may be rejected as being too long for a single command
    5. Measure the remaining distance along the filament from where it enters the extruder to where you marked 120mm earlier to get your remaining distance
    6. 120mm – [remaining distance] = actual extrusion length
  3. Calculate your new E steps value
    1. Use M503 to report current eeprom settings
    2. Note the current E steps value at the end of the line beginning with M92.
    3. 100mm/[actual extrusion length] * [current E steps value] = new E steps value
  4. Test it
    1. Use M92 E[new E steps value] to set the corrected value
    2. Repeat step 2 above. The extrusion length should now be exactly 100mm.
  5. Save it
    1. Enable cold extrusion prevention using M302 P0
    1. Use M500 to save your settings to the eeprom
    2. Use M501 to load the printer to use eeprom settings, and confirm you see the new value in the returned report