All my prints come out about 1 mm too short in the Z dimension. So for example a 20 mm cube comes out 19 mm high. A 10 mm cube comes out 9 mm high. The X and Y dimensions are fine. There's a little bit of visible elephant's foot at the bottom, so I assume whatever is happening is in the first couple of layers. The problem is fairly consistently around 1 mm even for larger prints.

10 mm test cube 20 mm test cube

The printer is an Ender 3 Pro with a glass bed and BLTouch for automatic leveling, but otherwise stock.

I had a similar issue with another Ender 3 Pro that was resolved thanks to a link to this question about problems in the first 3 mm. The solution was turning the eccentric nuts on the left and right to loosen the rollers that connect the X-axis gantry to the vertical posts. There the Z issue was not as pronounced, and I was getting really messy prints in the first few Z layers. Here that is not an issue; the first few layers look fine while they're printing. Loosening the rollers did not resolve it.

Things I've tried:

  • Tightening and loosening the gantry rollers using the eccentric nuts. They're currently just tight enough that turning them moves the gantry, but loose enough that I can turn them without moving the gantry if I hold it still.
  • Tightening and loosening the two little screws that attach the extruder mount to the Z-axis lead screw. Currently I made them just tight, then backed off 1/4 turn.
  • Adding a shim between the vertical post and the Z-axis lead screw. The lead screw is now pretty much parallel to the post.
  • Slowly turning the lead screw by hand to raise and lower the gantry. There's no noticeable catching or increased resistance anywhere.
  • Varying the brand and type of PLA filament.
  • Varying the temperature from 190 °C to 210 °C.
  • Obsessively leveling and re-leveling the bed. Manually leveling, auto leveling with the BLTouch, and adjusting the z-offset.

I'm using the stock Ender 3 Pro profile in Cura, and printing at 0.2 mm layer height. I've kind of run out of things to check. What else can cause Z height loss in the first few layers like this?

  • 1
    $\begingroup$ 1 mm is a lot that is missed, certainly when you use a layer height with a multiple of full steps. Have you checked movement without printing? So measure the height after a move from Z0 to Z100. $\endgroup$
    – 0scar
    Jul 5 '20 at 13:03
  • $\begingroup$ @0scar At your suggestion I did. I auto-homed, moved the head down to 0, measured the height of the top of the gantry, moved it up 100 mm, and measured again. It was dead-on 100 mm difference (as accurate as my ruler can be). So if that's working, what else should I look at? $\endgroup$
    – Robert
    Jul 5 '20 at 21:00
  • 1
    $\begingroup$ Your question is very well formulated, but, to be honest, I've no clue at the moment. What I would do is write a script to generate G-code to move the printer from Z0 to Z100 in 0.2 mm steps to see if that makes a difference. I can't grasp why while printing it doesn't progress Z as a move. Look for play in the Z axis. Do you use Z-hop? $\endgroup$
    – 0scar
    Jul 5 '20 at 22:14
  • $\begingroup$ @0scar I don't think so. "Z Hop When Retracted" is turned off in the (standard) Cura profile I'm using, so unless there's another setting somewhere I'm not using Z-hop. $\endgroup$
    – Robert
    Jul 5 '20 at 22:37
  • $\begingroup$ Did you ever solve this? A new user without comment privileges just attempted to post such a question as an answer. I'm curious too, since I've had various Z-axis problems in the past on an Ender 3 and want to know what could cause such an awful one as you've experienced in case I encounter similar in the future. $\endgroup$ Sep 12 '20 at 13:53

Do you have any “slop” on the right side (non motor) of the gantry?

I’ve noticed that my gantry will settle on the right side and lag behind the motor driven - ever so slightly - when it starts to drive up. It will, after that first lag, move fine for the rest of the time. Z axis travel seems barely affected but all my prints are consistently about 0.5 mm short.

  • 2
    $\begingroup$ N.B. "Slop" is a common term for looseness or play -- what machinists used to call "shake". In this context, it would mean the Xmax end of the gantry lags behind the Xmin end when the gantry starts to move up. $\endgroup$
    – Zeiss Ikon
    Aug 9 '21 at 18:14
  • $\begingroup$ I think this is it. You've described what I see perfectly - a slight on the non-motor side. Is this something that's just endemic to the Ender 3? What can I do about it? $\endgroup$
    – Robert
    Aug 10 '21 at 3:20
  • 2
    $\begingroup$ It's probably endemic to any single Z drive gantry type printer. The most reliable solution might be converting to some kind of dual Z drive -- I've seen single-stepper belt drive Z conversions with all printable parts (other than the belts). I hope that isn't what's needed, though; I have the same problem with an Ender 3 (the cheap one). $\endgroup$
    – Zeiss Ikon
    Aug 10 '21 at 11:29

I have the exact same issue on my Ender 3 V2, perfect bed level using a dial gauge, perfect first layer test prints (printing 9 squares all 1 layer high).

I can only get rid of it two ways:

  1. Using a Raft as you have said (annoying).
  2. Adjusting the Z-height Just exactly as the 1st layer finishes. I raise the height by 0.15-0.20 mm (in my case), and the resulting elephant foot is about 80-90 % better.

I recommend you follow Luke Hatfields guide on Ender 3 rework for The X-Gantry, as well as his other sections. Youtube channel "Edge Of Tech" does a decent job covering the rework in video form. Following most of these reworks I have made everything else in the print absolutely perfect, unfortunately EF remains.

  • $\begingroup$ I have edited your answer down to just the solution/workaround. The additional questions in the last two paragraphs could merit a new question. Please ask a new question, using the last two paragraphs as the contents, and refer back to this question, using the URL, as they are related. Hopefully someone will be able to provide you with a solution. $\endgroup$
    – Greenonline
    Aug 11 '21 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.