![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/a36b8f9e-0be2-4e61-a5b9-ef24550d0ca8/slate.png)
Understanding Pressure Advance and how Klipper implements it
Klipper firmware is a powerful tool that provides an array of features for our 3D printers. Possibly the most prominent feature is the ability to achieve lightning-fast print speeds. However, without performing the necessary calibrations, such as pressure advance, these high speeds can actually lead to a common weakness: under extrusion.
Under extrusion occurs when the filament flowing out of the nozzle fails to keep up with the rapid printing speeds. This can result in various print artifacts, such as bulging corners, gaps between printed lines, and overall poor quality.
This article is meant to address that issue and cover what I consider an essential Klipper calibration, pressure advance. We will delve into the significance of pressure advance calibration, its importance in the calibration hierarchy, as well as all the necessary steps to perform this calibration.
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/1690222740944-8F43ZP2JI362UHYOA06S/image-asset.jpeg)
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/a36b8f9e-0be2-4e61-a5b9-ef24550d0ca8/slate.png)
What is Pressure Advance?
Pressure Advance(PA) is a calibration that attempts to equalize the flow of filament through an entire extrusion pathway.
The general extrusion formula that most firmwares operate under assumes that one cubic millimeter (1 mm3/s) of filament entering the nozzle, will immediately exit the nozzle. However when using Klipper firmware and the high accelerations it offers, that basic formula (1:1), does not provide an accurate flow of filament. Certain physics, such as flow, pressure, and the unique properties of each filament, alter the pace at which material is being extruded. Namely, while the printhead is accelerating along a pathway not enough pressure will have built up in the nozzle to allow for a constant flow of material. This results in severe under-extrusion.
Conversely, during decelerations, too much pressure will exist in the nozzle which will result in excess material being deposited. This is seen in our finished models as over-extrusion, oozing, or bulging.
In order to counter this effect PA attempts to simulate the correct pressure in the nozzle. Practically, pressure advance accomplishes that by 'advancing' filament forward towards the nozzle during accelerations, and then ‘retracting’ filament away from the nozzle during decelerations. This process mimics the correct pressure, maintaining an even flow of filament while printing.
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/1690222740944-8F43ZP2JI362UHYOA06S/image-asset.jpeg)
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/a36b8f9e-0be2-4e61-a5b9-ef24550d0ca8/slate.png)
Finding the best pressure advance for your printer
There's no such thing as a perfect PA value for any 3d printer. The testing we perform is expected to get a more accurate flow of filament, but nothing will ever be perfect. Add to that an optimal pressure advance value will likely differ with every spool of filament your 3d printer uses. Luckily the difference within filament types should be minimal, which means you should only have to calibrate PA per filament class. That means you’ll have one pressure advance value for PLA, another for PETG, TPU, ABS, etc. These values will be saved within the printer.cfg and can be used whenever you print filament of the specific type. When printing materials that are unique within a specific type, Carbon Fiber PETG for instance, or filament that is printing at a higher than normal temperature, then I would suggest running a pressure advance test for that particular filament and using it while printing.
When printing materials that are unique within a specific type, Carbon Fiber PETG for instance, or filament that is printing at a higher than normal temperature, then I would suggest running a pressure advance test for that particular filament and using it while printing.
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/1690222740944-8F43ZP2JI362UHYOA06S/image-asset.jpeg)
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/a36b8f9e-0be2-4e61-a5b9-ef24550d0ca8/slate.png)
When should you recalibrate Pressure Advance?
Once finding an optimal pressure advance value you will rarely need to recalibrate it. PA is regulating the flow of filament from the nozzle, so if no parameters that affect extrusion are changed then continuing the same pressure advance should yield consistent results. Recalibrating pressure advance should be performed whenever you:
Increase or decrease the normal printing temperature (+/- 10c)
Change/replace/service any of the parts connected to the extrusion system. These includethe extruder, the nozzle, the PTFE tubing, or the hot end itself.
**Recalibration should be performed for each filament type you are printing (PLA, ABS, PETG, etc)**
This may seem daunting now, but after seeing how quick and easy the testing is, recalibration will not be a concern.
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/1690222740944-8F43ZP2JI362UHYOA06S/image-asset.jpeg)
![](https://images.squarespace-cdn.com/content/v1/61e454891e356f46cd93570b/a36b8f9e-0be2-4e61-a5b9-ef24550d0ca8/slate.png)
How to calibrate Pressure Advance?
There’s a few methods I know of for testing PA, and while they all differ, one general principle remains:
Each method will test a wide range of pressure advances within one printed model.
The user will determine which PA value looked the best for any given test.
Of course ‘looking’ the best is a subjective term, but as we enter the testing phase, you will learn, there are obvious aspects in a good PA value, and obvious aspects that comprise a bad PA. Like most things 3d printing, the more you perform each test the better you become at performing each test.
The calibration method I prefer is known as “The Lines Method”. This test will have your 3d printer extrude a series of lines using various PA values. When the test is complete you will look at the printed lines and determine which line is the most uniformly extruded from the beginning to the end. It’s a simple test, it requires a short amount of time, a small amount of filament, and no additional tools. The setup of the test is done through a website, and from there it will provide gcode which can be transferred to your 3d printer and printed.