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.

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$ – R.. GitHub STOP HELPING ICE Sep 12 '20 at 13:53

Your Answer

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

Browse other questions tagged or ask your own question.