Pressure Advance and Linear Advance Calibration
Pressure advance pushes extra filament as the head speeds up and eases off as it slows, so corners do not bulge and line starts are not thin. Print a tower, line or pattern test that steps the value, pick the best corners or most even line, and save it to the filament profile or firmware. Tune extruder calibration and temperature first; the value is specific to printer, nozzle and filament.
What the test measures
Molten plastic in the nozzle behaves like a spring. When the head accelerates, pressure lags and the line comes out thin; when it slows, leftover pressure pushes out a blob. Bambu Lab describes this as under-extrusion during acceleration and oozing or blobs during deceleration, getting worse at higher speeds. Pressure advance predicts that pressure and adjusts the extruder to match. Marlin's documentation says a well-tuned value nearly eliminates bleeding edges and rough solid infill.
The names differ: pressure advance in Klipper, OrcaSlicer and newer Prusa firmware; Flow Dynamics (a K value) in Bambu Studio; Linear Advance (K factor) in Marlin and Prusa's MK3 family. Klipper notes it does not change print time, the toolhead path, or the total filament used; it only adds extruder movement during speed changes.
Prerequisites
- Extruder rotation distance (or E-steps) and nozzle temperature. Klipper says to tune both before pressure advance. Marlin says the extruder steps per mm must be calibrated precisely. See Before You Calibrate and Temperature Tower.
- Firmware support. OrcaSlicer warns that on Marlin printers Linear Advance must be enabled in firmware for M900 to work, and not every printer ships with it enabled.
- Dry filament and a clean nozzle. Bambu Lab lists damp filament and a worn or partly blocked nozzle among causes of unreliable Flow Dynamics results.
- For line tests, a good first layer. OrcaSlicer and Bambu Lab both say the line method depends heavily on first layer quality, and suggest bed leveling for it.
How to run it
Klipper: TUNING_TOWER
- Slice Klipper's hollow square (docs/prints/square_tower.stl) at high speed (Klipper's example is 100 mm/s), zero infill, and a coarse layer height of around 75 percent of the nozzle diameter Starting point. Keep 2 or 3 perimeters and normal retraction. Disable any "dynamic acceleration control" and scarf joint seams.
- Send
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500so corners are slow and pressure effects show. - Direct drive:
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005. Long Bowden: the same withFACTOR=.020Starting point. - Print. You can stop once the corners clearly get worse.
Measure with calipers to the height with the best corners. Klipper's example: 0 + 12.90 × 0.020 = 0.258.
Save it as pressure_advance = your value in the [extruder] section of printer.cfg and send RESTART, which also clears the test and the slow corner settings. Klipper gives typical values of 0.050 to 1.000, the high end usually only with Bowden extruders Rule of thumb. If nothing improves up to 1.000, it says pressure advance is unlikely to help; disable it.
OrcaSlicer: tower, pattern or line
Calibration, Pressure Advance, then choose the direct drive or Bowden version. The tower takes longer but does not depend on the first layer; the line test is quick but does. OrcaSlicer's tower raises the value by one step per millimeter of height.
OrcaSlicer's example with a step of 0.002 per mm: 0 + 0.002 × 8 = 0.016.
For the line method, pick the most even line; for the pattern method, the corner that is full but not excessive. Save the result in the filament profile.
Bambu Studio: Flow Dynamics
Calibration, Flow Dynamics, then Auto-Calibration or Manual Calibration. Bambu Lab lists automatic mode on H2D, X1 and A1 series (A1 from firmware 01.04.00.00) and manual only on P1. Bambu Lab says results jitter by about 10 percent between runs, that TPU and other soft filaments often fail, and that a 0.2 mm hotend or a third-party hotend can make automatic results inaccurate; use manual mode there. Bambu Lab says to recalibrate for a new filament brand or model, a worn or replaced nozzle, or a change to max volumetric speed or print temperature.
Marlin: Linear Advance
Marlin provides a K-factor calibration pattern generator. Each line prints slow, then fast, then slow; the line whose speed changes are smooth and barely visible is the best K. Too low starves the line as it speeds up and bulges it as it slows; too high does the reverse. Marlin suggests a test range of about 0.1 to 2.0 for Linear Advance 1.5 Rule of thumb, with Bowden extruders needing higher values. Prusa's MK3-family article lists its own tested K values for its 0.4 mm brass nozzle, for example 0.05 for PLA and 0.08 for PETG Maker spec, already built into PrusaSlicer's filament presets.
On Marlin, LIN_ADVANCE is a compile-time option in Configuration_adv.h, so turning it on means rebuilding and flashing the firmware. Before you do: have your printer's exact firmware source and configuration, a way back to the stock firmware, and calibrated extruder steps. Consequences Marlin documents: K values from version 1.0 do not carry over to 1.5 and must be recalibrated; version 1.5 may lower acceleration on moves where the needed extruder speed exceeds the extruder jerk limit, which is most likely on Bowden printers; and slicer pressure options such as Pressure advance, Coast at end or extra restart length should be turned off. If your printer maker ships its own firmware (Prusa, Bambu Lab), use the maker's settings instead.
Marlin recommends setting K per material with M900 K in the slicer's start G-code, with the firmware default K set to 0; M900 K0 disables it. Prusa says its MK4 family, XL and MINI replaced Linear Advance with pressure advance from firmware 5.0.0.
Reading the result
Klipper: below the right value corners blob; above it corners round off and the line before the corner thins. Slicers often change layers at one corner, so ignore that corner and judge the others. When in doubt, choose the lower value.
Leave these alone during the test
- Temperature and filament. The value depends on both.
- Acceleration and speed beyond what the test sets. Klipper warns that high values (over about 0.200) can make the extruder skip at normal acceleration.
- Retraction. Retune it afterwards with the retraction test: Klipper suggests a small retraction (its example is 0.75 mm Starting point) and wipe, with z-lift off (z-lift has its own trade-off; see Retraction), and Marlin says retraction may drop to nearly zero.
- Pressure advance Klipper
- Pressure Advance OrcaSlicer
- Flow Dynamics Calibration Bambu Lab
- Linear Advance Marlin Firmware
- Linear Advance Prusa Research
Last reviewed 2026-11-05