pressure advancelinear advanceprint qualityKlipperMarlincalibration

Pressure Advance / Linear Advance: What It Does and How to Tune

If you have ever looked at a 3D print and noticed blobs at corners, bulging at the start of lines, or thin spots where the printer changes direction, the culprit is almost certainly filament pressure lag. Pressure advance (called linear advance in Marlin) is the firmware feature that fixes this, and tuning it properly is one of the highest-impact calibrations you can do.

This guide explains what pressure advance does, why it matters, and walks you through the tuning process on both Klipper and Marlin.

The Problem: Filament Pressure Lag

Your extruder pushes filament through a long melt zone and out a small nozzle. This creates pressure in the system, and that pressure takes time to build up and release. This lag causes two problems:

At the start of a line (acceleration): The extruder starts pushing filament, but it takes time for pressure to build up enough to push plastic out the nozzle at the correct rate. Result: under-extrusion at the beginning of lines.

At the end of a line (deceleration): The extruder stops pushing, but the built-up pressure continues to force filament out the nozzle. Result: over-extrusion at the end of lines, creating blobs at corners and direction changes.

Without pressure advance, the printer assumes filament output is instantaneous — push the motor, get filament. In reality, there is a spongy, compressible column of filament in the melt zone that absorbs and releases energy with a delay.

How Pressure Advance Fixes It

Pressure advance compensates for the delay by adjusting the extruder motor timing:

The result: consistent extrusion width throughout the entire line, including at corners and direction changes. Corners are sharp instead of blobby, and line starts are full instead of thin.

The amount of compensation is controlled by a single value — the pressure advance coefficient (called K factor in Marlin). Higher values mean more compensation. The correct value depends on your specific setup: filament type, nozzle size, temperature, and bowden tube length.

Klipper: Tuning Pressure Advance

Klipper's implementation is called "pressure_advance" and is generally considered more effective than Marlin's linear advance, especially at higher speeds.

Step 1: Print the Tuning Tower

Klipper provides a built-in tuning method. You can use the pressure advance tuning tower or print a dedicated test model.

The tuning tower prints a tall, thin model where the pressure advance value changes with height. You examine the print to find the height where corners are cleanest and line width is most consistent, then calculate the corresponding PA value.

Run this command before starting the print:

SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005

Step 2: Print and Examine

Print a simple rectangular tower at moderate speed. As the print progresses, the PA value increases from 0 at the bottom.

Look for:

Step 3: Calculate and Apply

Measure the height where corners look best. Calculate PA:

pressure_advance = start + (measured_height * factor)

Apply it in your printer.cfg:

[extruder]
pressure_advance: 0.045

Typical values:

Step 4: Fine-Tune

Print a calibration cube or a model with sharp corners. If corners still have slight blobs, increase PA. If corners have slight gaps, decrease PA. Adjust in increments of 0.005 for direct drive or 0.05 for Bowden.

Marlin: Tuning Linear Advance

Marlin's implementation is called "linear advance" (LIN_ADVANCE) and uses a K factor instead of the pressure_advance parameter name.

Enabling Linear Advance

Linear advance must be enabled in Marlin's firmware configuration. If your printer does not have it enabled by default, you need to compile Marlin with LIN_ADVANCE enabled in Configuration_adv.h. Many modern printers ship with it enabled.

Check if it is active by sending:

M900

If you get a response showing the K value, it is enabled.

Tuning the K Factor

The easiest method is the Marlin K-factor calibration pattern generator. This web tool generates G-code that prints lines at different K values. You examine the output and pick the K value that produces the straightest lines.

Alternatively, print a tuning tower similar to the Klipper method:

M900 K0 ; start value
; The slicer or a post-processing script gradually increases K

Applying the K Factor

Once you find the best K value, apply it:

M900 K0.05 ; for direct drive
M900 K0.6  ; typical for Bowden
M500       ; save to EEPROM

You can also set it per-filament in your slicer's start G-code.

Pressure Advance Values by Setup

These are starting points. Your optimal value will vary:

| Setup | PA (Klipper) | K (Marlin) | |-------|-------------|------------| | Direct drive, PLA | 0.02 - 0.06 | 0.02 - 0.06 | | Direct drive, PETG | 0.04 - 0.08 | 0.04 - 0.08 | | Direct drive, ABS | 0.03 - 0.07 | 0.03 - 0.07 | | Bowden (short tube), PLA | 0.2 - 0.5 | 0.2 - 0.5 | | Bowden (long tube), PLA | 0.5 - 1.0 | 0.5 - 1.0 | | Bowden, PETG | 0.3 - 0.7 | 0.3 - 0.7 |

The Bowden tube length has the biggest impact. Longer tubes mean more compression and higher PA values.

What Pressure Advance Affects

Understanding what PA changes helps you recognize when it needs adjustment:

Corners: The most visible effect. Proper PA produces sharp, clean corners without blobs or gaps. This is where most people notice the improvement.

Line width consistency: PA keeps the extrusion width constant even as the print head accelerates and decelerates. Without it, lines are thinner at the start and wider at the end.

Top surfaces: Consistent extrusion from PA improves top surface quality by preventing the pattern of under/over extrusion that creates a bumpy surface.

Speed capability: With PA tuned, you can print faster because the extrusion keeps up with speed changes. Without PA, faster printing amplifies the pressure lag artifacts.

Combining with Input Shaping

Pressure advance and input shaping are complementary:

Both should be tuned for optimal results. Tune input shaping first, then pressure advance. See our input shaping guide for that side of the equation.

Troubleshooting

Extruder skipping after enabling PA:

No visible improvement:

Different results with different filaments:

PA works on test prints but not on real models:

Recommended Calibration Tools

The Bottom Line

Pressure advance is one of those calibrations that, once set correctly, improves every single print you make. It takes about 30 minutes to tune and the improvement is permanent (until you change your hotend, extruder, or Bowden tube setup).

If you have not tuned pressure advance on your printer, do it today. Print a calibration cube before and after, and you will immediately see the difference in corner quality. Combined with input shaping, it unlocks the full speed potential of modern 3D printers.

For calibration models and test prints, use 3DSearch to find the best options across Printables, Thingiverse, and MakerWorld.

Time to tune those corners.

BG

Written by Basel Ganaim

Founder of 3DSearch. Passionate about making 3D printing accessible to everyone. When not building tools for makers, you can find me tweaking slicer settings or designing functional prints.

Learn more about 3DSearch →

Search for related models on 3DSearch

Find 3D printable models across Printables, Thingiverse, and Cults3D in one search. Get AI-powered slicer settings for your printer.

Search 3DSearch →