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.
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.