Los e-steps (pasos por milímetro del extrusor) le dicen a la impresora cuántos pasos tiene que dar el motor para empujar 1 mm de filamento. Si el valor no es correcto, la impresora extruye de más o de menos en todas las piezas: capas con huecos, paredes débiles o esquinas con exceso de plástico.
Es la primera calibración que conviene hacer después de cambiar el extrusor, la placa o los drivers, como en nuestras guías de mejorar el extrusor de la Ender 3 o configurar la placa SKR 1.3.
Calculadora
- Extruido realmente
- —
- E-steps nuevos
- —
Comandos para guardarlo (Marlin):
—Lo que necesitas
- Un calibre o una regla precisa.
- Un rotulador fino para marcar el filamento.
- Acceso a la consola de la impresora: OctoPrint, Pronterface, Mainsail/Fluidd (Klipper) o la pantalla si permite enviar G-code.
Paso a paso (Marlin)
1. Calienta el hotend
El filamento tiene que poder salir por la boquilla. Calienta a la temperatura habitual del material (por ejemplo, 200 °C para PLA) y espera a que se estabilice:
M104 S200
M109 S200
2. Consulta los e-steps actuales
M503
Busca la línea M92 en la respuesta: el valor después de E son los e-steps actuales (en una Ender 3 de serie suele ser 93).
3. Marca el filamento
Mide 120 mm desde la entrada del extrusor hacia arriba y haz una marca en el filamento. Usar 120 mm en vez de 100 mm deja margen para medir aunque el extrusor empuje de más.

4. Extruye 100 mm despacio
M83
G1 E100 F100
M83 pone el extrusor en modo relativo y F100 hace que extruya despacio (100 mm/min), para que la boquilla no frene el filamento y la medida sea fiable. Tarda alrededor de un minuto.
5. Mide lo que queda
Mide la distancia desde la entrada del extrusor hasta la marca. Si quedan 20 mm, el extrusor ha empujado exactamente 100 mm. Si quedan 23 mm, solo ha empujado 97 mm.

6. Calcula y guarda
La fórmula es:
e-steps nuevos = e-steps actuales × 100 / mm extruidos realmente
Con los datos del ejemplo: 93 × 100 / 97 = 95,88. Guárdalo:
M92 E95.88
M500
M500 lo guarda en la EEPROM. Si tu firmware no tiene EEPROM activada, tendrás que cambiar el valor en Configuration.h (DEFAULT_AXIS_STEPS_PER_UNIT) y recompilar, como explicamos en configurar Marlin 2.0 en la SKR 1.3.
7. Repite la prueba
Vuelve a marcar y extruir con el nuevo valor. Si la diferencia ya es menor de 1 mm, está calibrado.
Con Klipper: rotation_distance
Klipper no usa e-steps, sino rotation_distance (los milímetros que avanza el filamento en una vuelta completa del motor). La prueba es la misma, pero la fórmula se invierte:
rotation_distance nuevo = rotation_distance actual × mm extruidos realmente / 100
El valor está en la sección [extruder] de printer.cfg. Después de cambiarlo, guarda y ejecuta RESTART. En la consola, la extrusión se hace con:
M83
G1 E100 F100
Si partes de un valor en e-steps, la conversión es: rotation_distance = full_steps_per_rotation × microsteps / e-steps (por ejemplo, 200 × 16 / 93 ≈ 34,41).
E-steps frente a flujo (flow)
Son cosas distintas y se calibran en este orden:
- E-steps: mecánica del extrusor. Se calibra una vez por extrusor.
- Flujo (multiplicador de extrusión en el laminador): compensa el filamento concreto (diámetro real, material). Se ajusta por material o por bobina, imprimiendo un cubo de pared simple y midiendo el grosor.

No corrijas con el flujo un problema de e-steps, ni al revés.
Problemas habituales
- El extrusor da saltos o hace «clic» durante la prueba: extruyes demasiado rápido o el hotend está frío. Baja a
F50o sube la temperatura 10 °C. - Cada prueba da un resultado distinto: la tensión del brazo del extrusor no es correcta (resbala) o la rueda dentada tiene restos de plástico. Límpiala y ajusta la tensión.
M500no guarda: la EEPROM está desactivada en el firmware (EEPROM_SETTINGS).- Tras calibrar sigue habiendo subextrusión: revisa la boquilla (obstrucción parcial), la temperatura y la velocidad máxima de flujo del hotend.



