Voron Vibration and Resonance Troubleshooting — Ghosting, Ringing, and Artifacts
Troubleshooting Calibration Mechanical
Every Voron owner eventually encounters print artifacts — those frustrating ripples, waves, and patterns that ruin an otherwise perfect surface finish. The good news: nearly all of them are fixable. The bad news: different artifacts have different causes, and applying the wrong fix wastes time and can make things worse. This guide teaches you to identify artifacts by sight, diagnose the root cause, and apply the correct fix. Last updated: May 2025.
We cover all major artifact types, deep-dive into Klipper's input shaper system, mechanical troubleshooting for the frame and gantry, stepper motor tuning, and frame stability. Whether you're struggling with ghosting on a V2.4 350mm or VFA on a Trident, this guide has the answers.
Artifact Identification Guide
Before you can fix an artifact, you need to identify it correctly. Here's how to tell the common Voron print artifacts apart by visual inspection. Print a calibration cube or a flat surface test piece at 100-200 mm/s to make artifacts visible.
Ghosting / Ringing (Resonance Artifacts)
What it looks like: Repeating, fading wave patterns on vertical surfaces, especially near sharp corners or sudden direction changes. The waves are most visible on the X and Y faces of the print and fade toward the center. Ghosting looks like a "shadow" of the print's own features offset by a few millimeters.
Cause: The toolhead's inertia excites the printer's natural resonance frequencies when it decelerates into corners or changes direction. The frame oscillates at its resonant frequency, and those oscillations imprint onto the print surface. Voron V2.4 350mm printers are particularly susceptible due to the large flying gantry's mass and flexibility.
Fix: Input shaper calibration (see the deep dive below). If input shaper is already calibrated and ghosting persists, the frequency measurement may be wrong or the printer may have changed since calibration (belt tension, toolhead weight, or frame position).
Salmon Skin / Droolies (Missing Steps or Motor Current)
What it looks like: A repeating, wavy pattern on horizontal surfaces (top layers and bottom surfaces) that has a "fish scale" or "salmon skin" texture. On vertical walls it appears as short, sharp horizontal lines that repeat at regular intervals.
Cause: This artifact is caused by the stepper motor's microstepping positioning error combined with the interaction between the motor driver's current control mode and the motor's back-EMF. It's most common with TMC2209 drivers running in stealthChop2 mode at high speeds. The motor loses position accuracy at certain step frequencies, creating a periodic error.
Fix: Switch from stealthChop to spreadCycle mode for the X and Y stepper drivers. In Klipper's printer.cfg, set stealthchop_threshold: 0 for TMC2209/5160 drivers on X and Y axes to force spreadCycle mode. Alternatively, increase motor current (run_current) by 10-15% to improve torque margin. If the artifact persists, try higher microstepping resolution (256 instead of 128) or adjust the motor driver's interpolation settings. On V0.2 printers with tiny frame, salmon skin is rare — it's more common on larger Vorons pushing high accelerations.
VFA (Vertical Fine Artifacts — Motor Pole Pass Frequency)
What it looks like: Very fine, closely spaced vertical lines on the print surface, typically 0.5-2mm apart. They appear as subtle vertical bands rather than obvious waves. VFA is most visible on glossy filaments like ABS and ASA under direct lighting. It looks like the print surface has a faint "grained" texture.
Cause: VFA is caused by the stepper motor's pole-pass frequency — the natural torque ripple that occurs as the motor's internal magnets pass the stator poles. This is a physical characteristic of the motor and cannot be eliminated entirely, but it can be minimized. The artifact changes frequency with print speed because the motor's rotation speed changes, which shifts the pole-pass frequency.
Diagnosis: Print the same model at three different speeds: 200mm/s, 150mm/s, and 80mm/s. If the spacing of the vertical artifacts changes with speed, VFA is the culprit. If the spacing stays the same regardless of speed, the cause is something else (Z binding, belt pulley eccentricity, or a bent lead screw).
Fix: Try the following in order: (1) Adjust stepper driver current — increase by small increments (0.05A) to find the current that minimizes motor vibration at your typical print speeds. (2) Switch between spreadCycle and stealthChop — some motor/driver combinations run smoother in one mode than the other. (3) Try a different microstepping setting (128 vs 256). (4) Replace motors with higher-quality units (LDO motors are known for lower VFA than generic NEMA17s). (5) As a last resort, use Klipper's vfa_freq calibration (available in recent Klipper versions) to measure and compensate for motor-specific VFA frequencies.
Moiré Patterns (Over-Extrusion + Input Shaper Interaction)
What it looks like: Wavy, interference-like patterns on flat surfaces, creating a visually busy texture that resembles the moiré effect on scanned images. The pattern interacts with the print orientation and can change as the print progresses up the Z axis.
Cause: Moiré patterns in 3D prints are typically caused by the interaction between over-extrusion and input shaper. When extrusion multiplier is too high (1.05-1.10), the excess plastic has nowhere to go and creates a wavy surface. Input shaper's smoothing effect then interacts with this waviness to produce the moiré pattern. The effect is more pronounced on large, flat surfaces printed at high accelerations.
Fix: Reduce extrusion multiplier to 1.00 or 0.98 and re-extrude. If the pattern persists, recalibrate your pressure advance (see our Pressure Advance Guide). Also check that your input shaper frequency isn't too low — a too-low frequency causes more smoothing, which accentuates the moiré effect. Try a less aggressive shaper type (MZV instead of 2HUMP_EI) to reduce smoothing.
Layer Lines / Z Artifacts
What it looks like: Visible horizontal lines at regular Z height intervals, giving the print surface a stacked or "ribbed" appearance. In severe cases, you can feel the ridges with your fingernail. The lines may be uniformly spaced or appear in clusters at specific Z heights.
Cause: Z artifacts arise from imperfections in the Z axis motion. Common causes: lead screw wobble (if the lead screw is bent or not parallel to the Z extrusions), Z rail binding (dirt or misalignment in the linear rail), inconsistent Z motor microstepping, or thermal expansion of the Z leads during enclosure heating.
Fix: Start by checking Z alignment. On Trident and V2.4, ensure all Z motors move in sync — run QUAD_GANTRY_LEVEL before each print. Check the lead screw for straightness by rolling it on a flat surface. Lubricate the Z linear rails with lightweight oil (Super Lube 51004 or similar). If using a single Z motor (V0.2, Switchwire), check that the coupler between motor and lead screw is tight and centered. For the V2.4's belt-driven Z, check belt tension — loose Z belts cause inconsistent Z layer heights.
Input Shaper Deep Dive
Input shaper is the single most important tool for eliminating ghosting and ringing on Voron printers. It measures your printer's natural resonance and filters motion commands to cancel vibrations before they appear on the print. Here's what you need to know to use it effectively.
Shaper Types Explained
Klipper supports five shaper algorithms, each with different trade-offs between ghosting suppression, smoothing, and maximum acceleration:
- ZV (Zero Vibration): The simplest shaper. Cancels vibration at a single frequency. Minimal smoothing (lowest acceleration loss of ~10%) but moderate ghosting suppression. Best for very rigid frames like the V0.2 where vibration is already minimal.
- MZV (Modified Zero Vibration): An improved ZV that adds a second pulse for better suppression. Good ghosting reduction with low smoothing (~15% acceleration loss). The best all-rounder for most Voron builds. Start here unless you have a specific reason not to.
- EI (Echo-canceling Input Shaper): Aggressive suppression with more smoothing (~40% acceleration loss). Use when MZV isn't enough to eliminate ghosting, or when surface quality is your absolute priority over speed.
- 2HUMP_EI: A two-hump EI variant that handles two overlapping resonance peaks. Excellent suppression with moderate smoothing (~25% acceleration loss). Ideal for V2.4 printers whose flying gantry produces two distinct resonance peaks (frame resonance + gantry belt resonance).
- 3HUMP_EI: The most aggressive shaper — maximum ghosting suppression at the cost of the highest smoothing (~35% acceleration loss). Best for large V2.4 350mm printers where frame flexibility creates multiple resonance peaks.
Choosing the Right Shaper
Use MZV as your starting point for all Voron models. Run SHAPER_CALIBRATE with an ADXL345 accelerometer (see our complete Input Shaper guide for wiring and configuration). If the recommended shaper from calibration is different from MZV, trust the calibration — Klipper's algorithm selects the shaper that provides the best vibration reduction at the highest possible acceleration.
General recommendations by Voron model:
- V0.2: MZV or ZV. The tiny 120mm frame is extremely rigid. ZV provides enough suppression with minimal smoothing, preserving the high accelerations (10,000-15,000 mm/s²) the V0.2 is capable of.
- Trident: MZV or 2HUMP_EI. The fixed gantry is inherently more rigid than the V2.4's flying gantry, so MZV is usually sufficient. 2HUMP_EI for 300mm Tridents where the larger frame adds resonance.
- V2.4 250mm/300mm: 2HUMP_EI is the sweet spot. The flying gantry produces two resonance peaks, and 2HUMP_EI handles both effectively while keeping acceleration loss manageable.
- V2.4 350mm: 2HUMP_EI or 3HUMP_EI. The 350mm frame's larger spans create more complex resonance. Run SHAPER_CALIBRATE and accept whatever it recommends — it will likely be one of the EI variants.
ADXL345 Mounting Tips
The quality of your input shaper calibration depends heavily on how you mount the accelerometer. Bad mounting = bad data = ineffective shaper. Follow these rules:
- Rigid mount: The sensor must be firmly attached to the toolhead with no wiggle. A screw mount is ideal. 3M VHB double-sided tape works but add a zip tie for security.
- Align axes: Mount the ADXL345 so its X and Y axes match the printer's X and Y movement directions. Use the
axes_mapparameter in Klipper if you can't achieve perfect alignment. - Toolhead position, not gantry: Mount the sensor on the toolhead (carriage), not the gantry extrusion. You want to measure the vibration at the print nozzle, not somewhere else on the structure.
- Short cable: Use a cable shorter than 1.5m. Long cables pick up EMI from the stepper motor wires, corrupting the accelerometer readings. If you must use a long cable, route it away from motor and heater wires.
- Re-run after changes: Any change to the printer — new toolhead, different hotend, tightened belts, even changing the desk surface — can shift resonance frequencies. Re-run SHAPER_CALIBRATE after every modification.
Mechanical Sources of Vibration
Input shaper is a powerful tool, but it can't fix mechanical problems. If your printer has loose joints, binding rails, or uneven belt tension, no amount of software tuning will eliminate artifacts. Fix the mechanics first, then calibrate input shaper.
Loose Extrusion Joints
Check every corner bracket and extrusion joint on your frame. A loose joint acts as a mechanical amplifier — vibration from the toolhead shakes the loose joint, which then resonates and rings at its own frequency. Tighten all M5 bolts in the corner brackets to spec (typically 1.5-2.0 Nm, or "snug plus a quarter turn"). Use a torque driver if you have one. Pay special attention to the Z extrusions and the top frame corners on V2.4 builds — these take the most load during fast Y-axis movements.
Gantry Flex (V2.4 Specific)
The V2.4's flying gantry is a cantilevered design — the X axis gantry is supported only on the left and right Y rails. At high accelerations, the gantry can twist slightly, introducing a low-frequency wobble that input shaper struggles to cancel. Check that the gantry is perfectly parallel to the bed: measure the distance from the gantry extrusion to the bed at both ends. On a 350mm V2.4, a difference of 0.5mm or more indicates gantry twist that needs correction. Loosen the gantry mounting brackets, re-square the gantry, and re-tighten. Adding a gantry brace (available as a mod on the Voron User Mods GitHub) can significantly reduce flex on larger builds.
Belt Tension Imbalance
X and Y axes should have similar but not necessarily identical belt tension. The resonance frequency measurement from SHAPER_CALIBRATE will show two distinct peaks if belt tension differs significantly between axes. To fix: measure belt tension using a smartphone app (Gate tension meter or similar) or the "pluck test" — pluck the belt like a guitar string; the frequency should be in the 100-140 Hz range for both axes. Adjust the X and Y belt tension independently until they're close. Note: V0.2 belts are shorter and stiffer, so they naturally resonate at higher frequencies (140-180 Hz) — don't try to match V2.4 tension values on a V0.2.
Rail Binding
If a linear rail has a tight spot or is misaligned, the carriage will stick and skip as it moves, introducing sharp vibration spikes that input shaper cannot cancel. Check for rail binding by manually moving the toolhead or bed through its full travel — you should feel smooth, consistent resistance. A binding spot feels like a "catch" or increased friction at a specific position. Fix by loosening the rail mounting screws, re-aligning the rail, and re-tightening in a criss-cross pattern. If the rail itself is damaged (pitted or dented), replace it.
Motor Driver Microstepping
The interaction between stepper motor microstepping and the motor driver's current control mode can introduce mid-band resonance — vibration at specific speeds where the motor's electrical frequency matches a mechanical resonance. This shows up as audible whining and visible artifacts at those specific feed rates. In Klipper, you can mitigate this by adjusting microsteps (try 16, 32, 64, or 128), switching between stealthChop and spreadCycle, or adjusting run_current up by 5-10%. The best setting depends on your specific motor brand and model — there's no one-size-fits-all.
VFA Diagnosis and Speed Testing
Vertical Fine Artifacts are the most frustrating to diagnose because they look like ghosting but respond differently to input shaper. Here's a systematic diagnosis method:
Step 1: Print a 40x40x40mm calibration cube at 200mm/s, 150mm/s, and 80mm/s. Use the same filament, temperature, and extrusion settings for all three.
Step 2: Examine the vertical surfaces of all three cubes under a bright light at an angle. Measure the spacing between the fine vertical lines using calipers or a digital microscope.
Step 3: If the line spacing changes proportionally with print speed (smaller spacing at lower speeds, larger spacing at higher speeds), the artifact is VFA from motor pole-pass frequency. If the spacing is the same at all speeds, the cause is mechanical — check the Z axis for binding, the belt pulleys for eccentricity, or the hotend for loose mounting screws.
Step 4 (VFA confirmed): Try these fixes in order:
- Adjust driver current: increase by 0.05A increments up to +20% of the rated motor current. Test print after each adjustment.
- Switch driver mode: if running spreadCycle, try stealthChop (set
stealthchop_threshold: 999999), or vice versa. - Change microstepping: try 32, 64, 128, and 256 microsteps. Higher microstepping generally smooths VFA but reduces holding torque.
- Try Klipper's
vfa_freqcalibration: runVFA_CALIBRATEto measure and compensate for motor-specific frequencies.
Frame Stability and Environment
The surface your Voron sits on has a measurable impact on print quality. A wobbly desk or uneven floor introduces low-frequency vibration that input shaper can't fully cancel.
Desk/bounce check: While the printer is running at high speed (printing infill at 200mm/s+), place your hand on the desk next to the printer. If you feel noticeable vibration, your desk is resonating with the printer. The fix is to rigidly mount the printer to a solid surface or decouple it from the surface using vibration isolation.
Rigid mounting surface: The best surface for a Voron is a thick (~2+ inch) butcher block countertop, a concrete paver on a sturdy steel frame desk, or a dedicated printer stand with cross-bracing. Avoid flimsy IKEA-style desks, standing desk extensions, or folding tables — these amplify vibration rather than dampening it.
Anti-vibration feet: If you can't change the desk, use anti-vibration feet or pads between the printer and the surface. Sorbothane hemispheres (durometer 50-70) are the gold standard — they absorb up to 95% of transmitted vibration at the frequencies common in Voron printers (20-80 Hz). Silicone anti-vibration pads (like the ones used for washing machines) also work but are less effective. Rubber feet alone are insufficient — they don't absorb the specific frequencies that cause print artifacts.
Concrete paver trick: Place a 40x40cm concrete paver (from any hardware store, $3-5) under the printer with a layer of Sorbothane or foam between the paver and the desk. The high mass of the paver absorbs vibration energy, and the decoupling layer prevents it from transmitting to the desk. This is the most cost-effective frame stability upgrade available. Many V2.4 350mm owners swear by this method.
Klipper Tricks for Advanced Troubleshooting
- Recalibrate after every change: Input shaper frequencies drift with belt tension changes, toolhead swaps, and even ambient temperature. Re-run
SHAPER_CALIBRATEafter any maintenance or modification. Keep a log of measured frequencies so you can spot drift over time. - Toolhead vs bed resonance: Your toolhead and bed have different resonance frequencies. Klipper's
SHAPER_CALIBRATEmeasures toolhead resonance by default. To measure bed resonance (on Trident, V2.4, or Switchwire), mount the ADXL345 on the bed and useSHAPER_CALIBRATE AXIS=Z. This is important for tall prints where bed vibration at specific Z heights affects the top layers. - Use CSV data for analysis: Run
MEASURE_AXES_NOISEto check the noise floor. Export CSV data withACCELEROMETER_MEASUREand import into Python/Excel for custom analysis. A Klipper frequency graph with multiple spikes at unexpected frequencies points to a mechanical problem, not a tuning problem. - Disable input shaper temporarily: If you're troubleshooting a new artifact, temporarily disable input shaper (
SET_INPUT_SHAPER SHAPER_TYPE_X=0 SHAPER_TYPE_Y=0) and print a test piece. If the artifact disappears, it's related to input shaper (wrong frequency, too much smoothing). If it persists, the cause is mechanical. - Use test prints: Download the Klipper ringing tower from the Klipper documentation. Print it at 150mm/s with increasing accelerations (2,000 to 10,000 mm/s²). The tower reveals at which speeds and accelerations artifacts appear, helping you isolate the root cause.
Vibration troubleshooting is a systematic process of elimination. Start with the most common causes (input shaper calibration, belt tension, frame stability), work through the mechanical checks, and only dive into motor and driver tuning if the obvious fixes don't work. Print test pieces, measure carefully, and change one variable at a time. With methodical debugging, every Voron can achieve artifact-free prints — it just takes patience and the right approach.