Calibrate Input Shaping (Klipper or modern Marlin)
Tighten eccentric nuts on V-slot wheels
WHY THIS HAPPENS
When the print head changes direction sharply, the frame and moving parts get hit with a shock load. Even a perfectly rigid printer has some compliance - the gantry briefly deforms under the inertia, then springs back, and the carriage oscillates around the commanded position for a fraction of a second. Those oscillations get faithfully reproduced in extruded plastic on the wall right after the corner.
The oscillation frequency is set by the printer's mechanical design - mostly the mass of moving parts and the stiffness of the frame and belts. Bedslingers (Ender 3, Prusa i3) ring more than CoreXY printers because the bed is heavy and being thrown around X or Y axes. The ringing wavelength on the print equals print speed divided by the resonant frequency, which is why ringing wavelength shrinks as you slow down.
Input Shaping is the modern fix. The firmware measures the printer's resonant frequency once (with an accelerometer or by visual inspection of test prints) and pre-cancels the oscillation by issuing counter-pulses ahead of every direction change. With Input Shaping properly tuned, a printer can run 2-3x its previous speed with less ringing than it had before. This is why Bambu and recent Klipper-based printers run at 200+ mm/s without visible ringing.
WHEN THESE FIXES FAIL
**If ripples appear after every corner regardless of geometry** - your printer's resonance is being excited at print speed. Reduce speed and acceleration first.
**If ripples only appear on outer perimeters** - lower outer wall speed specifically, leave inner perimeters and infill at full speed.
**If your printer can't go above 50 mm/s without ringing** - mechanical issue. Check belt tension and eccentric nuts before tweaking settings further.
**If you upgraded to faster speeds recently** - calibrate Input Shaping. Without it, every printer has a hard speed ceiling around 60-80 mm/s.
**If ringing wavelength is very short (<5 mm spacing)** - high resonant frequency, usually well-built printer with too-high speed. Drop print speed.
**If wavelength is long (10+ mm spacing)** - low resonant frequency, likely loose belts or wobbly frame. Tighten everything.
MOST LIKELY CAUSES
1
Print speed too high
high confidence
High speeds increase inertia, creating visible vibration ripples after corners.
→ Set outer wall speed to 30-40 mm/s
→ Keep inner walls and infill faster if only visible walls are affected
→ Reprint a ringing test after lowering outer wall speed
2
Acceleration too aggressive
high confidence
Sudden direction changes create oscillations in the frame and toolhead.
→ Set acceleration to 500-1000 mm/s2
→ Reduce travel acceleration separately if your slicer supports it
→ Calibrate Input Shaping if your firmware supports it
3
Loose belts or motion play
medium confidence
Mechanical slack amplifies vibration and makes ghosting more visible.
→ Tighten belts until they give a firm low thud when plucked
→ Check the carriage and bed for wobble with the printer powered off
→ Tighten eccentric nuts until wobble disappears but movement stays smooth
WANT SETTINGS TUNED FOR THIS ISSUE?
Generate slicer settings based on your printer, filament, and this exact problem.
Ripple or wave patterns on the surface of the print, most visible immediately after sharp corners and fading as the print head moves away from the corner.
Why It Happens
When the print head changes direction sharply, the frame and moving parts get hit with a shock load. Even a perfectly rigid printer has some compliance - the gantry briefly deforms under the inertia, then springs back, and the carriage oscillates around the commanded position for a fraction of a second. Those oscillations get faithfully reproduced in extruded plastic on the wall right after the corner.
The oscillation frequency is set by the printer's mechanical design - mostly the mass of moving parts and the stiffness of the frame and belts. Bedslingers (Ender 3, Prusa i3) ring more than CoreXY printers because the bed is heavy and being thrown around X or Y axes. The ringing wavelength on the print equals print speed divided by the resonant frequency, which is why ringing wavelength shrinks as you slow down.
Input Shaping is the modern fix. The firmware measures the printer's resonant frequency once (with an accelerometer or by visual inspection of test prints) and pre-cancels the oscillation by issuing counter-pulses ahead of every direction change. With Input Shaping properly tuned, a printer can run 2-3x its previous speed with less ringing than it had before. This is why Bambu and recent Klipper-based printers run at 200+ mm/s without visible ringing.
What The Community Data Says
Based on 150 confirmed fixes from r/FixMyPrint, these are the causes ranked by how often they actually worked:
1. Print speed too high - the most common single fix, especially on bedslingers. Dropping outer wall speed to 30-40 mm/s eliminated visible ringing in most cases without slowing the whole print much.
2. Acceleration too high - dropping from 1500-2500 mm/s2 to 500-1000 mm/s2 reduced shock loads and visible ringing.
3. Loose belts - belts have to be firm to transmit motion accurately. Loose belts amplify ringing because they act as springs themselves.
4. Input Shaping not calibrated (Klipper) or not enabled (Marlin newer versions) - users on capable firmware who hadn't run the calibration discovered massive improvements after one tuning session.
5. Loose eccentric nuts / V-slot wheels - mechanical play in the motion system amplified small vibrations into visible ringing.
Data sourced from r/FixMyPrint - one of the largest 3D printing troubleshooting communities on Reddit. This represents real user-reported issues and community-confirmed fixes, not theoretical advice.
How To Diagnose Your Specific Cause
If ripples appear after every corner regardless of geometry - your printer's resonance is being excited at print speed. Reduce speed and acceleration first.
If ripples only appear on outer perimeters - lower outer wall speed specifically, leave inner perimeters and infill at full speed.
If your printer can't go above 50 mm/s without ringing - mechanical issue. Check belt tension and eccentric nuts before tweaking settings further.
If you upgraded to faster speeds recently - calibrate Input Shaping. Without it, every printer has a hard speed ceiling around 60-80 mm/s.
If ringing wavelength is very short (<5 mm spacing) - high resonant frequency, usually well-built printer with too-high speed. Drop print speed.
If wavelength is long (10+ mm spacing) - low resonant frequency, likely loose belts or wobbly frame. Tighten everything.
Fixes By Cause
Cause 1: Reduce print speed
Outer wall speed: 30-40 mm/s on bedslingers, 60-80 on CoreXY without Input Shaping, 100+ with Input Shaping. Inner walls and infill can stay faster - ringing only matters on visible surfaces. Cura: 'Outer Wall Speed'. PrusaSlicer: 'External perimeters speed'. Bambu/Orca: 'Outer wall speed'.
Cause 2: Reduce acceleration
Bedslingers: 500-1000 mm/s2. CoreXY without IS: 1500-2500 mm/s2. With Input Shaping: 4000-10000+ mm/s2. Set both 'travel acceleration' and 'print acceleration' separately if your slicer supports it.
Cause 3: Tighten belts
Pluck like a guitar string: firm low thud, no floppy slap. Use printer's tensioner if equipped. CoreXY printers need both belts at matched tension - use a frequency app or the official belt tension procedure. Don't over-tighten.
Cause 4: Calibrate Input Shaping
Klipper: install accelerometer (ADXL345, $5), follow `INPUT_SHAPER` calibration in Klipper docs. One-time procedure, transforms print quality. Bambu: enabled by default, runs auto-calibration each print. Marlin (2.1+): supports Input Shaping, manual K-factor calibration via test prints.
Cause 5: Tighten eccentric nuts
With printer powered off, gently rock the X carriage and Y bed in their travel directions. Any wobble = a wheel needs tightening. Find the eccentric nut on the loose wheel and rotate slightly until wobble disappears but movement remains smooth. Worn wheels (visible flat spots) need replacement, not tightening.
Printer-Specific Notes
Bowden printers (Ender 3 family): Bedslinger design is ringing-prone. Outer wall speed 35-40 mm/s, accel 1000 mm/s2 is the safe upper limit without modifications. Adding Input Shaping (via Klipper or recent Marlin) gives you headroom to print 2x faster cleanly.
Direct drive printers (Bambu, Prusa MK4S): CoreXY (Bambu) handles high speeds gracefully. Stock Bambu profiles run 200-300 mm/s with built-in vibration compensation. If you see ringing on a Bambu, either the belt tension is off or you've cranked speeds beyond default.
Enclosed printers (Bambu P1S, K1 Max): Same vibration physics as their open counterparts. The enclosure sometimes adds frame resonance if not properly assembled - check that the panels are firmly attached.
Filament-Specific Notes
Ringing is mostly a printer mechanical issue, but filament viscosity slightly affects how visible it is.
PLA / PLA+: Ringing is most visible on PLA because it solidifies fast and preserves the wave shape clearly. Drop outer wall speed for clean PLA.
PETG: Slightly less visible ringing because PETG flows longer after deposition. Same speed reductions apply.
ABS / ASA: Ringing is least visible because ABS continues to relax after deposition. Speed reductions still help on detailed prints.
TPU: Doesn't show ringing the same way - slow speeds for TPU are about extrusion, not vibration.
How To Prevent It Next Time
Calibrate Input Shaping once if your firmware supports it. The single biggest investment in print quality you can make on any printer.
Set outer wall speed lower than overall print speed in your slicer profile. Default to 50% of your normal print speed for outer walls.
Check belt tension monthly. Belts loosen over time and old belts stretch permanently - replace every 1-2 years on heavily-used printers.
Get An Exact Fix For Your Setup
Use FixMyPrint to get outer wall speed, acceleration, jerk and Input Shaping recommendations tuned for your specific printer - based on what actually worked for similar issues in the community.
Go to /settings-generator to generate yours.