Ringing, also called ghosting or echoing, is the ripple pattern that repeats a sharp edge, hole or embossed letter a few millimetres further along a wall. It comes from the printer vibrating after fast changes of direction. Fix it in this order: tighten loose belts, pulleys and frame screws; lower the acceleration for outer walls; then tune input shaping, which Klipper, Marlin 2.1.2 and later, current Prusa firmware and Bambu Lab printers all support.
Mechanical fixes come first because input shaping only cancels vibration at a frequency it has measured. A loose belt shifts that frequency, and Klipper’s own documentation warns that ringing usually has mechanical origins. This guide covers how to confirm the defect really is ringing, which checks to do before tuning, and the exact tuning procedure for each firmware, with sources linked at the end.
The consumer toolchanger 3D printer: the SnapSwap 4-toolhead system swaps heads in 5 seconds for true multi-color and multi-material printing, with smart calibration and auto filament loading.
- 4 toolheads · 5 s swap
- Up to 500 mm/s · 20,000 mm/s²
- 270 mm cube build volume
- Multi-color & multi-material

Ringing fix in 60 seconds
- Check which walls show the ripples: walls along X, along Y, or both.
- Check belt tension, motor pulleys and frame screws on that axis. Put the printer on a firm surface.
- Reprint with lower acceleration for outer walls. If the ripples fade, the cause is vibration.
- Tune input shaping: a ringing test tower, an accelerometer, or your printer’s built-in calibration.
- Re-run the calibration after any belt, toolhead or frame change.
How to recognise ringing
Ringing shows up on vertical walls right after a corner or a sharp feature. The edge “echoes” as a series of fading waves in the direction the nozzle was travelling. Klipper calls this ringing; Prusa’s documentation describes the same waves after a sharp edge as ghosting, and its input shaper targets it the same way. Guides that treat them as two separate problems describe one cause with two names.
The mechanism is simple: the toolhead (or the bed on a bed-slinger) has mass, the belts and frame act as springs, and every sudden stop sets the system oscillating at its natural frequency. The faster the direction change, the stronger the echo. That is why lowering acceleration helps, and why stiffer belts or a lighter toolhead change the result.
Not every ripple is ringing. Klipper’s test tower has curved notches, and real ringing follows their pattern. If the ripples on your test print don’t follow the notches, Klipper says the defect has a different origin, mechanical or in the extruder, and should be fixed before you enable input shaping. Lines that repeat across the whole wall with no link to corners or features are also worth treating as an extrusion or mechanical problem first.
Ringing diagnosis table
| What you see | Likely cause | What to do |
|---|---|---|
| Fading waves after corners, holes and embossed text | Resonance excited by fast direction changes | Lower acceleration, then tune input shaping |
| Ripples only on walls parallel to one axis | A problem on that axis: belt, pulley, loose carriage or bed | Check that axis mechanically; tune that axis’s shaper frequency separately |
| Ringing came back after tightening belts or changing the hotend or fan | The resonant frequency changed | Re-measure or re-run the calibration |
| Ripples that don’t follow the notches on the Klipper test tower | Not ringing: mechanical or extruder fault | Fix the mechanics or extrusion before tuning |
| Rounded corners and a wall gap that widens at high acceleration | Too much smoothing from the input shaper | Lower max_accel, or use MZV instead of EI |
| Measured ringing frequency below about 20–25 Hz | Flexible frame or heavy moving mass | Stiffen the printer or lighten the toolhead first |
| Bulges at corners but no gap, even at high acceleration | Pressure advance disabled, or flow set too high | Re-test with pressure advance on and check flow |
| Ripples on outer walls don’t change when you lower acceleration in the slicer | The outer wall has its own acceleration value, or the firmware ignores the slicer’s command | Check the per-feature value and the M204 lines in the G-code (see below) |
| Fine, evenly spaced vertical lines on straight walls, worse at some speeds, with no link to corners | Vertical fine artifacts (VFA), often stepper motor resonance rather than ringing | Run OrcaSlicer’s VFA speed test and move the outer wall speed out of the bad range |
Rows four to seven come straight from Klipper’s resonance compensation guide. They apply to any printer, because the physics does not depend on the firmware.
Mechanical checks before any tuning
Klipper lists the usual mechanical causes: a frame that isn’t rigid enough, belts that are loose or too springy, misaligned parts and heavy moving mass. Prusa’s input shaper guide also asks you to make sure the X and Y belts are not loose, the nozzle is in good shape and the smooth rods are free of debris before relying on it. Work through this list:
- Belts. A loose belt lets the toolhead bounce and lowers the resonant frequency. See the warning signs of loose belts and the belt tension calibration guide. Match tension on paired belts of CoreXY printers.
- Motor pulleys. Grub screws must be tight, with one seated on the flat of the motor shaft.
- Frame and gantry. Tighten frame bolts and check for play in V-slot wheels or linear bearings. Tall, open-frame printers often benefit from frame bracing.
- Toolhead and bed. A loose hotend, fan duct or bed carriage adds its own wobble on top of the frame’s.
- Surface. A wobbly table moves with the printer. Use a solid, level surface.
Slicer settings that reduce ringing
Without input shaping, the only software fix is to move more gently:
- Acceleration. This matters most. Bambu Lab’s troubleshooting page, for example, suggests lowering it under Speed → Acceleration → Normal printing when walls ring. There is no universal value; a practical starting point is to cut outer-wall acceleration by roughly a quarter and compare prints, then keep going until the echo stops improving.
- Jerk or junction deviation. These limit how abruptly the printer takes a corner. In Marlin they are set with
M205(X/Y jerk, or J for junction deviation, depending on how the firmware was built). Lowering them softens corners but costs time. - Outer wall speed. Slower perimeters give smaller oscillations. It is the least efficient fix, because it slows down every print.
Change one setting at a time and print the same small test model each time, or you won’t know which change helped.
Per-feature acceleration in OrcaSlicer and Cura
Ringing only matters on surfaces you can see, so you don’t have to slow the whole print. Current slicers set acceleration separately for each feature and send it to the printer before that feature starts. Lower it for the outer wall and top surface, and leave infill, inner walls and travel faster. Most of the print time is saved, and the visible walls still get gentle moves.
| Slicer | Where to find it | Lower for ringing | Can stay higher | Notes from the docs |
|---|---|---|---|---|
| OrcaSlicer | Speed tab, Acceleration group | Outer wall, top surface | Inner wall, sparse infill, travel | Normal printing set to 0 uses the printer’s default. Orca caps every value at the printer’s Motion Ability limit and suggests matching top surface acceleration to the outer wall. |
| UltiMaker Cura | Speed section: Enable Acceleration Control, Enable Jerk Control | Outer Wall Acceleration, Top/Bottom Acceleration, Outer Wall Jerk | Infill, Inner Wall and Travel Acceleration | Both controls are off by default, so until you switch them on Cura leaves acceleration and jerk to the printer profile and firmware. |
When the slicer’s value doesn’t reach the printer
If lowering outer wall acceleration changes nothing, open the sliced G-code and look at the acceleration commands in front of each wall.
- Marlin takes the slicer’s acceleration through
M204:Pfor printing moves,Tfor travel andRfor retraction. The legacySparameter sets printing and travel together. - Klipper reads
M204differently. WithoutS, it needs bothPandTand then uses the lower of the two. A command with onlyPor onlyThas no effect, and the printer keeps its current acceleration, which by default ismax_accelfromprinter.cfg. - Jerk in slicers is not the physics term (the rate of change of acceleration). Cura defines it as the maximum instantaneous velocity change of the print head, in mm/s, so it controls how fast a corner is taken without slowing down. A slicer jerk value may do nothing on Klipper, which uses
square_corner_velocityinstead, or on Marlin builds that use junction deviation.
Vertical fine artifacts are not ringing
Some wall patterns look like ringing but ignore corners completely: fine, regular vertical lines along straight walls, stronger at some speeds than at others. OrcaSlicer calls these vertical fine artifacts (VFA). Its documentation names motor resonance rippling, stepper motors vibrating at resonant frequencies, as a common type, and also lists belts, pulleys and jerk or junction deviation settings as factors. Because the pattern depends on speed rather than on direction changes, lower acceleration is not the main lever. The OrcaSlicer VFA speed test prints a tower while raising the speed step by step, so you can see which outer wall speeds to avoid. Set the test range to cover every outer wall speed you use.
Input shaping on Klipper, Marlin, Prusa and Bambu Lab
Input shaping reshapes the motion commands so the move cancels its own vibration. It needs the resonant frequency of each axis, which you get from a test print or an accelerometer.
| Firmware / printer | How you tune it | Accelerometer needed? |
|---|---|---|
| Klipper | Ringing test tower and manual calculation, or SHAPER_CALIBRATE with a sensor. Shapers: ZV, MZV, EI, 2HUMP_EI, 3HUMP_EI | Optional (ADXL345, MPU-9250 family, LIS2DW, LIS3DH supported) |
| Marlin 2.1.2+ | M593 ZV shaper; frequency sweep pattern or ringing tower, saved with M500 | No; Marlin does not provide accelerometer-based tuning |
| Prusa CORE One, MK4/S, MK3.9/S, MK3.5/S, XL, MINI/+ | Built into firmware with factory values; adjustable with M593 | CORE One L and XL have one built in; others can use an external sensor after hardware changes |
| Bambu Lab X1 and P1 | Vibration compensation calibration from the printer or Bambu Studio | Handled by the printer |
Klipper: measure ringing with the test tower
This method needs no extra hardware. Slice Klipper’s ringing_tower.stl (in docs/prints) with 0.2–0.25 mm layers, zero infill, 1–2 perimeters or vase mode, external perimeters at 80–100 mm/s, a minimum layer time of 3 seconds or less, and any dynamic acceleration control switched off. Don’t rotate the model.
- Make sure
square_corner_velocityis at its default of 5.0, then runSET_VELOCITY_LIMIT MINIMUM_CRUISE_RATIO=0andSET_PRESSURE_ADVANCE ADVANCE=0. - Run
TUNING_TOWER COMMAND=SET_VELOCITY_LIMIT PARAMETER=ACCEL START=1500 STEP_DELTA=500 STEP_HEIGHT=5. Acceleration rises by 500 mm/s² every 5 mm, up to 7000 mm/s². Stop early if the printer shakes hard or skips steps. - On the side with the X mark, measure the distance D (mm) across several oscillations near the notches, skipping the first one or two. Count the oscillations N.
- Frequency = V × N / D, where V is the outer perimeter speed. Klipper’s example: 100 × 6 / 12.14 ≈ 49.4 Hz.
- Repeat for the Y mark, and enter both values as
shaper_freq_xandshaper_freq_yin the[input_shaper]section. - Print the tower again with
SET_INPUT_SHAPER SHAPER_TYPE=MZV, then with EI. Use EI only if it looks noticeably better, because it smooths more. - Choose
max_accel. The tower has a 0.15 mm gap in its wall that widens as smoothing grows. Note the highest acceleration where ringing is acceptable and where the gap is still small, and use the lower of the two.
If the spacing between oscillations isn’t consistent, the axis may have several resonances. Klipper’s fallback is to print the tower three times with a 2HUMP_EI shaper at 60, 50 and 40 Hz and keep the highest frequency that still clearly improves ringing.
Klipper: automatic calibration with an accelerometer
With a supported accelerometer wired to the Pi or MCU (Klipper notes this takes some soldering and crimping), run SHAPER_CALIBRATE. It sweeps both axes and prints a fitted frequency, the remaining vibration, smoothing and a suggested max_accel for each shaper type, plus a recommendation. SAVE_CONFIG stores the shaper but does not update max_accel; set that yourself. On a bed-slinger, mount the sensor on the toolhead for X and on the bed for Y, and run SHAPER_CALIBRATE AXIS=Y separately. Watch the first run: the vibrations are intense. Our ADXL345 input shaping guide covers the wiring.
Marlin: M593 input shaping
Marlin’s ZV input shaper (INPUT_SHAPING_X / _Y in the configuration) is tuned with printed patterns from the calibration tool on marlinfw.org. The frequency sweep pattern speeds up as it prints; find where the pattern changes and divide the distance by two. In Marlin’s example the change is at 62 mm, so the frequency is 31 Hz: M593 X F31, then M500. Two further patterns step the damping factor by 0.05 per pass; the seventh pass being most uniform gives M593 X D0.35. Repeat for Y. The patterns print with Linear Advance off, so you may need to recalibrate the K-factor afterwards.
Prusa and Bambu Lab printers
On supported Prusa printers input shaping is part of the firmware and factory-tuned, so recalibration is usually only worth it after hardware changes. Prusa notes that crash detection doesn’t work with input shaper because of the high accelerations. On Bambu Lab X1 and P1 printers, Bambu’s fix for ringing on outer walls is to re-tension the belts and run the vibration compensation calibration again, or lower acceleration.
Common mistakes when fixing ringing
- Tuning input shaping on a loose printer. The frequency you measure moves as soon as you tighten the belts, and the tuning is wasted.
- Raising square corner velocity with input shaping. Klipper advises keeping it at 5 mm/s and raising acceleration instead, as higher values add smoothing.
- Leaving pressure advance on during the test. It distorts the tower. Turn it back on afterwards and check your pressure advance calibration.
- Measuring from the wrong side. The X and Y marks on Klipper’s tower don’t sit where you’d expect relative to the axes. That is intentional, so follow the marks.
- Chasing maximum acceleration. Past a point the shaper rounds corners and opens gaps. A slightly slower print with sharp edges is usually the better trade.
When input shaping doesn’t remove it
- Very low frequency. Below about 20–25 Hz, Klipper recommends stiffening the printer or reducing moving mass, otherwise smoothing will limit your speed instead of ringing.
- Ringing at a new frequency after tuning. The fine-tuning procedure won’t help; look for a second source of vibration, such as a part that has worked loose.
- Bed-slinger printing tall or heavy parts. The bed gets heavier as filament goes down and its frequency drops. Klipper notes that EI may suit these machines better, because it is more robust to frequency changes.
- Surface defects that aren’t vibration. Over-extrusion and bulging corners can look similar. Check your flow rate before blaming the frame.
Frequently asked questions
Are ringing and ghosting the same thing?
Yes. Both names describe the fading echo of an edge or feature on a vertical wall, caused by the printer vibrating after a quick change of direction. Prusa’s documentation uses the two terms interchangeably. The fixes are the same: mechanical checks, lower acceleration and input shaping.
Do I need an accelerometer to use input shaping?
No. Klipper can be tuned from a printed ringing tower by measuring the ripple spacing, and Marlin’s M593 is tuned only with printed patterns. An accelerometer lets Klipper’s SHAPER_CALIBRATE fit the shaper automatically, but it needs wiring. Supported Prusa printers ship factory-tuned, and Bambu Lab X1 and P1 printers run their own calibration.
Why did ringing come back after I tightened the belts?
Belt tension changes how stiff the motion system is, so the resonant frequency changes too. Klipper lists tightened belts, a new hotend or fan and frame reinforcements as reasons to measure again. Bambu Lab also asks for a new vibration compensation calibration after tensioning belts.
Will lowering print speed alone fix ringing?
It can help, because gentler moves excite smaller vibrations. The echo is triggered by direction changes, so lowering outer wall acceleration targets the cause more directly than cutting speed on every move. If you want both speed and clean walls, input shaping is the proper fix.



