Under-extrusion Only on Diagonal Walls: 10 Calibration Secrets to Perfect Prints
There is a specific kind of madness that only a 3D printing enthusiast understands. It’s that moment when your calibration cubes look like high-art masterpieces, your retraction is dialed in to the micron, and your benchy has a hull so smooth it could glide through glass—only for your actual project to come off the bed with mysterious, rhythmic gaps on the diagonal walls. It feels personal. It feels like the machine is waiting for you to walk away before it starts acting up.
I’ve spent more nights than I care to admit staring at a flashlight-lit build plate, trying to figure out why my printer handles straight X and Y moves like a champ but chokes the second it has to move both motors simultaneously. If you are seeing thinning, "wood grain" patterns, or straight-up gaps only when the toolhead travels at a 45-degree angle, you aren’t crazy. You’ve just hit the intersection of firmware math and mechanical resonance.
In this deep dive, we are going to stop guessing. We are going to look at the two biggest culprits: Linear Advance (and its cousin, Pressure Advance) and stepper microstepping artifacts. By the time you finish this guide, you’ll have a diagnostic framework to tell the difference between a software "push" problem and a hardware "step" problem, saving you dozens of hours of wasted filament and frustration.
The Diagonal Dilemma: Why 45-Degrees is Different
To fix the problem, we have to understand the physics of the move. When your printer moves strictly along the X-axis, one motor is spinning. The math is simple. The firmware says "move 100 steps," and the motor complies. However, when you print a diagonal wall—specifically at 45 degrees—both the X and Y motors must move simultaneously at $\sqrt{2}$ times the speed of a single axis move to maintain the requested toolhead velocity.
This simultaneous movement puts a unique stress on the extruder. On many budget or mid-range control boards, the CPU is suddenly doing twice the work to calculate step pulses for two axes while also trying to manage the constant flow of the extruder. If there is a bottleneck in how the firmware calculates the Linear Advance algorithm, or if your stepper drivers are struggling with the specific voltage required for synchronized microsteps, the diagonal wall is where the mask slips.
Commonly, users mistake this for a partial clog. But a clog doesn't care about geometry. A clog will ruin a straight wall just as happily as a diagonal one. If your issue is strictly geometric, we are looking at a timing and pressure synchronization issue.
Linear Advance: When Pressure Management Goes Wrong
Linear Advance is a brilliant feature in Marlin (and Klipper, where it's called Pressure Advance) that compensates for the "ooze" or elasticity of molten filament. It predicts the pressure build-up in the nozzle and pulls back or pushes forward on the extruder to ensure the width of the line stays constant, even when the head is speeding up or slowing down.
However, if your K-factor (the value that dictates the strength of this compensation) is tuned incorrectly, it can cause severe under-extrusion only on diagonal walls. Why? Because the acceleration curves for diagonal moves are different. On a diagonal, the toolhead might reach its target speed faster or slower in terms of motor pulse frequency compared to a straight move. If your K-value is too high, the firmware might "anticipate" a stop too early, reducing pressure and leaving a thin, starved line on the diagonal segment.
I’ve seen cases where a user tuned their Linear Advance on a standard 100mm straight-line test, only to find their actual models—full of complex 45-degree infill and walls—looked like Swiss cheese. The fix here isn't necessarily turning it off, but re-tuning it using a "pattern" test rather than a "line" test to see how it handles directional changes.
Stepper Microstepping: The Ghost in the Machine
Now, let's talk about the hardware side. Most modern 3D printers use 1/16 microstepping, often interpolated to 1/256 by the driver (like the popular TMC2209). Microstepping is a trick of the light; it uses varying current levels to hold the motor between its physical "full steps."
The problem arises from "non-linearity." Stepper motors are naturally "happier" at full steps. As the driver moves between these steps, the torque isn't perfectly uniform. On diagonal moves, where two motors are trying to coordinate these tiny electrical "half-holds," you can get what’s known as Vertical Fine Artifacts (VFA) or "wood grain" patterns. While this often looks like a surface texture issue, it can actually manifest as under-extrusion if the vibrations cause the filament to lose its grip or if the rhythmic "lurching" of the toolhead creates uneven pressure in the nozzle.
If you see a very regular, repeating pattern of thin spots that looks like a screen door, you are likely looking at a microstepping artifact. This is often exacerbated by "cheap" motors with high detent torque or drivers that aren't tuned for the correct Vref (voltage). It’s a mechanical heartbeat that the extruder simply can’t keep up with.
The Ultimate Diagnostic Checklist: Linear Advance vs Stepper Artifacts
When you're staring at a failed print, use this checklist to narrow down the culprit. Don't change five things at once—you'll just confuse yourself and the machine.
Step-by-Step Isolation Protocol
| Observation | Likely Culprit | Immediate Action |
|---|---|---|
| Gaps only at the start/end of diagonal lines | Linear Advance | Reduce K-factor by 20% and re-test. |
| Repeating "wood grain" texture throughout the wall | Microstepping | Adjust speed; check belt tension. |
| Under-extrusion happens at high speeds only | Flow Rate / Volumetric Limit | Increase temp or decrease speed. |
| Gaps appear randomly, not rhythmic | Mechanical/Filament | Check for extruder gear slipping. |
Mechanical Variables: Belts, V-Rollers, and Tension
Before we go diving into the firmware code, we have to rule out the "dumb" stuff. 3D printers are vibrating boxes of entropy. Things loosen. On a diagonal move, the belt tension of both X and Y is being tested simultaneously. If one belt is tighter than the other, the toolhead won't follow a perfect 45-degree path; it will "jitter" or "drift," creating what looks like under-extrusion as the nozzle moves slightly faster than the extruder can supply plastic.
The V-Roller check: If you use a machine with V-slot wheels (like an Ender 3 or CR-10), check for flat spots. A flat spot on a roller might not show up on a long X-axis travel, but during the short, high-frequency pulses of a diagonal move, it can cause a "hiccup" that breaks the laminar flow of the plastic. I once spent three days fighting "under-extrusion" that turned out to be a tiny piece of debris stuck in the Y-axis rail that only caught the wheel when the X-axis was also under load.
Belt "Ghosting": High belt tension can actually cause resonance that mimics under-extrusion. If the belts are too tight, they can vibrate like guitar strings. These vibrations interfere with the extruder's ability to lay down a smooth bead. Your belts should be "taut but not tuned to a high C."
Slicer Workarounds for Immediate Results
If you are in the middle of a project and don't have time for a full firmware overhaul, there are several "cheats" in slicers like Cura, PrusaSlicer, or Orca Slicer that can mask under-extrusion only on diagonal walls.
- External Perimeter First: Most slicers default to printing inner walls first. By switching to "Outer Walls First," the nozzle has better support and isn't fighting the pressure variations of the inner infill.
- Wall Speed Equalization: Set your outer wall speed, inner wall speed, and infill speed to be the same. This reduces the pressure changes that Linear Advance has to compensate for, effectively "smoothing out" the extrusion math.
- Increasing "Extra Prime Amount" after Retraction: If the gaps appear specifically after the nozzle travels to start a new diagonal wall, your retraction might be too aggressive, leaving the nozzle empty for the first few millimeters of the diagonal move.
Advanced Calibration: Tuning Your K-Factor for Diagonal Accuracy
If you've determined that Linear Advance is the culprit, you need to perform a calibration that mimics real-world printing. The standard "K-factor line test" is okay for a baseline, but the Tower Method or the Pattern Method is superior for diagnosing diagonal issues.
In the Pattern Method, the printer creates a series of zig-zags (diagonal moves!) at varying K-values. You are looking for the value where the corners are sharp but the lines are solid. If your K-value is too low, you’ll get "bulging" corners. If it’s too high, you’ll see the dreaded under-extrusion only on diagonal walls. Most Bowden tube setups require a K-value between 0.1 and 2.0, while Direct Drive systems usually sit much lower, between 0.01 and 0.1.
A "pro tip" here: if you are using Klipper, look into Input Shaping. While Input Shaping is designed to stop ringing/ghosting, it actually works in tandem with Pressure Advance. If your Input Shaper frequencies are incorrectly measured, they can cause the toolhead to "slow down" in ways the extruder doesn't expect, leading to intermittent flow issues on complex paths.
Infographic: The Diagonal Success Roadmap
Check belt tension and V-rollers. Ensure X and Y have equal resistance. (Eliminates hardware "jitter")
Disable Linear/Pressure Advance temporarily. Does the problem vanish? (Isolates the algorithm)
Verify Vref for X/Y/E motors. Check if TMC "StealthChop" is causing torque loss. (Fixes microstepping gaps)
Result: Consistent flow across all geometric vectors.
Trusted Technical Resources
To dive deeper into the mathematics of stepper movements and firmware calibration, I highly recommend these official documentation hubs:
Frequently Asked Questions
What exactly is Linear Advance?
It is a firmware feature that manages nozzle pressure. Think of it like a brake and gas pedal for your extruder; it slows down the "push" before a corner so plastic doesn't ooze, and speeds it up at the start of a line to prevent thinning.
Why does this only happen on diagonal walls?
Diagonal moves require two motors (X and Y) to coordinate at higher pulse frequencies. This creates unique electrical and mechanical harmonics that can confuse an poorly tuned Linear Advance setting or expose weak stepper motor microstepping.
How do I know if my stepper drivers are the problem?
If you see a "moire" or "wood grain" pattern that remains even after you turn off Linear Advance, your drivers or motors are likely the issue. This is often solved by adjusting the Vref or switching to "SpreadCycle" mode on TMC drivers.
Can a Bowden tube cause diagonal under-extrusion?
Yes. Bowden tubes have "play" (internal space). During the complex movements of a diagonal wall, the filament can flex inside the tube, delaying the pressure change at the nozzle. Higher K-values are needed for Bowden setups to compensate for this slack.
Does printing temperature affect diagonal wall quality?
Absolutely. If you print too cold, the filament has higher viscosity (it's thicker). The extruder has to work harder to maintain pressure, and any slight timing error in the firmware will result in a visible gap on the print.
Should I turn off microstepping interpolation?
Generally, no. Interpolation (1/16 to 1/256) makes the motors quieter and smoother. However, if your control board is an older 8-bit model, it might be struggling to keep up with the calculations. In that case, simplifying the move math can help.
Is this the same as "Ghosting"?
No. Ghosting is a vibration echo near sharp corners. Under-extrusion on diagonals is a constant flow problem throughout the entire slanted segment. While both are mechanical in nature, the solutions (Input Shaper for ghosting, Linear Advance for flow) are different.
Conclusion: Mastering the Geometry of Flow
Solving under-extrusion only on diagonal walls is essentially a rite of passage for the serious 3D printing hobbyist. It represents the point where you stop seeing the printer as a "magic box" and start seeing it as a complex system of fluid dynamics and electrical timing. Whether your issue is the software over-anticipating pressure changes via Linear Advance or the physical limitations of stepper microstepping, the solution is always found in methodical isolation.
Start by checking your belts—because "it’s always the belts" is a meme for a reason. Then, move to your firmware. Don't be afraid to dial back your K-factor or experiment with slightly slower diagonal speeds to see where your machine’s "comfort zone" lies. Perfect prints aren't the result of a perfect machine; they are the result of an operator who knows exactly how to compensate for an imperfect one.
If you're still seeing those pesky gaps, try a re-calibration tower tonight. You might be surprised at how much a tiny tweak to your pressure settings can transform your "good" prints into "professional" ones. Happy printing, and may your walls always be solid—no matter which way they're facing.
Ready to eliminate those artifacts for good? Download our comprehensive calibration guide or join the discussion in the comments below!