3D Printer Linear Advance / Pressure Advance: K-Factor Calibration, Marlin and Klipper Setup — 2026 Guide

The corners of your print bulge while the straight walls look fine. That’s not a flow rate problem — it’s pressure lag in the nozzle, and Linear Advance fixes it by predicting the pressure change before the print head decelerates. Here’s how to calibrate it for your printer, whether you run Marlin or Klipper, and why your K-factor changes with every filament swap.

How to Calibrate Linear Advance / Pressure Advance

The problem is simple physics: filament is slightly compressible, and the Bowden tube or extruder path acts like a spring. When the print head accelerates out of a corner, the nozzle pressure lags behind the extruder command — you get under-extrusion on the first few millimeters of the new line. When it decelerates into a corner, excess pressure oozes out — you get bulging. Linear Advance models this spring behavior mathematically and adjusts extruder position in real time to compensate.

Step 1: Determine Whether Your Firmware Supports It

Marlin: Linear Advance (also called LIN_ADVANCE) has been built into Marlin since version 1.1.9. It must be enabled in the firmware — look for #define LIN_ADVANCE in Configuration_adv.h. If you compiled your own Marlin, you enabled it. If you’re using a pre-compiled firmware, check your printer’s configuration page to see if it’s listed. Marlin Linear Advance uses the K-factor, measured in units of mm of filament per mm/s of speed change.

Klipper: Pressure Advance is built into Klipper and enabled per-extruder in printer.cfg. It uses a different unit — seconds — because Klipper’s motion planner handles the kinematics differently. The parameter is pressure_advance in the [extruder] section.

RepRapFirmware (Duet): The feature is called Pressure Advance with similar implementation to Klipper. Configured via M572.

What happens if you enable it without calibration: The extruder will stutter or skip at the start of every line because it’s pushing filament at a rate the hotend can’t melt. Your prints will have gaps at every seam and the extruder motor will run hot.

Step 2: Print a K-Factor Calibration Pattern

The standard calibration tool is the Marlin Linear Advance calibration pattern generator (available at marlinfw.org/tools/linear_advance/k-factor.html). Enter your printer parameters and it generates G-code that prints a single line with changing K-factor values at regular intervals.

For Marlin:
1. Generate the pattern with K values from 0 to 2.0 in steps of 0.1 (for direct drive) or 0 to 4.0 in steps of 0.2 (for Bowden).
2. Print the pattern. The line will show varying extrusion quality — look for the section where the line width is consistent from start to end with no bulging at the acceleration/deceleration points.
3. The K-factor at that point is your calibrated value.

For Klipper, use the built-in calibration macro:

TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005

This prints a tower varying Pressure Advance from 0 to a calculated maximum, with the current value displayed on each layer.

Step 3: Fine-Tune Per Filament

K-factor changes with every filament — sometimes dramatically:

  • PLA: 0.0-0.15 (direct drive), 0.4-0.8 (Bowden)
  • PETG: 0.2-0.4 (direct drive), 0.8-1.5 (Bowden) — higher because PETG is more compressible
  • TPU: 0.5-1.2 (direct drive only — do not attempt Linear Advance with Bowden TPU)
  • ABS: 0.04-0.12 (direct drive), 0.6-1.0 (Bowden) if enclosed
  • ASA: Similar to ABS but slightly lower due to different melt viscosity

Store your calibrated K-factors in your slicer’s filament profiles, not in the printer firmware. Different filaments need different values, and changing firmware every time you swap spools is a recipe for forgotten settings.

Linear Advance K-Factor Reference Table

Filament Direct Drive K (Marlin) Bowden K (Marlin) Klipper PA (seconds) Effect of Too High Effect of Too Low
PLA 0.0-0.15 0.4-0.8 0.02-0.05 Extruder skipping, gaps at start of lines Bulging corners, excess material at direction changes
PETG 0.2-0.4 0.8-1.5 0.04-0.08 Gaps on acceleration, extruder grinding Blobbed corners, stringing at seams
TPU (95A) 0.5-1.2 Not recommended 0.08-0.15 Severe underextrusion, extruder jams Corners indistinguishable from PETG without LA
ABS 0.04-0.12 0.6-1.0 0.03-0.06 Layer adhesion loss at direction changes Bulging, dimensional inaccuracy
ASA 0.03-0.10 0.5-0.9 0.03-0.05 Same as ABS Same as ABS

Common Linear Advance Mistakes

Mistake 1: Calibrating Once and Using the Same K-Factor for All Filaments

A PLA K-factor of 0.08 on direct drive works perfectly — then you load PETG with the same value and every corner bulges. PETG is roughly 2-3× more compressible in the melt zone than PLA. The K-factor that compensates for PLA’s spring constant massively under-compensates for PETG.

Consequence: You think Linear Advance is “broken” or “not working” when the calibration is simply wrong for the current filament.

Fix: Create a filament profile in your slicer for each material you print regularly. Store the calibrated K-factor in the profile’s start G-code:
– Marlin: M900 K0.08 (for PLA direct drive)
– Klipper: SET_PRESSURE_ADVANCE ADVANCE=0.03 (for PLA)

Mistake 2: Enabling Linear Advance on a Printer with a Worn Extruder Gear

Linear Advance demands precise extruder movement. If your extruder gear has a flat spot or the teeth are filled with filament dust, the extruder can’t deliver the rapid micro-adjustments that LA commands. The result is worse than having LA disabled — random underextrusion that’s harder to diagnose than consistent corner bulging.

Consequence: You chase K-factor values for hours when the real problem is a $3 brass extruder gear that’s been on the printer for 2000 hours.

Fix: Inspect the extruder gear before calibrating LA. If the teeth show visible wear, replace the gear. Clean the teeth with a brass brush every 200 print hours.

Mistake 3: Applying Bowden K-Factors to a Direct Drive Printer

The Bowden tube adds significant spring compliance to the filament path. A Bowden printer might need a K-factor of 0.8 where a direct drive printer with the same hotend needs 0.08 — a 10× difference. If you copy Bowden calibration values to a direct drive machine, the extruder will violently retract and advance on every speed change.

Consequence: The extruder motor skips steps audibly at every corner. Print quality is dramatically worse than having LA disabled.

Fix: Always calibrate for your specific extruder configuration. Direct drive K-factors are in the 0.0-0.2 range for PLA, 0.2-0.5 for flexible filaments. Bowden K-factors start at 0.4 and go up to 2.0+ for flexible materials (which you shouldn’t print through a Bowden anyway).

Mistake 4: Not Disabling Linear Advance for Certain Features

Pressure Advance (Klipper) or Linear Advance (Marlin) can conflict with firmware retraction, coast, and wipe settings in the slicer. When both the firmware and slicer try to control extrusion pressure at the same moment, they fight each other. The result is inconsistent extrusion at every seam.

Fix: When enabling Linear Advance, disable slicer-based coast and wipe. Firmware retraction is usually fine, but test with a calibration cube before committing to a production print.

⚠️ Safety Notice: Linear Advance and Pressure Advance modify extruder behavior at the firmware level. Improperly calibrated K-factors can cause extruder motor skipping, which in extreme cases may lead to filament grinding and hotend jams. Always supervise the first print after changing K-factor values. Ensure your 3D printer has thermal runaway protection enabled and operates in a well-ventilated area. Check that your printer’s electrical system meets the latest 2026 safety certifications for your region.

Linear Advance works best when paired with proper input shaping — the input shaping guide covers resonance compensation that eliminates ringing artifacts LA can’t address. Our retraction and stringing guide covers the slicer-side settings you’ll want to re-tune after enabling LA. And if you’re deciding between slicers, the slicer comparison guide covers which slicers handle K-factor integration most cleanly.

Dialing in Linear Advance requires a printer that can deliver precise, repeatable extrusion — a dual-gear extruder upgrade eliminates the slippage and inconsistency that make K-factor calibration unreliable. The uavmodel store carries upgraded BMG-style dual-gear extruders compatible with Ender 3, CR-10, and most open-frame printers.

Leave a Comment

Scroll to Top