DEV Community

GinoCorp Industries
GinoCorp Industries

Posted on

Ten failures, three causes: debugging an FDM 3D print

A failed 3D print doesn't throw. The printer runs to completion, the fan spins down, and as far as the machine is concerned everything went fine. The only artifact you get is the object, and the object is wrong.

That's a hostile debugging position by software standards. No logs, no stack trace, no exit code, and a test cycle measured in hours rather than seconds. It's also why searching a symptom produces such contradictory advice. You'll find five threads recommending five different fixes, most of which are correct some of the time, and none of which tell you what to check first.

There is one property of the system that makes this tractable, and in a narrow way it's better than logs.

The part is a record of its own execution

FDM printing is strictly sequential and strictly bottom-to-top. Layer 40 gets printed after layer 39 and is never revisited. So height on the finished part maps directly onto elapsed time. Where a defect starts on the Z axis tells you when the machine went wrong, and that one observation kills most of the candidate causes before you've touched a single setting.

You're not reading a log. You're holding one.

Which makes "when did this start?" the question to open with.

Triage by when it failed

Three branches. Pick the one that matches what's in front of you.

It failed in the first few layers.

  • Not sticking at all, or the corners are curling up off the bed → first-layer adhesion, or warping
  • Sticking fine, but the bottom two or three layers are visibly wider than the rest of the part → elephant's foot
  • The nozzle is dragging through plastic it already laid down → this is a Z-offset problem, and it's worth ruling out before anything else because it masquerades as half a dozen other failures

It failed partway up, and everything above that point is bad.

  • Layers splitting cleanly along a layer line → layer separation
  • Everything above a certain height is offset sideways from everything below → layer shifting
  • Walls look thin, gappy, or the part feels weaker than it should → under-extrusion
  • Surfaces look lumpy and the part measures oversized → over-extrusion

The structure is fine, the surface is the problem.

  • Thin hair-like strands spanning the gaps between separate parts → stringing
  • Small raised bumps, or one consistent vertical line running up the side → blobs, zits and seams
  • Extrusion slowed down or stopped entirely → clogged nozzle

The ten failures, with what's actually happening

Warping. Corners or edges lift off the bed as the print cools. Common on ABS and on large flat parts. The cause is uneven cooling: the bottom of the part stays hot against the bed while the top and edges cool and contract faster, and the resulting stress peels the part off the plate. Raise bed temperature toward the top of the material's range, add a brim or a raft, enclose the printer to kill drafts, and cut cooling fan speed for the first several layers.

Stringing. Thin strands of plastic strung between parts of the print. Filament is oozing out of the nozzle during travel moves. Usually retraction is too short or too slow, or the nozzle is running hotter than the material needs. Increase retraction distance and speed in small steps, drop nozzle temperature by 5–10°C, and turn on "combing" or travel avoidance in your slicer if it has it.

Poor first-layer adhesion. The print won't stick, or detaches partway through. Bed isn't level, or isn't at the right height relative to the nozzle, or the surface is dirty or too cool, or the first layer is printing too fast. Re-level, clean the plate with isopropyl alcohol, confirm the bed temperature matches the material, slow the first layer down, and add an adhesion aid like a glue stick if your build surface needs one.

Elephant's foot. The bottom layers bulge outward wider than the rest of the part. The first layers are being squished too flat, either because the nozzle is sitting too close to the bed or because the bed is hot enough to soften the base of the part under its own weight. Raise the Z-offset slightly and turn on your slicer's elephant's-foot compensation. Most modern slicers have one.

Layer separation. Layers split apart cleanly, sometimes days after the print finished. The nozzle wasn't hot enough to fully fuse each new layer to the one below, or the part cooling fans were running too aggressively for the material. Raise nozzle temperature in 5°C steps, reduce part-cooling fan speed, and check for drafts if you're printing ABS or ASA without an enclosure.

Under-extrusion. Gaps between lines, thin walls, a part that feels weaker than it should. Not enough plastic is reaching the nozzle tip. That's a partial clog, a worn extruder gear, too low a temperature, or a flow rate set too low. Run a cold pull to clear partial clogs, check that the extruder gear is actually gripping the filament, raise temperature slightly, and calibrate flow rate if your slicer supports it.

Over-extrusion. Rough, lumpy surfaces and parts that measure oversized. Too much plastic per unit of movement. Check that the filament diameter entered in your slicer matches what's on the spool, reduce flow rate or extrusion multiplier in small increments, and re-run a calibration cube to measure the result.

Layer shifting. Everything above a certain layer is offset sideways from everything below it. The print head or bed physically moved off-position: a loose belt, a skipped stepper motor, or the print head colliding with something. Check belt tension, make sure nothing is obstructing the gantry (a stray spaghetti blob from a previous failure is a classic), and reduce print or travel speed if the shifts happen on fast direction changes.

Blobs, zits and visible seams. Small raised bumps, or a consistent vertical line where each layer starts. Pressure builds up in the nozzle and releases right where a layer starts, or the retraction "un-retracts" and dumps a little extra. Enable coasting or reduce restart extra-extrusion, and turn on seam-hiding options like "align to shortest visible point" or randomized seam placement.

Clogged nozzle. Extrusion slows, stutters, or stops mid-print. Debris or degraded filament is partially or fully blocking the nozzle. Perform a cold pull, check for heat creep (a fan or duct problem on the heatsink, where filament softens above the melt zone and jams), and store filament in a dry box if this keeps recurring. Moisture is the most common repeat cause by a wide margin.

Three causes underneath most of those ten

Read that list again and the symptoms collapse:

  1. Geometry. The nozzle or bed is not where the firmware believes it is.
  2. Temperature. Wrong for the material, or wrong for this specific part's geometry.
  3. Airflow. Cooling mismatched to print speed.

Layer shifting and clogs are the exceptions, and they're really a fourth category: the machine has physically drifted out of the state its configuration assumes. Which is the point of the maintenance section further down.

If you're staring at a failure you can't name, guessing at the category is a better first move than guessing at the setting. Three options beat forty.

Change one thing

This is where the slow test cycle changes the strategy.

When each experiment costs you 20 minutes to 6 hours of wall clock, you cannot afford the software habit of changing four things and seeing what happens. If you drop the temperature, increase retraction and slow the print down in one go and the result is clean, you've learned nothing transferable and you're carrying two changes you didn't need.

Two things make this bearable:

Use a cheap reproduction. A 20mm calibration cube, a first-layer test patch, a retraction tower, a temperature tower. These are the minimal repro cases of the domain, and they cost minutes instead of hours. Fix it on the small thing, then print the real one.

Version your profile. Slicer profiles are mutable global state with no history. After six edits you cannot get back to the settings that were working last week, and the reason your printer "used to be fine" is sitting in a dialog you don't remember opening. Export the profile before you start changing it. Naming it something like pla-generic-known-good costs you five seconds and saves an evening.

Starting numbers for four materials

Every filament brand differs. Start in the middle of each range and adjust from there:

Material Nozzle Bed Speed Cooling fan
PLA 190–210°C 50–60°C 40–60 mm/s High (80–100%)
PETG 230–250°C 70–80°C 30–50 mm/s Low–medium (0–50%)
ABS / ASA 230–250°C 90–110°C, enclosed 30–50 mm/s Low or off
TPU (flexible) 210–230°C 30–60°C 15–30 mm/s Medium (30–60%)

Retraction splits by extruder type rather than by material: direct drive wants roughly 0.5–2 mm at 25–45 mm/s, Bowden wants 4–7 mm at 40–60 mm/s. Bowden setups need more because there's a length of PTFE tube between the motor and the melt zone absorbing the movement.

One rule of thumb worth having memorised: keep layer height under about 75% of your nozzle diameter. On a standard 0.4 mm nozzle that puts a practical ceiling around 0.3 mm for reliable layer bonding. Above that, the extruded line can't press properly into the one below it, and layer separation gets much more likely.

Most "mystery" failures are maintenance debt

A printer is a machine that slowly leaves the state its configuration assumes. Belts stretch. Nozzles wear their orifice wider. Rails collect dust. Frame screws back themselves out under vibration. Build surfaces accumulate finger oil.

None of that surfaces as an error. It surfaces as a profile that worked in March and doesn't in June. The settings didn't change. The machine did.

So "it used to work" is usually a maintenance question:

  • Every print — bed clean of dust, oil and fingerprints; filament path clear and the spool feeding freely
  • Weekly — check belt tension (a correctly tensioned belt should twang like a guitar string, not flop); wipe down linear rails or rods; look at the nozzle tip for debris buildup
  • Monthly — re-level the bed properly rather than spot-checking it; lubricate rods and rails per your printer's manual; check frame screws and fasteners for looseness
  • Quarterly, or every ~3 kg of filament — cold-pull the nozzle even if it isn't clogged; check PTFE tubing on Bowden setups for wear or gaps at the fittings; replace the nozzle if quality has been slowly degrading

Nozzle wear catches people out, because it's gradual and there's no day it breaks. Quality erodes until you're tuning settings to compensate for a worn orifice, which never quite works.

The checklist that prevents most of this

Before anything you actually care about:

  • Bed is clean and level
  • Correct filament profile loaded for the material actually on the spool
  • Filament is dry (no popping or hissing while extruding)
  • Nozzle and bed temperatures match the material
  • Z-offset confirmed on a test strip if the printer was recently moved or relevelled
  • Enough filament on the spool for the slicer's estimate
  • No obvious slicer warnings on the model (floating islands, non-manifold geometry)
  • You'll be around to look at it when the first layer finishes

That last item matters more than it sounds. A good first layer predicts a good print more reliably than any single setting in this post. Watch the first layer go down, then walk away.

One honest caveat

Treat the tables above as starting ranges. Filament brands vary enough that two spools of PLA can want a 15°C difference, and a printer with a worn nozzle or a soft PTFE tube will disagree with all of it. The method survives that; the numbers don't.

And know when to stop optimising. If the part is a bracket nobody will look at, spending an hour tuning retraction to avoid a 40-minute reprint is a bad trade. Add a brim, print it again, and go do something else.


Disclosure, in the open: I make reference guides, and the failure list and settings ranges above came out of one of mine. It's a 9-page PDF with the diagnostic flowchart, the ten failures, the material table and the maintenance schedule laid out for printing and keeping next to the machine, $7 here. Everything I'd actually reach for is in this post. The PDF is the version you can tape to a wall.

Top comments (0)