Ghosting and ringing — fix vibration echoes
Ghosting is the wavy echo pattern you see following a sharp feature (text, corner, hole) on a vertical wall. It's caused by mechanical vibration: the toolhead changed direction faster than the printer's frame could absorb, and the structure rang like a tuning fork. Modern firmwares solve this with input shaping, but a well-tensioned printer with the right acceleration limits beats input shaping on a loose printer every time.
Three things, in order: (1) Tighten the belts — loose belts can't transmit the motion cleanly. (2) Bolt the printer to a heavy, rigid surface (concrete paver, granite slab, or solid IKEA tabletop). (3) Run input shaping calibration on Bambu (auto), Prusa MK4/CORE One (auto), or Klipper (SHAPER_CALIBRATE). Then lower acceleration in your slicer to the printer's tuned value (usually 5,000–10,000 mm/s²).
What causes ringing
When the toolhead changes direction (going around a corner, starting a new perimeter, finishing a hole), the motor instantly accelerates the head in a new direction. The frame — not perfectly rigid — flexes and then rebounds. That rebound prints as a visible wave on the next ~5–20 mm of wall.
The frequency of the wave is the printer's natural resonant frequency on that axis. Typical values:
| Printer class | X resonance | Y resonance |
|---|---|---|
| i3 bedslinger (MK3S+, Ender 3) | 50–65 Hz | 30–45 Hz |
| i3 with input shaper (MK4) | ~60 Hz | ~40 Hz |
| CoreXY hobby (Voron 2.4) | 50–80 Hz | 50–80 Hz |
| Bambu X1 / P1 / H2D | ~70 Hz (factory tuned) | ~70 Hz |
The slower the resonant frequency, the more visible ghosting becomes (Y on a heavy bedslinger is always worst).
Diagnose: is it X, Y, or both?
Print a calibration cube or any small object with sharp corners. Look at:
- Vertical walls running along the X direction show Y-axis ringing (the head moves in Y to print that wall).
- Vertical walls running along the Y direction show X-axis ringing.
- If both look the same, you have a global frame stiffness issue (rare).
For a numerical reading, mount a phone-app-based accelerometer on the toolhead and run the Klipper resonance test. Bambu and Prusa MK4 do this automatically.
Fix 1: Tighten belts and pulleys
Loose belts cause ringing. The same belt also dictates what input shaping can compensate for. Always start here.
- Pluck the belt — a clean low note (85–110 Hz on most 6 mm GT2 belts) indicates good tension.
- Tighten any grub screws on pulleys (1.5 mm hex). They walk loose over time.
- Replace belts that show cracks or stretched teeth (>2 years of daily use).
See Belt tension and calibration for the full procedure.
Fix 2: Improve mechanical rigidity
The frame and what it sits on dictate the resonant frequency. To raise it (which makes ghosting less visible):
- Put the printer on a 30 kg+ stone slab (concrete paver, granite cutting board). Anti-vibration feet under the slab help further.
- Tighten all frame screws on assembled-kit printers. The 2020 extrusion joints in Voron/RatRig/Ender 3 builds walk loose.
- Don't put the printer on a wobbly IKEA Lack alone. Reinforce with diagonal bracing or put a paver on top.
- Shorten Bowden tubes on Bowden printers — a flopping tube oscillates and adds artifacts.
Fix 3: Input shaping
Input shaping is a motion-control algorithm that anticipates the resonance and shapes the velocity profile to cancel it. It is the difference between 5,000 mm/s² printing with visible ringing and 10,000 mm/s² printing without.
- Bambu (X1, P1, A1, H2D): auto-calibrated every print. You can re-run from Device → Cal → Vibration calibration.
- Prusa MK4 / MK3.9 / CORE One: Calibration → Input Shaper from the LCD. Stock firmware auto-tunes.
- Klipper (Voron, RatRig, custom): install an ADXL345 accelerometer, then
SHAPER_CALIBRATE. Pick MZV or EI based on the resulting graph. - Marlin 2.1+: has input shaping but no on-printer auto-tune; measure by ear or by accelerometer and set values in
Configuration_adv.h.
Fix 4: Lower acceleration in slicer
If input shaping isn't available or you've maxed it out, lower acceleration in the slicer to whatever produces clean walls. Test at:
- 1,500 → 3,000 → 5,000 → 8,000 mm/s²
The acceleration value that produces clean walls is your real limit. Anything above is just heat in the steppers and noise in the room.
Fix 5: Jerk / square-corner velocity
"Jerk" in Marlin and "square corner velocity" in Klipper is the maximum velocity change the printer takes without decelerating. Set too high and corners ring. Recommended:
- Marlin XY jerk: 7–10 mm/s.
- Klipper square_corner_velocity: 5 mm/s default; 7–10 mm/s for tuned printers.
Fix 6: Hardware upgrades that help
- Lighter toolhead. Every gram of toolhead mass lowers the X-resonance. CNC-machined aluminum extruder mounts and lightweight hotends help on bedslingers.
- Linear rails replacing wheel-on-extrusion (common Voron/Ender mod) raise both X and Y resonance and reduce backlash.
- Belt clips with set screws instead of zip-tied loops keep tension constant.
Related articles
Sources & further reading
- Prusa Knowledge Base — Ghosting
- Klipper Docs — Resonance Compensation
- Bambu Lab Wiki — Common print quality problems and solutions