Input Shaping Calibration Explained: Kill Ringing, Print Faster by Tomas Rieger

Additive Manufacturing Engineer & Editor
Reviewed by Tomas Rieger · How we test Updated on

In this article

Those faint ripples trailing every sharp corner? Here's why they show up: and how to erase them. Input shaping calibration measures the resonant frequency of each printer axis, most precisely with an accelerometer like the ADXL345, then sets the firmware to cancel that vibration with the gentlest filter that does the job. Get it right and the ripples disappear. You can usually push acceleration several times higher and shave 20–50% off print time.

Most people treat input shaping as a quality patch you bolt onto any printer to erase ringing. It isn't. Ringing has two separate causes, and shaping only touches one of them. When the toolhead snaps direction, the frame, belts, and gantry flex and oscillate at their own natural frequency: that resonant vibration is what shaping cancels. But ringing also comes from actual looseness: a slack belt, a wobbly pulley, play in a carriage or a heat-block. No firmware fixes that. Calibrate on a loose machine and the software hands you numbers that are wrong or actively misleading. Input shaping is the final tuning step on a mechanically solid printer, not a shortcut around tightening it.

Close-up of a white calibration block and precision caliper on a textured surface for input shaping calibration.

What Ringing and Ghosting Actually Are

Ringing (also called ghosting or echoing) is the faint, repeating ripple pattern that appears just after a sharp corner or raised feature, fading as it moves away from the edge. It's the surface record of the toolhead overshooting and oscillating instead of stopping cleanly.

The cause is momentum. A rapid direction change dumps kinetic energy into the machine's structure, and every structure has a natural frequency at which it wants to vibrate. The nozzle then wobbles sideways to its travel while the belts and gantry ring like a struck bell, printing that oscillation into the wall as evenly spaced echoes. The effect grows with speed and acceleration, which is exactly why it sets a ceiling on how fast you can print before surface quality collapses. That ceiling is the problem input shaping is built to raise.

What Is Input Shaping

Input shaping is a feed-forward firmware technique that reshapes each motion command before it reaches the stepper motors, so the resulting vibration cancels itself. Nothing about the hardware changes; the correction lives entirely in software.

It's most closely tied to Klipper, which ships full measurement tooling, but Marlin 2.x and RepRapFirmware support it too. The term "shaping" is literal: the firmware alters the shape of the acceleration impulse, not the path the nozzle follows, so your dimensions stay correct while the wobble goes away.

How Input Shaping Cancels Vibration

Instead of sending one strong acceleration impulse, the firmware splits it into a short, precisely timed sequence of smaller impulses. The first impulse still excites the machine's resonance, but the next impulse is timed so its vibration arrives out of phase and cancels the first: destructive interference, the same trick that lets noise-cancelling headphones silence a hum.

Mathematically it's a convolution of the motion profile with an impulse train tuned to the measured frequency and damping ratio. That tuning is why calibration exists: the impulse spacing has to match your machine's exact resonant period. Feed it the wrong frequency and the second impulse can land in phase instead, amplifying the ringing rather than killing it. Get the frequency right and the vibration is gone in a fraction of a cycle.

Fix the Machine Before You Calibrate

Tighten and true the printer before you measure anything, because shaping compensates for resonance, not looseness: garbage in, garbage out. A slack belt or a rattling carriage produces a resonance graph full of false peaks, and any setting you pull from it is meaningless.

Run through this before touching a calibration command:

One trap to avoid: don't crank belt tension to force a higher resonant frequency. Over-tensioned belts side-load bearings and motor shafts, wear them out early, and add new vibration modes of their own. Tension to the manufacturer's spec, then let calibration deal with whatever frequency results.

Calibration Methods

Two methods measure resonance: an accelerometer sweep and a printed ringing tower. The accelerometer method is objective and resolves frequency to under 1 Hz; the ringing-tower method needs no extra hardware but is subjective and approximate.

If you can borrow or buy an accelerometer, use it: it removes the guesswork and finishes in minutes. The tower method is a legitimate fallback when you have no sensor, but its accuracy rides on your eyes and a set of calipers, and unrelated print issues easily muddy it. Both feed the same [input_shaper] settings; they differ only in how the frequency is found.

Accelerometer Calibration Step by Step

Mount an ADXL345 on the toolhead to measure X and on the bed to measure Y, then run Klipper's calibration sequence: the whole process takes roughly 10–15 minutes and lands within a fraction of a hertz.

  1. Mount and wire the sensor. The ADXL345 over SPI is standard; the LIS2DW, MPU-9250, and MPU6050 also work. Wire it to the printer's MCU or to a Raspberry Pi / Pico host, and move it from toolhead to bed when you switch axes.
  2. ACCELEROMETER_QUERY: a self-test that confirms the sensor is wired correctly and returning live data.
  3. MEASURE_AXES_NOISE: reads background noise. Values under about 100 mean the mount and wiring are clean; higher numbers point to a loose sensor, running fans, or electrical interference that will corrupt the sweep.
  4. SHAPER_CALIBRATE: sweeps the axis across roughly 5–133 Hz while sampling at 3200 Hz, then analyzes the response. Run it per axis with AXIS=X or AXIS=Y if you want to isolate each one.
  5. Read the recommendation, printed as a line like Recommended shaper is mzv @ 52.4 Hz. Klipper picks the shaper and frequency that balance vibration reduction against smoothing for you.
  6. SAVE_CONFIG: writes the values into printer.cfg and restarts.

For a visual of the frequency response, the calibrate_shaper.py script turns the raw CSV into a labeled graph. It's worth generating the first time so you can see what your machine is actually doing.

Close-up of a 3D printer's hotend assembly featuring wiring and a sensor, relevant for input shaping calibration explained.

The Ringing Tower Method

With no accelerometer, print a test model covered in sharp corners with input shaping turned off and acceleration set high enough to deliberately provoke ringing, then measure it directly. The tower steps its test frequency as it rises, so different heights excite the machine differently.

Find the band where the ghosting is worst or where a pattern is cleanest, measure the spacing between adjacent ripples with calipers, and calculate frequency = print speed ÷ ripple spacing. Enter that value into the axis's [input_shaper] setting, reprint, and iterate until the echoes fade. The method works, but treat its output as a starting estimate: extrusion inconsistency, pressure advance, and any leftover mechanical play all distort the ripple pattern and can send you chasing a frequency that isn't real.

Choosing a Shaper Type

Pick the least aggressive shaper that adequately suppresses your resonance, because stronger suppression always costs more smoothing: and more smoothing rounds corners and blurs fine detail. A "more powerful" shaper isn't a better one; it's a trade you make only when you need the extra robustness.

Shaper Vibration reduction Smoothing / corner rounding When to use
ZV (Zero Vibration) Lowest Least Stiff, well-damped machines where detail matters; least tolerant of frequency drift
MZV Good Low The common default for most Cartesian and CoreXY printers
ZVD Better Medium When you want more tolerance to frequency error than ZV gives
EI (Extra Insensitive) High More Broad resonance peaks or uncertain frequency
2HUMP_EI Very high High Multiple nearby resonances, or a very low frequency
3HUMP_EI Highest Highest Severe or very broad resonance; rarely needed

The calibration script defaults to whichever of these clears the resonance with the least smoothing, and that recommendation is almost always the right one. Override it only when you have a specific reason: say, a belt that drifts in tension and pushes you toward EI's wider tolerance.

Reading the Resonance Graph

The plot puts vibration energy on the vertical axis and frequency in hertz on the horizontal axis; the tallest peak marks your dominant resonance and becomes your shaper frequency. The shape around that peak tells you whether the machine is ready to shape or still needs work.

A tall, narrow peak is the ideal: one clean, well-defined resonance the shaper can target precisely. Several distinct peaks mean multiple structures are vibrating, or something is mechanically loose, so rule out looseness before you accept the result. A single broad, rounded hump usually points to heavy damping or coupled components moving together. Data that looks noisy or nonsensical almost always traces back to hardware, not the printer's motion: a loose sensor mount, wiring picking up interference, or a fan feeding vibration into the accelerometer.

Graph displaying vibration energy across frequencies, emphasizing a peak at 50 Hz for input shaping calibration.

Frequency Is Not Acceleration

Shaper frequency and acceleration are different quantities, related only indirectly, and confusing them leads to bad settings. Frequency, in hertz, describes how fast the machine vibrates. Acceleration, in mm/s², describes how fast the toolhead changes velocity. A printer might have a 45 Hz Y resonance and run 5,000 mm/s² acceleration: neither number sets the other.

They connect only through cause and effect: higher acceleration excites the resonance more violently, and the shaper is timed to cancel that resonance whatever the acceleration. This matters because calibration also reports a suggested maximum acceleration, and that figure is a smoothing-based estimate, the point where the shaper's corner-rounding becomes objectionable, not proof the printer can move that fast. Motor torque, belt grip, achievable flow rate, and layer adhesion all impose real limits that may sit well below the reported number.

Typical Numbers and What to Expect

Most desktop FDM printers resonate somewhere between 30 and 80 Hz, with X often landing around 30–70 Hz and Y around 20–50 Hz — though sources vary, and a range of 20–80 Hz covers nearly all of them. Bed-slingers show a lower Y frequency because the moving mass is the whole heated bed plus the part; CoreXY machines tend toward higher X and Y frequencies that sit closer together, since neither axis drags a heavy bed.

After calibration, acceleration commonly climbs from a stock 500–1,500 mm/s² up toward 3,000–10,000 mm/s² or more, and print times typically drop 20–50% depending on how many corners and travel moves a model contains. Treat the high end with caution: some references put the realistic gain closer to 2,000–5,000 mm/s², and the true limit is machine-dependent for the torque and flow reasons above. The damping ratio parameter defaults to about 0.1 (real machines fall between 0.05 and 0.15) and is almost always left alone — measuring it precisely adds effort for little return.

Comparison of two 3D printed cubes labeled "Before" and "After" demonstrating input shaping calibration results.

Klipper vs Marlin vs RepRapFirmware

All three firmwares support input shaping, but they differ sharply in how much they automate. Klipper measures and recommends for you; Marlin and RepRapFirmware expect you to arrive with a frequency already in hand.

Firmware Shaper support Calibration method How you set it
Klipper Full accelerometer sweep, auto-recommends shaper and frequency Accelerometer (ADXL345) via SHAPER_CALIBRATE Written to printer.cfg by SAVE_CONFIG
Marlin 2.x ZV shaper, enabled in Configuration_adv.h (INPUT_SHAPING_X/Y) Mainly the ringing tower M593 F<freq> D<damping>
RepRapFirmware Supported, multiple shaper types Accelerometer or manual; documented workflow is thinner than Klipper's M593

If your priority is the easiest, most accurate path, Klipper is the reference case for a reason. On Marlin, budget time for the ringing tower unless you have accelerometer tooling configured, and remember it defaults to a single ZV shaper. RepRapFirmware sits in between (capable, but with less hand-holding) so check its current documentation for the exact steps rather than assuming Klipper's workflow carries over.

When to Recalibrate

Recalibrate whenever the moving mass changes, because mass directly sets the resonant frequency the shaper is tuned to. A new hotend, a direct-drive conversion, an added probe, a filament sensor on the toolhead, or a belt swap all shift the numbers enough that yesterday's settings no longer cancel today's vibration.

Confirm the result with a before-and-after ringing tower — the print itself is the honest test, not the graph. One easy-to-miss detail: if you used a heavy accelerometer for calibration, remove it afterward. Leaving it on the toolhead adds mass and shifts the very frequency you just measured, quietly undoing part of the tuning.

Who Should Not Rely on Input Shaping

Skip or postpone input shaping if your ringing traces to loose mechanics, if the recommended frequency comes back very low, or if you're treating the reported max acceleration as a guaranteed speed. In each case, shaping is the wrong tool or a premature one.

FAQ

How do I know if my z-offset is correct?

Your z-offset is right when the first layer lines are pressed lightly together into a smooth, even sheet — not translucent and gapped (nozzle too high) and not gouged or ridged (nozzle too low). The paper-drag test gets you close: you should feel slight resistance on a sheet under the nozzle at Z0. This is entirely separate from input shaping; it governs nozzle-to-bed distance, not vibration, and doesn't affect ringing.

How to calibrate Input Shaping klipper?

Mount an ADXL345 to the toolhead, run ACCELEROMETER_QUERY to confirm it responds, then MEASURE_AXES_NOISE (values should read under about 100). Run SHAPER_CALIBRATE, which sweeps roughly 5–133 Hz and recommends a shaper and frequency, then SAVE_CONFIG to store it. Repeat with the sensor on the bed for the Y axis; the whole process takes about 10–15 minutes.

Do you need an accelerometer for Input Shaping?

No. The ringing-tower method calibrates input shaping without any sensor — you print a test, measure the ripple spacing with calipers, and compute frequency from print speed divided by that spacing. An accelerometer is strongly preferred, though, because it's objective and resolves frequency to under 1 Hz, while the tower method is subjective and easily thrown off by extrusion, pressure advance, or loose mechanics.

What is the 45 degree rule in 3D printing?

The 45-degree rule says overhangs up to about 45° from vertical print reliably without support, because each new layer still rests mostly on the one below it; steeper overhangs sag and usually need support. It's a bridging-and-overhang guideline and has nothing to do with input shaping or resonance — a separate topic entirely.

References