All Guides

HOW TO CALIBRATE PRESSURE ADVANCE (OR LINEAR ADVANCE)

Pressure Advance (Klipper) and Linear Advance (Marlin) compensate for the lag between extruder commands and actual flow. Calibrated, they virtually eliminate seam blobs and produce sharper corners.

Quick Steps

Klipper: TUNING_TOWER + SET_PRESSURE_ADVANCE
Bambu: Calibration menu - Flow Dynamics
Marlin 1.1.9+: M900 K<value> + M500
Re-calibrate per filament family
Typical PLA K: 0.04 direct, 0.10 Bowden
PETG K: 0.05-0.08 direct, 0.15 Bowden
WHY THIS HAPPENS
WHEN THESE FIXES FAIL

WANT SETTINGS TUNED FOR THIS ISSUE?

Generate slicer settings based on your printer, filament, and this exact problem.

Generate Settings

What It Is and Why It Matters

When the extruder pushes filament, there's a delay before plastic actually starts coming out of the nozzle - and another delay when it stops. At the start of a perimeter, this means under-extrusion (gap). At the end, over-extrusion (blob). Without compensation, these defects appear at the same spot on every layer (the seam) and accumulate into a visible vertical scar. Pressure Advance (Klipper) and Linear Advance (Marlin) predict this delay and adjust extrusion *ahead of* speed changes. Properly calibrated, lines start and stop with even thickness. The seam becomes nearly invisible, sharp corners stay sharp instead of bulging, and overall surface quality improves.

When To Use It / When Not To

Calibrate when: you're on Klipper, Bambu, or Marlin 1.1.9+ and have never run the calibration. Or you switched to a new filament type (each filament needs its own K-factor). Or you swapped extruder hardware. Don't bother when: you're on stock Marlin older than 1.1.9 - Linear Advance isn't supported. Or your printer is Bambu - it auto-calibrates per filament profile and you don't have to do anything.

Step By Step

Klipper (Pressure Advance): 1. Add `[input_shaper]` and accelerometer if not done. Then in `printer.cfg`, set initial `pressure_advance: 0.0` under `[extruder]`. 2. Download a tuning tower model (Klipper docs recommend a specific model; search 'Klipper pressure advance tower'). 3. Slice with no Z-hop, no acceleration changes mid-print, single perimeter or 0 infill. 4. Send via console: ``` SET_VELOCITY_LIMIT ACCEL=500 ACCEL_TO_DECEL=500 SQUARE_CORNER_VELOCITY=1 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005 ``` 5. Print. K increases with Z height (+0.005 per mm). 6. Inspect tower. Find the Z height where corners are sharpest and lines have most uniform width. Calculate: `K = z_height x 0.005`. 7. Set in `printer.cfg`: `pressure_advance: 0.045` (example). Restart Klipper. Bambu (Flow Dynamics Calibration): 1. Bambu Studio - Calibration menu - Flow Dynamics. 2. Select your filament profile. Run the auto-calibration print. 3. The X1C/X1 Carbon scans the print with its built-in camera and saves the K-factor automatically. 4. P1S/P1P: print, then visually pick the cleanest line and enter that K-factor in the filament profile. Marlin (Linear Advance, 1.1.9+): 1. Confirm Linear Advance is enabled: send `M900` over USB. Should return current K. 2. Generate a calibration G-code at marlinfw.org/tools/lin_advance/k-factor.html with your printer's parameters. 3. Print at slow speed (40-60 mm/s). 4. Inspect for the K value where corners are sharpest. Send `M900 K<value>` to set, then `M500` to save. Typical K values: - PLA direct drive: 0.03-0.05 - PLA Bowden: 0.08-0.15 - PETG direct drive: 0.05-0.08 - PETG Bowden: 0.12-0.20 - ABS: 0.04-0.07 - TPU: very low (0.02 or off entirely)

Common Mistakes To Avoid

Calibrating one K and using it for all filaments. Each filament needs its own K - PLA's K won't work for PETG. Skipping the velocity limit setup on Klipper. Without `SET_VELOCITY_LIMIT`, the test isn't a clean reading. Picking the visually 'cleanest' line without measuring. The best K produces uniform line width through corners and at perimeter starts/stops, not necessarily the line that looks shiniest. Forgetting to save. Klipper: SAVE_CONFIG. Marlin: M500. Bambu: built-in. Setting K too high. Causes negative effects: gaps at line ends instead of blobs, gouges in walls. If you see this, your K is over-shot - reduce.

Related Guides And Tools

Pressure Advance is the next step after e-steps and flow rate calibration. For seam-related issues that PA didn't fully solve, see seam-scars and blobs-zits.

Recommended Settings

Klipperpressure_advance in printer.cfg
MarlinM900 K<value> + M500
BambuAuto via Flow Dynamics
PLA Direct K0.03-0.05
PLA Bowden K0.08-0.15
PETG Direct K0.05-0.08
TPU K0.02 or disable

Related Guides

Visible Seam Scars

Visible vertical seam line down one side of every print? You can't eliminate the seam, but you can hide it and minimize its visibility with placement, pressure advance and scarf seams.

10–25 minintermediatemedium confidenceseamscars
Read guide

Blobs and Zits on Print Surfaces

Small bumps and pimples on the surface of your print are caused by pressure buildup at line starts and stops. Fix them with pressure advance, seam placement, wipe and coasting.

15–30 minintermediatemedium confidenceblobszits
Read guide

How To Calibrate Flow Rate (Single-Wall Cube Method)

Flow rate is the per-filament fine-tune that sits on top of e-step calibration. Get it right and walls measure exactly the line width you set; get it wrong and prints are systematically over- or under-extruded.

Read guide

SKIP THE GUESSWORK

FixMyPrint generates exact settings for your specific printer, filament, and slicer - in seconds. No manual tuning required.

Generate My Fix