Machine Calibration
Extruder Rotation Distance Calibration
rotation_distance is the distance the extruder axis moves for each full rotation of the stepper motor. Precisely calibrating this value is key to ensuring accurate extrusion.
Reference: Klipper Official Documentation - Rotation Distance
Estimate Initial Value
Estimate the initial value based on the knurled gear diameter:
rotation_distance = Knurled Gear Diameter × π
If the extruder has reduction gears (e.g., BMG, Orbiter, etc.), you need to set gear_ratio separately in the configuration. rotation_distance should only contain the calculated value for the drive gear itself:
gear_ratio: 50:17 # BMG example (driver:driven)
Common gear ratios: BMG is 50:17
Measure and Correct
This is the most accurate method for calibrating the extruder, correcting the configuration value based on actual extrusion amount.
Preparation
- Filament is loaded in the extruder
- Heat the hotend to the recommended temperature for the filament (e.g., ~200°C for PLA)
- Prepare calipers or a ruler (accuracy ≥ 0.1mm)
Steps
1. Mark the Filament
Make a mark on the filament approximately 70mm from the extruder entrance. Precisely measure this distance with calipers and record it as the Initial Mark Distance.
2. Execute Extrusion Command
G91
G1 E50 F60
- It is recommended to use a slow speed like F60; high speeds can cause pressure deviations affecting accuracy.
- Wait for the extrusion to complete.
3. Measure and Calculate
After extrusion is complete, measure the distance from the mark to the extruder entrance again. Record this as the Final Mark Distance. Use the calculator below to get the new value:
Actual Extrusion Length = Initial Mark Distance - Final Mark Distance
New rotation_distance = Old Value × Actual Extrusion Length / 50
4. Update Configuration
[extruder]
rotation_distance: 23.280 # Replace with the newly calculated value
- Re-calibrate if the error exceeds 2mm.
- Repeat steps 2-3 two or three times to ensure stable results.
- The final error should be less than 1mm.
Rotation Distance Calculator
Z Offset Calibration (Manual Paper Method)
The Z offset determines the initial distance between the nozzle and the heatbed. Adjusting it accurately can prevent first-layer adhesion issues or damage to the heatbed.
- For machines that home using a mechanical endstop (e.g., Voron), the Z offset is stored in the
position_endstopconfiguration. - For machines using a probe (BLTouch / Tap / CR Touch, etc.), the Z offset is stored in
z_offset.
Preparation
- One sheet of A4 paper
Calibration Steps
1. Home and Move to Bed Center
G28
G90
G1 X[Bed Center X] Y[Bed Center Y] F3000
2. Move Z Axis Near 0
G1 Z2 F300
3. Insert Paper and Fine-tune Z Value
Place a sheet of A4 paper under the nozzle. Manually fine-tune the Z value via the console or interface (in steps of 0.025mm or 0.1mm) until:
- The paper is lightly pinched but can still be slowly pulled out.
- Feeling slight resistance indicates the correct position.
| Phenomenon | Cause | Action |
|---|---|---|
| Paper cannot move | Nozzle too low | Increase Z offset (increase value) |
| Paper slides completely freely | Nozzle too high | Decrease Z offset (decrease value) |
| Slight resistance when pulling | ✅ Correct position | Save configuration |
4. Save Z Offset
Once the correct position is found, execute the corresponding command based on your homing method:
# Mechanical Endstop (e.g., Voron)
Z_OFFSET_APPLY_ENDSTOP
# Probe Leveling (e.g., BLTouch / Tap)
Z_OFFSET_APPLY_PROBE
Then save the configuration:
SAVE_CONFIG
- During actual printing, you can fine-tune the first layer height via the web interface.
- After fine-tuning the first layer height, you need to save the configuration again.