Been chasing this for a couple evenings now and I'm out of ideas. Every calibration cube I print ends up about half the height it should be, with the layers all mashed togather and the walls looking rough. The funny thing is the footprint on the bed is pretty much perfect, so X and Y seem fine. It's only the Z direction that's collapsing. I'm running a V0.2 with a TR8 lead screw and I checked that the Z axis moves the right distance when I jog it, at least by eye with a ruler against the frame. Marked the position, told it to go up 50mm, and it looked close enough. But when I print, everythign above the first few layers gets compressed and it just turns into a blob. Could this be a steps_per_mm thing in the config, or is it more likely the motor is skipping steps under load? I did notice the Z stepper gets pretty warm after a longer print. Also wondering if my layer height setting in the slicer is fighting with somethig in the printer config. Where would you start looking first? I'd rather not go changing a bunch of values blindly and make it worse.
Why does my calibration cube come out squished flat?
Oct 20, 2026
Last reply: 1 hour ago
3 Replies
First reply
The Z-axis compression you're describing usally points to a physical issue before it's a config file problem, even if the footprint looks spot on. Since the layers are mashed together and everything is collapsing, the print head or the Z stage is likely encountering some kind…
Read the full replyThe Z-axis compression you're describing usally points to a physical issue before it's a config file problem, even if the footprint looks spot on. Since the layers are mashed together and everything is collapsing, the print head or the Z stage is likely encountering some kind of drag or excessive friction as it moves up. Even if the steps_per_mm value is perfect, if the motor can't move the physical axis because something is binding, the movement will be erratic or stalled under load, resulting in squashed layers. Start by really isolating the mechanical movement. Manually move the Z axis thru its full travel range. It should feel smooth and consistent. Check the lead screw itself for any signs of dirt, buildup, or damage to the threads. Are the nut bearings free-rolling? Sometimes a tiny piece of debris can create massive resistance when the motor is trying to move against it. Also, check your Z linear rails or guides to make sure they aren't tight or catching the print head carriage. If the mechanics feel absolutely perfect and smooth, then we look at the electrical side. You mentioned the stepper gets warm. That suggests the motor is working harder than intended. Instead of just assuming it's a steps_per_mm error, try slightly increasing the stepper drive current. You want it to have enough torque to overcome the friction, but not so much that it burns out. Do this in small increments, maybe 5 to 10 mA at a time, and test a short print to see if the compression stops.
Finally, if the hardware and current are fine, then check the firmware and slicer layers. While it's less likely to cause severe collapse, make sure the Z height offset in your slicer isn't inadvertently forcing the nozzle too close to the build plate or the Z stage limit. But honestly, I'd spend 90% of my time diagnosing friction points first.
Agree with checking the mechanical side first, same thing bit me on my V0. One of the grubscrews in the coupler between the motor and the lead screw had worked loose, so the screw would slip partway through a print and every layer above that came out squashed. Jogging up and down by hand masked it because it still moved, just not always by the full amount. Tightened it up and the problem vanished. Worth pulling the shroud off and eyeballing that connection before you touch any currents or config values.
I'd bet money it's not the lead screw if you've already checked the physical binding stuff. If you're running Klipper, you've got to check your firmware limits, even if they seem fine. Sometimes the Z homing switch limit is set too close to the physical end stop, and when the motor tries to move, the controller is fighting against a virtual barrier. I once had a print head that was fine mechanically, but it'd just stall out and compress layers because the firmware thought it hit its max Z travel early. Did you verify the max Z travel distance in the configuration file, or just trust the jog distance?
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required