Ad Space — Top Banner

Pressure Advance Formula

How Klipper Pressure Advance and Marlin Linear Advance work.
Explains the K factor, elastic filament path, how to read calibration prints, and tuning steps.

The Concept

Filament is not rigid. When the extruder pushes it, the filament compresses slightly inside the bowden tube and melt zone like a spring. This stored pressure bleeds out after the extruder stops, causing ooze and corner bulge. Pressure Advance (Klipper) and Linear Advance (Marlin) compensate by looking ahead at upcoming speed changes and pre-emptively adjusting the extruder.

The Formula

Eadvance = K × vprint

Eadvance is the extra filament pushed (or retracted) by the extruder in advance of the actual print head velocity vprint. K is a dimensionless constant that represents the spring compliance of your specific filament path.

SymbolMeaning
EadvanceAdvance extrusion amount (mm of filament)
KPressure advance constant (dimensionless)
vprintCurrent print head speed (mm/s)

K Factor Starting Values

SetupTypical K range
Direct drive, PLA0.04–0.10
Direct drive, PETG0.06–0.15
Direct drive, ABS/ASA0.03–0.08
Direct drive, TPU0.15–0.80
Bowden 400mm, PLA0.20–0.50
Bowden 600mm, PLA0.40–0.80

How to Calibrate

Print a pressure advance tower or line test at increasing K values. The correct K shows square corners without bulge, and consistent line width transitioning from slow to fast moves. The most common test is a speed-ramp line: a single horizontal move that accelerates from 20 to 150 mm/s while printing. The line should have uniform width along its entire length. Where the line thins, K is too high. Where it thickens at corners, K is too low.

Key Notes

  • Klipper uses pressure_advance, set via SET_PRESSURE_ADVANCE in the config or at runtime. Marlin uses M900 K. The math is similar but the implementation differs; Klipper applies it as a velocity look-ahead, Marlin applies it per-segment.
  • K is not universal. It depends on filament material, filament brand, nozzle temperature, bowden tube length, and even filament diameter consistency. Re-tune when changing any of these.
  • TPU and flexible filaments have very high K values because the material itself compresses significantly. Some printers cannot achieve good pressure advance with flexible filaments in a bowden setup because the filament buckles before the advance pressure can build.
  • Pressure advance reduces the need for retraction in many cases. Once K is well tuned, you may find that reducing retraction distance improves overall print quality rather than increasing it.

Ad Space — Bottom Banner

Embed This Calculator

Copy the code below and paste it into your website or blog.
The calculator will work directly on your page.