K-factor Calibration Pattern

There are two versions of Linear Advance. Linear Advance 1.0 is in Marlin 1.1.8 and earlier. Marlin 1.1.9 and up have Linear Advance 1.5.

The Javascript below generates G-code to calibrate the Linear Advance K-factor. The default values apply to typical PLA with a 0.4mm nozzle.

Press the Generate G-code button then use Download as file to save the result.

Settings

G-code

Printer:

Diameter of the used filament (mm)
Diameter of the nozzle (mm)
Nozzle Temperature (°C)
Bed Temperature (°C)
Retraction distance (mm)
Layer Height (mm)

Print Bed:

Rectangular or round bed. Round beds will activate Origin Bed Center
Size (mm) of the bed in X
Size (mm) of the bed in Y
Set the origin position (X0 Y0) to bed center instead of front-left corner

Speed:

Use mm/s instead of mm/min
Slow printing speed
Fast printing speed. This should differ noticeably from Slow Speed
Movement speed
Retract Speed of the extruder
Set printing acceleration (mm/s^2)
Set the Jerk for the X-axis. -1 to use firmware default
Set the Jerk for the Y-axis. -1 to use firmware default
Set the Jerk for the Z-axis. -1 to use firmware default
Set the Jerk for the Extruder. -1 to use firmware default

Pattern:

Select version 1.0 for Marlin 1.1.8 and earlier. Select 1.5 for Marlin 1.1.9 / 2.0 and up
Select standard or alternate pattern
Starting value for the K-factor. Usually 0 but for bowden setups you might want to start higher, e.g. 30
Ending value of the K-factor. Bowden setups may be higher than 100
Stepping of the K-factor in the test pattern. Needs to be an exact divisor of the K-factor Range (End - Start)
Length of the Slow Speed test-line (mm)
Length of the Fast Speed test-line (mm)
Distance between the test lines. This will impact print size
Adds a frame around the start and end points of the test lines. May improve adhesion
Rotates the print in 45° steps
Prints the K-value besides every second test line

Advanced:

Ratio between extruded line width and nozzle diameter. Should be between 1.05 and 1.2
Offset the Z-axis for manual Layer adjustment
Level bed before printing. Bed leveling has to be activated
Use Firmware Retract. Needs to be activated in Marlin
Usually 1.0
Prime the nozzle before starting the test pattern
The default of 2.5 results in roughly 1mm of filament for 10mm line length
Speed of the prime move
Inserts a pause of x seconds before starting the test pattern to bleed off any residual nozzle pressure

Notes on the settings:

  • Fast Printing Speed and Slow Printing Speed should be significantly different or the K-factor effect will barely be visible.
  • Use Bed Leveling requires a probe.
  • For round beds the option Origin Bed Center is automatically activated.
  • The overall width (X-direction) of the print depends on the Fast Speed Length and Slow Speed Length settings plus 5mm for the priming line. The length (Y-direction) depends on the K-factor Settings and Line Spacing.
  • The script checks to make sure the print fits on the bed. Verify it using a host software like Printrun or Repetier Host.
  • Start and End Value for the K-factor determines the range that the test pattern will cover. For example a Start Value of 50 and an End Value of 150 will test a range of 100.
  • The K-factor Stepping determines how many test lines are printed for the above range. For example, a Stepping of 10 and a range of 100 results in 10 test lines. A stepping of 3 would not work in this example as 100 cannot be exactly divided by 3. The script will throw an error message if an exact division is not possible. In this case either the range or the stepping needs to be adjusted.
  • The Alternate Pattern has a second line of Fast Printing Speed to test 0 to Fast Printing Speed and back to 0 conditions. Best used with an increased Test Line Spacing and reduced K-factor range.
  • The proper K-factor depends on the filament, nozzle size, nozzle geometry and printing temperature. If any of these values change, the calibration might need to be repeated.

Screen-shots

The following screen-shots show some examples of the test patterns

  • Blue Lines are Slow Printing Speeds
  • Red Lines are Fast Printing Speed
  • Light blue lines are movements

Standard Pattern

StandardPattern


Alternate Pattern with increased Test Line Spacing

AlternatePattern


Standard Pattern with Frame

FramePattern


45° rotated Alternate Pattern

RotatedPattern