• English
  • Čeština
  • Español
  • Italiano
  • Deutsch
  • Polski
  • Français
Last updated a year ago
This article is also available in following languages: 
This is an advanced calibration, recommended only to experienced users.

Linear Advance (LA) is a technology that predicts the pressure build-up in the extruder when printing at higher speeds. The firmware of the printer uses that prediction to decrease the amount of filament extruded just before stopping and decelerating, which prevents blobs or artifacts at the sharp corners. What is referred to as 'K-values' are the parameter determining how much Linear Advance affects the print.

With firmware 3.9.0, we introduced Linear Advance 1.5 for the Original Prusa MK3S, MK3, MK2.5S, and MK2.5, which was further improved upon with FW 3.9.1, addressing print artifacts found in specific scenarios and geometries. Linear Advance 1.5 is also backward compatible with version 1.0. In case you have a G-code with Linear Advance 1.0, the printer will analyze the code and convert the values automatically. 

Print profiles for the Original Prusa MINI are well-tuned. Additionally, there has never been LA1.0 on the MINI, so no conversion (to LA1.5) is required.


These values are part of our PrusaSlicer configurations and filament presets. No need to adjust if you are using these. However, if you are using filaments not present or wish to play around with the presets, we have developed a K-factor calibration print together with the community, to find the perfect K-values for your material and printing temperatures. These are based on the various quality and layer height presets found in PrusaSlicer.

This article mainly refers to the printer use with a 0.4 mm brass nozzle. Other nozzle sizes or materials could result in different K-values.

It will print a series of lines with different K-values affecting the speed and flow across the accelerated distance. The examples below show how the lines are affected by their K-value. The first and last 25 mm are printed slowly, and between the marked locations (red squares) 100mm is printed fast. Look closely at the transition from slow to fast and fast to slow. You see the line can be irregular to broken entirely when the value is not optimal, most visible on the top lines (red squares), but present on all except those with the optimal K-factor. You also see big differences between different materials and how much difference it can make to have this dialed in.

Calibration G-code printed with PLA at 215 °C. Most consistent line achieved with K-value 0.05 (green square).

Calibration G-code printed with ABS at 255 °C. Most consistent line achieved with K-value 0.04 (green square).

Calibration G-code printed with PETG at 240 °C. Most consistent line achieved with K-value 0.08 (green square).

Download calibration G-code

You can download the K-factor calibration G-code from our print depository or directly from the table below. These are for a 0.4 mm brass nozzle. Load the correct filament type for the G-code and start the print as any other.

MaterialLayer height | Fastest speed | PrusaSlicer profile
0.2mm | 45mm/s
0.2mm | 60mm/s
0.3mm | 50mm/s

If your usual printing temperatures are different than what is provided, feel free to modify the G-Code lines to your needs.

Change the "S" values, which is the temperature in Celcius:

 M104 S215 ; Set nozzle temperature (no wait)
M140 S60 ; set bed temp
M190 S60 ; wait for bed temp
M109 S215 ; Wait for nozzle temp

Optimal K-values and how to adjust

The optimal values we found in our testing are listed in the tables below. These can be implemented into any slicer. Please note that different brands and colors of the same material may require a slightly different K value when printing at extreme speeds, however, our presets should be fine with all of them. 

0.4 mm nozzle

CPE 0.07
PC Blend0.07
HIPS0.04 (some brands may need a higher K-value)
Nylon Taulman0.08
Nylon FX256 0.1

0.6 mm nozzle

PETG0.04 - 0.05
PC Blend0.04
ASA/ABS0.02 - 0.03
HIPS0.03 (some brands may need a higher K-value)
Be careful when setting new K-values. Changing them is recommended only for experienced users. Back up your settings before you adjust them.


As mentioned, the K-values for all filaments are already implemented into PrusaSlicer's presets. If you need to adjust these settings due to some exotic filament or a specific application, the K-value is set in the custom G-code section in the Filament Settings tab, NOT under the printer-specific custom G-code.

  • The blue arrow and box show the number to change for a 0.6 mm nozzle.
  • The green arrow and box show the number to change for a 0.4mm nozzle.

Other slicers

If you are using a different slicer than our PrusaSlicer, you must manually change the settings in the G-code script of your slicer. 

Simplify3D, Cura, etc. users just need to add “M900 Kxx” into the starting G-code script. Keep in mind you need to manually change that for different filament materials. Only PrusaSlicer has a custom G-code for each filament preset and therefore the K value is changed automatically. Set the desired speed and print something (large enough for speed to show up). If sharp corners have blobs, increase the K value. If you see missing filament, decrease the K value.

Users of Simplify3D, Cura, etc. should change their LA adjustments in their slicer when they install firmware 3.9.0 or newer!
If you are interested in a more in-depth explanation of how Linear Advance works, check out the Prusa firmware changelog on GitHub or vanilla Marlin's pages.

Was this article helpful?


Still have questions?

Still have questions?

If you have a question about something that isn't covered here, check out our additional resources.
And if that doesn't do the trick, you can send an inquiry to [email protected] or through the button below.

Contact us