Skip to main content

Resonance Compensation and Pressure Advance Configuration Issues

This page compiles configuration errors and tuning anomalies related to Input Shaper (resonance compensation) and Pressure Advance. For accelerometer hardware connection and communication errors, please refer to Accelerometer Testing and Calibration.

Print Quality Worsens or Becomes Blurry After Enabling Input Shaper

Symptom: After configuring [input_shaper], surface ghosting/rippling on printed parts becomes more noticeable than when disabled, or details become blurry and corners rounded.

Common Causes:

  • shaper_freq_x / shaper_freq_y deviate significantly from the actual resonance frequency.
  • The selected shaper_type is unsuitable for the current machine (e.g., using 2hump_ei on a high-rigidity machine causes excessive smoothing).
  • Mechanical structure has looseness (loose belts, large slider clearances, unsecured screws), which resonance compensation cannot correct.
  • Pressure Advance was not recalibrated after enabling Input Shaper; the two effects combine causing extrusion anomalies.

Solutions:

  1. Rule out mechanical issues first: With power off, check belt tension, slider/rail clearances, and frame screw tightness.

  2. Re-run resonance measurement to obtain accurate frequencies:

    TEST_RESONANCES AXIS=X
    TEST_RESONANCES AXIS=Y
  3. Choose the appropriate shaper type based on the resonance graph:

    ShaperSuitable ForFrequency ToleranceSmoothing Impact
    zvHigh-rigidity, low-vibration machines±5%Lowest
    mzvMost desktop machines (recommended first choice)±10%Medium
    eiBed-slinger / higher vibration±20%Medium-high
    2hump_eiMultiple resonance frequencies present±45%High
    3hump_eiComplex resonance patterns±60%Highest
  4. Pressure Advance must be recalibrated after enabling Input Shaper:

    SET_PRESSURE_ADVANCE ADVANCE=0
    TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005
  5. If blurring is severe, try lowering shaper_freq by approximately 5–10% or switch to a shaper type with lower tolerance.

Related configuration reference: Klipper Resonance Compensation Official Documentation.

TEST_RESONANCES / SHAPER_CALIBRATE Configuration Errors

Error Messages:

  • accel_chip not configured / No accelerometer configured
  • probe_points must be specified or coordinates out of print range
  • Invalid accel_chip / specified chip name not found

Common Causes:

  • accel_chip is not configured in [resonance_tester], or the name does not match the [adxl345] / [mpu9250] / [lis2dw] section name.
  • probe_points coordinates exceed the position_max range defined by [stepper_x] / [stepper_y].
  • Incorrect capitalization or prefix for accel_chip when multiple accelerometers are configured.

Solutions:

  1. Ensure configuration section names match:

    [adxl345]
    cs_pin: toolboard:gpio12
    spi_bus:spi0_gpio4_gpio3_gpio2

    [resonance_tester]
    accel_chip: adxl345
    probe_points:
    150, 150, 20
  2. The X, Y coordinates of probe_points must be within the print range; the Z coordinate is the nozzle height above the bed during testing (20 mm recommended).

  3. If using an accelerometer on the toolboard, the accel_chip name must exactly match the configuration section (case-sensitive).

  4. In multi-chip scenarios, accel_chip_x and accel_chip_y can be specified to correspond to different axes.

Hardware Communication Errors: If ACCELEROMETER_QUERY returns timeout or ID errors, refer to the common issues section in Accelerometer Testing and Calibration.

axes_map is Not Auto-Detected

Symptom: ACCELEROMETER_QUERY returns data normally, but after running TEST_RESONANCES / SHAPER_CALIBRATE, the resonance graph orientation is abnormal, X/Y axis results appear swapped, or print quality does not improve after enabling Input Shaper.

Explanation:

In Klipper, accelerometer configurations such as [adxl345], [lis2dw], [mpu9250], [bmi160], and [icm20948] use the same axes_map parsing logic. Klipper only reads the axes_map from the configuration; it does not automatically determine coordinate mapping based on sensor mounting orientation.

If axes_map is not filled in, the default value is:

axes_map: x,y,z

Common Causes:

  • The mounting orientation of the toolboard or external accelerometer does not align with the printer's X/Y/Z coordinate directions.
  • Configuration copied from another machine or mounting orientation, resulting in incorrect x, y, z order or sign.
  • After replacing the toolboard, hotend housing, or accelerometer mounting position, axes_map was not re-verified.

Correct Syntax:

axes_map must contain 3 axes, and supports swapping axis order and negating:

[adxl345]
axes_map: x,y,z

# Example: X unchanged, Y/Z swapped
# axes_map: x,z,y

# Example: X/Y directions negated, Z unchanged
# axes_map: -x,-y,z

Verification Method:

  1. First confirm accelerometer communication is normal:

    ACCELEROMETER_QUERY
  2. Start recording accelerometer data, then test X and Y directions with small movements:

    ACCELEROMETER_MEASURE
    G91
    G1 X10 F3000
    G1 X-10 F3000
    G1 Y10 F3000
    G1 Y-10 F3000
    G90
    ACCELEROMETER_MEASURE NAME=axes_map_check
  3. In /tmp/<chip-type>-axes_map_check.csv, check which data column changes the most during X/Y movement. For example, [adxl345] generates /tmp/adxl345-axes_map_check.csv; if using a named configuration section (e.g., [adxl345 hotend]), the filename will include the corresponding chip name.

  4. If movement in the X direction primarily responds in Y or Z, the axis order needs adjustment; if the response direction is reversed, add - before the corresponding axis.

  5. In multi-accelerometer scenarios, ACCELEROMETER_MEASURE accepts the CHIP=<chip-name> parameter to specify which accelerometer to test.

  6. After modifying axes_map, execute RESTART, then re-run TEST_RESONANCES or SHAPER_CALIBRATE.

Tip

axes_map only affects how accelerometer data is mapped to printer coordinates; it does not fix accelerometer communication issues. If ACCELEROMETER_QUERY itself reports errors, resolve the accelerometer communication or wiring issues first.

Failed to configure shaper(s)

Error Messages: configparser.Error: Failed to configure shaper(s) shaper_x with given parameters, Failed to configure shaper(s) shaper_z with given parameters.

Common Causes:

  • shaper_freq_x or shaper_freq_y exceeds the usable frequency range of the selected shaper_type. For example, mzv may have no valid solution at higher frequencies.
  • damping_ratio is set improperly (too small or too large), preventing the shaper from generating valid parameters.
  • Manually entered parameter combinations that were not verified with SHAPER_CALIBRATE.

Solutions:

  1. Re-run SHAPER_CALIBRATE and use the automatically recommended shaper_type and shaper_freq.
  2. If adjusting manually, try lowering shaper_freq or switch to a shaper type with higher tolerance (such as ei or 2hump_ei).
  3. Confirm damping_ratio is within a reasonable range (default 0.1, common range 0.05–0.2).
  4. If a shaper needs to be disabled on a specific axis, set shaper_freq_x: 0 instead of entering an invalid value.

shaper_freq Too High Causing Motor Noise or Missed Steps

Symptom: After enabling Input Shaper, the motor produces high-frequency whining, the print shows regular striping patterns, or steps are lost during high-speed movement.

Common Causes:

  • shaper_freq is set much higher than the actual resonance frequency (e.g., actual 40 Hz but set to 80 Hz).
  • The resonance graph was misinterpreted, mistaking a noise peak for the resonance frequency.
  • max_accel is set too high, exceeding the motor's torque capability. Solution:
  1. Re-run SHAPER_CALIBRATE and follow the automatically recommended frequency and shaper type.

  2. When manually interpreting the resonance graph, select the frequency corresponding to the highest and sharpest peak, and ignore low, broad noise.

  3. Lower max_accel to a range where the motor does not lose steps (it is recommended to start from 3000 and gradually increase):

    [printer]
    max_accel: 3000
  4. If the motor continues to make abnormal noises, temporarily disable Input Shaper to confirm whether it is a configuration issue:

    SET_INPUT_SHAPER SHAPER_FREQ_X=0 SHAPER_FREQ_Y=0

Corner Blob or Gap After Enabling Pressure Advance

Symptoms: After enabling pressure_advance, material accumulates (blobs) at the corners of printed parts, or there is a section of missing material/thinning before corners.

Common Causes:

  • PA value too low: Residual pressure in the nozzle is not fully compensated during deceleration → corner blobs.
  • PA value too high: Excessive retraction during acceleration → missing material before corners, thinner lines.
  • The slicer has enabled Coasting or Extra restart distance simultaneously, which conflicts with PA compensation.
  • The extruder's rotation_distance is not calibrated, resulting in inaccurate base extrusion volume.

Solution:

  1. Ensure disabling Coasting, Extra restart distance, and dynamic acceleration control in the slicer.

  2. Calibrate the extruder rotation_distance first, then calibrate PA.

  3. Use TUNING_TOWER to print a test tower:

    SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
    TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005

    Use FACTOR=.005 for direct-drive extruders and FACTOR=.020 for remote Bowden setups.

  4. Select the layer height corresponding to the clearest corners and most uniform lines, then calculate the PA value:

    pressure_advance = START + 高度 × FACTOR

  5. Typical value range: 0.02–0.15 for direct drive, 0.1–1.0 for Bowden. If there is no improvement even above 1.0, the issue is not related to PA.

Related configuration reference: Klipper Pressure Advance Official Documentation.

Extruder Skipping Due to Excessive PA Value

Symptoms: After using a high pressure_advance value (e.g., >0.2), the extruder produces clicking sounds during acceleration/deceleration phases, or the print shows broken lines.

Common Causes:

  • PA compensation generates a large amount of additional extrusion/retraction movement during acceleration and deceleration, exceeding the extruder's torque.
  • Acceleration settings are too high, causing the instantaneous PA compensation amount to become too large.
  • Insufficient extruder current or filament slipping.

Solution:

  1. Lower max_accel to reduce the instantaneous extrusion amount required by PA compensation.
  2. Appropriately reduce the PA value to balance corner quality and extrusion reliability.
  3. Check whether the extruder current setting (TMC driver run_current) is sufficient.
  4. Confirm that the filament is not slipping (check for extruder gear wear and spring pressure).
Note

The PA system does not change print time or total extrusion volume; it only redistributes extrusion movement during acceleration and deceleration phases. Extremely high PA values will cause very large instantaneous extruder movements, and there is no configuration option to limit this movement amplitude.

Improper pressure_advance_smooth_time Setting

Symptoms: Periodic ripples appear on the printed surface, extrusion speed is not smooth, or corner transitions look unnatural.

Common Causes:

  • pressure_advance_smooth_time is set too high (>0.1s), causing slow PA compensation response.
  • Setting too low (<0.01s) makes PA compensation overly aggressive, leading to extrusion oscillation.
  • Old configuration uses the deprecated [pressure_advance] standalone section.

Solution:

  1. The default value 0.040 works for most scenarios and generally does not need modification.

  2. The configuration should be placed in the [extruder] section:

    [extruder]
    pressure_advance: 0.05
    pressure_advance_smooth_time: 0.040
  3. Do not use a separate [pressure_advance] configuration section (deprecated).

  4. For long Bowden tubes, it can be appropriately increased to 0.060–0.080.

Slicer Settings Conflict with Klipper Extrusion Control

Symptoms: After configuring PA, print quality instead degrades, with increased stringing, abnormal corners, or extrusion granules.

Common Causes:

  • The slicer has enabled Coasting, which overlaps with PA deceleration compensation.
  • Simplify3D's Extra restart distance causes drastic extrusion speed changes.
  • KISSlicer's PreloadVE duplicates the PA function.
  • The slicer's "dynamic acceleration control" or "Scarf joint" interferes with testing.

Solution:

  1. Disable the following features in the slicer:
    • Coasting
    • Extra restart distance
    • PreloadVE (KISSlicer)
    • Dynamic acceleration control / dynamic pressure control
    • Scarf joint seam (when calibrating PA)
  2. Keep normal retraction settings (recommended 0.5–1.0 mm) and "wipe on retract".
  3. Disable the slicer's "Z-lift on retract" (lift Z on retraction), let Klipper macros control it.
Tip

During PA calibration testing, it is recommended to use a slicing speed of 100 mm/s, a layer height of approximately 75% of the nozzle diameter, 0% infill, and disabled dynamic acceleration control to fully expose the PA effect.

Resonance Compensation Related Configuration Changes After Upgrading Klipper

Symptoms: After upgrading Klipper, the behavior of SHAPER_CALIBRATE changes, resonance test results differ from before, or configuration deprecation warnings appear.

Common Causes:

  • Klipper has updated default parameters in [resonance_tester] (such as sweeping_period, accel_per_hz).
  • The old max_accel_to_decel has been replaced by minimum_cruise_ratio.
  • Accelerometer sampling logic or filtering algorithms have been updated.

Solution:

  1. After upgrading, check the Klipper Configuration Changes Log to see if there are entries affecting resonance compensation.

  2. If you need to restore old test behavior, explicitly add the following to [resonance_tester]:

    [resonance_tester]
    sweeping_period: 0
    accel_per_hz: 75
  3. After upgrading, it is recommended to re-run SHAPER_CALIBRATE instead of reusing old frequency values.

  4. If max_accel_to_decel reports deprecation, switch to:

    [printer]
    minimum_cruise_ratio: 0.5

Configuration Migration: For more configuration migration issues after upgrades, please refer to the relevant sections in Configuration Errors.

Loading...