Pressure Advance Calibration for Better Print Quality
What Is Pressure Advance?
When your printer extrudes filament, the melt zone inside the hot end acts like a spring. Pressure builds as the extruder pushes filament in. When the print head decelerates for a corner, the extruder slows โ but the pressure in the hot end continues pushing filament out briefly. This causes oozing at corners and over-extrusion at direction changes.
Pressure Advance (Klipper) and Linear Advance (Marlin 2.x) compensate by pre-loading pressure before accelerating and releasing pressure before decelerating. The extruder moves slightly ahead of the head motion rather than exactly in sync.
Result: crisp corners, no blobs at direction changes, less stringing, more consistent extrusion throughout speed changes.
---
Do You Need to Calibrate This?
Signs you might benefit from pressure advance calibration:
- Blobs or bulges at the corners of prints
- Inner perimeters that look different from outer perimeters (different extrusion width)
- Gaps at the start of lines and ooze at the end
- The transition from infill to perimeter looks inconsistent
Signs it's already set well (or not needed):
- Corners are crisp and consistent
- Printed cubes have flat sides, not pillowed or indented
---
Calibration: The Pattern Method (OrcaSlicer)
OrcaSlicer has the best built-in pressure advance calibration tool:
- Calibration menu โ Pressure Advance
- Set your material and printer profile
- Optionally adjust the PA start, end, and step values (defaults are good for first time)
- Generate โ this creates a test print with PA values ranging across the columns
- Print on your target material
- Inspect the result: find the column where the corners are sharpest without under-extrusion
- Read the PA value from that column (printed in the model or shown in the calibration legend)
- Apply: Settings โ Filament โ Pressure Advance โ enter your value
---
Calibration: The Tower Method (Marlin / Klipper Universal)
- Download a PA tower model (Printables or Teaching Tech calibration)
- The tower has different PA values printed at different heights (marked on the side)
- Print it
- Find the height where corners transition from soft/bulgy to sharp, and identify the printed PA value at that height
- Enter that value into your slicer's Pressure Advance setting or Klipper config
---
Klipper: Setting Pressure Advance
In Klipper, pressure advance is set in printer.cfg:
[extruder]
pressure_advance: 0.045
pressure_advance_smooth_time: 0.040
Or at runtime (survives until restart, doesn't save):
SET_PRESSURE_ADVANCE ADVANCE=0.045
To make it permanent: add to printer.cfg and save.
---
OrcaSlicer: Per-Filament PA Values
OrcaSlicer stores PA values per filament profile โ the best approach:
- Filament Settings โ Pressure advance field
- Enter your calibrated value for this specific filament
- Save the profile with the filament name
- PA is automatically applied whenever you use this filament profile
This means PLA, PETG, and flexible filaments each get their correct PA value automatically โ no manual adjustment when switching.
---
Typical PA Values by Material
| Material | Typical Range | Notes |
|---|---|---|
| PLA | 0.02โ0.08 | Most common starting point: 0.05 |
| PETG | 0.04โ0.12 | Strings more โ usually needs higher PA |
| ABS/ASA | 0.02โ0.08 | Similar to PLA |
| TPU 95A | 0.0 | Not recommended for flexible filaments โ disable PA |
| TPU 87A/82A | 0.0 | Disable PA entirely |
| PA/Nylon | 0.03โ0.09 | Calibrate per brand โ varies widely |
| PC | 0.04โ0.10 |
---
Pressure Advance vs Flow Rate Calibration
These solve different problems and should be done in order:
- First: Volumetric flow / max flow calibration โ makes sure your extruder isn't slipping or stalling at the speeds you print
- Second: Pressure advance โ with correct flow, now fine-tune the timing of extrusion vs head motion
- Third: Temperature tower โ find the right print temp for this filament
- Fourth: Retraction calibration โ reduce stringing
Doing PA before flow calibration wastes time โ the pressure behavior is incorrect if your flow is wrong.