Input Shaping and Klipper Explained: Why Fast 3D Printers Need Them

Input shaping is the firmware feature that lets a printer accelerate hard without printing its own vibrations into the walls. This guide covers what it does, how it is calibrated, which firmware has it, and what else limits quality at high speed.

Published Verified

Fast printers need input shaping because high acceleration shakes the frame, and that shaking prints onto the walls as ripples called ringing. Input shaping measures the frame’s resonance frequency and reshapes the motion commands so the vibration cancels itself. Klipper, Marlin, Prusa Firmware Buddy and Bambu Lab’s firmware all ship a version of it.

What causes ringing and ghosting on fast printers?

Ringing (also called ghosting or echoing) is a row of ripples that trail an edge or corner along the wall. The Klipper documentation says it “is caused by mechanical vibrations in the printer due to quick changes of the printing direction.” Higher acceleration makes those direction changes more violent, so the effect grows.

Marlin’s documentation describes the mechanism: a flexible frame “will flex and then spring back, causing vibrations that are transferred to the print.” It puts the largest oscillations “typically between 10 and 50Hz.”

Acceleration is the setting that excites them. Klipper’s tuning test raises it every 5 mm of height, from 1,500 to 7,000 mm/s², with the stated aim “to make ringing more pronounced.”

Klipper’s Features page notes that every move must “gradually accelerate from standstill to cruising speed.” Short moves therefore depend on acceleration more than on top speed.

What does input shaping actually do?

Input shaping changes the commands sent to the motors so they carry a built-in counter-vibration. Klipper defines it as “an open-loop control technique which creates a commanding signal that cancels its own vibrations.” Open loop means the firmware does not sense vibration during the print. It works from a frequency measured during calibration.

Marlin’s simplest shaper, called ZV (zero vibration), shows the idea. It splits each move into two sets of step signals, the second an “echo” of the first “delayed by 1/2 of the ringing interval.” The delayed half pushes against the oscillation the first half started.

Other types, such as MZV and EI, differ in how much frequency error they tolerate and how much they round corners. Klipper says EI “is more robust to resonance frequency changes” but “creates more smoothing than MZV.”

Input shaping does not fix a loose or worn machine. Klipper notes that ringing “usually has mechanical origins” such as springy belts or heavy moving mass, which “should be checked and fixed first.” Prusa likewise asks owners to check belt tension and clean the smooth rods before using its Input Shaper.

How is the resonance frequency measured?

There are two ways to find the frequency: print a test tower and measure the ripples by hand, or attach an accelerometer that records the vibration while the firmware shakes each axis. Accelerometer calibration is automatic and repeatable. The printed test needs only a ruler or calipers.

Method How it works Where it is documented
Ringing test print Print a tower at rising accelerations, count ripples, compute frequency Klipper, Marlin
External accelerometer Clip a sensor to the toolhead (and bed on a bedslinger), run a sweep Klipper, Prusa (optional kit)
Built-in sensor Sensor fitted at the factory; calibration runs from the printer Prusa CORE One L and XL, Creality K1 Max, Bambu Lab A1

A worked example from the Klipper docs: six ripples spanning 12.14 mm on a wall printed at 100 mm/s give 100 × 6 / 12.14 ≈ 49.4 Hz. Klipper supports ADXL345, MPU-9250, LIS2DW and LIS3DH accelerometers. Its SHAPER_CALIBRATE command reports a recommended shaper, a frequency and a suggested maximum acceleration.

On a bedslinger (a printer that moves the bed for the Y axis), Klipper measures X on the toolhead and Y on the bed. The same docs note that the bed’s frequency drops as printed plastic adds mass, which is why they suggest EI may suit these printers. The motion systems guide explains the layouts.

Measure again after hardware changes. Klipper lists a new hotend, a heavier or lighter extruder motor, tightened belts or a different bed as changes that shift the frequency. Prusa gives the same advice for modified printers.

Which firmware supports input shaping?

Klipper, Marlin, Prusa Firmware Buddy and Bambu Lab’s firmware all support input shaping. They differ in shaper types, tuning method and how much the owner controls. Klipper and Marlin are open and user-tuned. Prusa ships factory-calibrated values, and Bambu Lab’s firmware runs the calibration itself under the name “vibration compensation.”

Firmware Shaper types Calibration Version notes
Klipper ZV, MZV, ZVD, EI, 2HUMP_EI, 3HUMP_EI Test print or accelerometer Configured in printer.cfg
Marlin ZV; Fixed-Time Motion adds ZVD, EI, 2HEI, 3HEI, MZV Test print or calibration G-code ZV from 2.1.2 (M593); Fixed-Time Motion from 2.1.3 (M493)
Prusa Firmware Buddy ZV, ZVD, MZV, EI, 2HUMP_EI, 3HUMP_EI Factory; optional accelerometer 5.0.0 on the MK4; 5.1.0 on the MINI/+ and XL
Bambu Lab firmware Not published Automatic on the printer Proprietary

Some details behind the table:

  • Marlin needs the input shaping options compiled in; the M593 page lists INPUT_SHAPING_[XYZ] as its requirement. The docs call attaching an accelerometer “a hassle” on most Marlin machines and point owners to the test-print methods.
  • Prusa says the MK4, CORE One, MK3.9 and MK3.5 come pre-calibrated. The CORE One L and XL carry an integrated accelerometer. Prusa also says owners need the Input Shaper profiles in PrusaSlicer, and that crash detection is “not compatible” at these accelerations.
  • Bambu Lab says the A1 “calibrates the Z-offset, bed-level, vibration resonance and nozzle pressure for EVERY print job, automatically.” The same page lists accelerometers among the A1’s hardware. The P1S store page lists “Vibration compensation” among its automatic calibrations.
  • Klipper-based printers use Klipper’s implementation. Creality says a “G-sensor in the printhead measures the resonance frequencies” on the K1 Max. Elegoo lists input shaping for the Neptune 4, which ships with Klipper pre-installed.

How does Klipper handle high-speed printing?

Klipper splits the work: a host computer plans every move and the printer’s microcontroller only times the steps. The project says “higher stepper rates enable higher print velocities.” It pairs that planning with input shaping and a smoothed pressure advance to limit the ringing and blobbing that come with speed.

Klipper’s Features page says each stepper event is “scheduled with a precision of 25 micro-seconds or better.” Its planner uses look-ahead, queuing upcoming moves so acceleration between moves “in a similar direction” is optimized “to reduce print stalls.” Input shaping, the page adds, “may also allow one to obtain faster printing speeds while still maintaining high print quality.” For Klipper as firmware and the printers that ship with it, see the open vs closed firmware guide.

What is pressure advance, and why does it matter at speed?

Pressure advance is the extrusion-side partner of input shaping. Filament compresses like a spring under pressure, so flow out of the nozzle lags behind speed changes. Pressure advance, called Linear Advance in Marlin, adds extra extruder movement during acceleration and deceleration. That cuts ooze and the blobs that form at corners.

Klipper’s documentation says pressure advance “reduces ooze during non-extrude moves and it reduces blobbing during cornering.” Marlin names pressure as “the root cause” of bulging corners. It adds that these flaws are “minor or even imperceptible at low printing speeds” but “become more noticeable and problematic as print speeds increase.”

Prusa’s input shaper article pairs the two: nozzle pressure “from the faster printing is compensated by another firmware feature, the Pressure Advance.” Klipper adds that pressure advance “may need to be re-tuned” after input shaper tuning.

Does high-speed printing reduce quality?

It can. Speed runs into three separate limits: frame vibration, how fast the hotend can melt plastic, and how fast each layer cools. Input shaping addresses only the first, and it has its own cost. At high acceleration, shaping rounds sharp corners, which Klipper calls smoothing.

Vibration and smoothing. Klipper states that “as the acceleration increases, so does the smoothing.” It advises choosing a maximum acceleration below the point where a 0.15 mm gap in its test model starts to widen. It also notes that a ringing frequency “below approx 20-25 Hz” may call for stiffening the printer rather than more tuning.

Melt rate. Prusa defines maximum volumetric speed as the “maximum amount of plastic (mm³/s) your hotend can reliably melt.” Past that, the slicer slows the move. Signs of a limit set too high include “extruder clicking” and “under-extrusion at high speeds.”

Cooling. Each layer must be printed “on an already solidified layer,” Prusa’s cooling article says. Otherwise the layer beneath gets pushed around and distorted. PrusaSlicer slows the print when a layer would finish faster than a set minimum time, so small parts may not print at full speed.

Prusa’s Input Shaper profiles build in the trade-off: each layer height gets a “Structural” and a “Speed” setting. Top speed on a spec sheet shows what the motion system can do. Actual print speed is set by whichever limit a part hits first. The database records maker speed, acceleration and flow figures as claims, as the methodology page explains.

How does the database record input shaping?

A printer record lists input-shaping under features when its maker states the feature, under whatever name the maker uses. Bambu Lab’s “vibration compensation” and Creality’s “Input Shaping” appear as the same tag. The tag says the firmware has the feature. It does not say how the printer is calibrated or which shaper it runs.

For calibration details, read the maker’s page linked in the record’s sources. Firmware updates can add the feature: Prusa lists firmware 5.1.0 as the release that brought Input Shaper to the MINI/+ and XL. The Original Prusa MK3S+ is not on Prusa’s list of Input Shaper printers.

If a printer lacks the tag, check its sources and the maker’s firmware notes before assuming it has none. The printer database shows features on every spec sheet, and the guide to comparing printers covers how speed and acceleration claims fit alongside them.

Sources

Last verified

  1. Klipper documentation, Resonance Compensation (accessed Sep 30, 2026)
  2. Klipper documentation, Measuring Resonances (accessed Sep 30, 2026)
  3. Klipper documentation, Pressure advance (accessed Sep 30, 2026)
  4. Klipper documentation, Features (accessed Sep 30, 2026)
  5. Marlin documentation, Input Shaping (accessed Sep 30, 2026)
  6. Marlin documentation, M593 ZV Input Shaping (accessed Sep 30, 2026)
  7. Marlin documentation, Linear Advance (accessed Sep 30, 2026)
  8. Prusa Knowledge Base, Input Shaper (CORE One, MK4/S, MK3.9/S, MK3.5/S, XL, MINI/+) (accessed Sep 30, 2026)
  9. Prusa Knowledge Base, Accelerometer (CORE One, MK4/S, MK3.9/S) (accessed Sep 30, 2026)
  10. Prusa Knowledge Base, Max volumetric speed (accessed Sep 30, 2026)
  11. Prusa Knowledge Base, Cooling (accessed Sep 30, 2026)
  12. Bambu Lab EU Store, Bambu Lab A1 (accessed Sep 30, 2026)
  13. Bambu Lab EU Store, Bambu Lab P1S (accessed Sep 30, 2026)
  14. Creality, K1 Max 3D Printer (accessed Sep 30, 2026)
  15. Elegoo, Neptune 4 (accessed Sep 30, 2026)