Klipper Input Shaper: Online Vibration Graph & Shaper Picker

Upload your Klipper resonance CSV — the tool plots the per-axis vibration graph and tells you the recommended shaper type and frequency.

No file of your own? Plot the graph on a ready example.

Drag and drop files here to upload

How to capture resonance data in Klipper

The standard way is to record the response with an accelerometer. Some printers (e.g. the FlashForge Adventurer 5M) have one built in and calibrate automatically.

  1. Mount an accelerometer. Attach an accelerometer (ADXL345, MPU-9250 or LIS2DW) to the toolhead. On a bedslinger, measure the Y axis by moving the sensor to the bed.
  2. Check the sensor. Run ACCELEROMETER_QUERY and MEASURE_AXES_NOISE — noise is normally around 1 to 100.
  3. Run the resonance test. Run TEST_RESONANCES AXIS=X, then AXIS=Y. Klipper writes /tmp/resonances_*.csv.
  4. Download the CSV. Grab the files from the printer via the Mainsail or Fluidd file manager, or over scp.
  5. Plot the graph. Upload the CSV into the tool above to get the graph, recommended shaper type and frequency.
  6. Apply the result. Add an [input_shaper] section (shaper_type and shaper_freq) to printer.cfg, set max_accel manually (the lower of X and Y) and restart Klipper.

How to read the graph

The X axis is frequency in hertz, the Y axis is the power spectral density of vibration. Peaks are resonances; the shaper's job is to damp them with as little smoothing as possible.

  • frequency — the frequency the shaper is tuned to (near the resonance peak).
  • vibrations % — residual vibration after the shaper; lower is better (0% is ideal).
  • smoothing — a relative estimate of part smoothing; higher means it rounds off sharp features more.
  • suggested max_accel — the acceleration above which smoothing becomes excessive.
  • recommended shaper — the best balance of type and frequency.

Shaper types

  • zv — Least smoothing, but least tolerant to frequency error. For stiff printers and very low frequencies.
  • mzv — Best balance of smoothing and robustness. Recommended for most printers.
  • ei — More robust, smooths more. Good for bedslingers with changing bed mass.
  • 2hump_ei — For multiple resonances and delta printers.
  • 3hump_ei — Maximum robustness and smoothing; for several spread-out resonances.

The damping_ratio defaults to 0.1 — a good all-round value for most printers, rarely needs changing.

How to apply the result

Copy the recommended values into the [input_shaper] section of printer.cfg, set max_accel in the [printer] section manually (with margin, no higher than recommended) and RESTART. Input shaping itself doesn't slow printing — print time is governed by max_accel.

FAQ

Do I need an accelerometer for input shaper tuning?

SHAPER_CALIBRATE needs an accelerometer (ADXL345, MPU-9250, LIS2DW or LIS3DH) on the toolhead. Some printers — like the FlashForge Adventurer 5M — have one built in and calibrate automatically. Without a sensor you can estimate the frequency with a ringing tower, but accuracy is lower.

What do vibrations % and smoothing mean on the graph?

Vibrations is the residual vibration after the shaper is applied — lower is better (0% is ideal). Smoothing is a relative estimate of how much the shaper rounds off sharp features — higher means more. Klipper also prints a suggested max_accel.

What's the difference between zv, mzv and ei — which should I pick?

zv gives the least smoothing but is least tolerant to frequency error. mzv is the best all-round balance and is recommended for most printers. ei is more robust and suits bedslingers, but smooths more. For multiple resonances or deltas, use 2hump_ei or 3hump_ei.

How often should I run input shaper calibration?

Rarely. Klipper advises against running auto-calibration before every print — it adds needless wear. Re-calibrate after changing belts, pulleys or frame parts, or if ringing returns on your walls.

Why do the X and Y axes have different resonance frequencies?

That's normal: the kinematics differ per axis, so Klipper keeps separate shaper_freq_x and shaper_freq_y, sometimes different shaper types too. It's most pronounced on bedslingers, where the Y axis is heavier.

Does input shaper slow down printing?

By itself, essentially no. Print time is governed by max_accel, which you set manually. If anything, input shaping lets you print at higher accelerations without ringing. The only limit is at very low resonance frequencies.