Z-Axis droops

Hi all,

I’ve been slowly using my MPCNC while I learn how to use it. :slight_smile: One common problem I’ve had is the machine cutting too deep (maybe -5mm instead of -1mm indicated on the controller screen). I think I’ve discovered the underlying problem: if the Z-axis motor isn’t engaged, the T8 rod more or less freely drops until the bit hits the material. When I turn on the spindle (DW660), I’m guessing the vibration allows the bit to sink into the material and it falls further down into the material and affects the zero position.

If I engage the Z-axis motor (by using the menu to move the axis up/down 1mm for example) it certainly holds in place, but usually I set up a cut by squaring the axes, using the menus to move X/Y/Z to my desired origin point, and cycling the power. (Sidenote: is there a better way to do this? Is there a ‘reset origin’ in the menu that I’m missing?) When I cycle the power, I usually get at least a 1mm droop into the wood, or perhaps more if it’s a thin v-bit, etc.

Any way to combat this?



Just a quick reply, we can dive deeper if you need.

I power up my “spindle” square and set my XY axis, then set the Z height. It is easiest for me to set the z height while it is moving so I can see if I am hitting the surface or not. In all my gcode the first move is up to the clearance plane and diagonal out to the first cut, this engages all three axis at once time locking them in place.

I move my axis by hand on the MPCNC so my coordinates stay at 0,0,0. On the lowrider I use the lcd to drive it and insert a reset all axis to zero in my gcode first line. You can see the gcode on the lowrider page towards the bottom.


1 Like

I think it’s called “Set home offsets” or something similar, in the prepare menu, IIRC.

There is a G92 X0 Y0 Z0 also:

1 Like

For some reason the “set home offsets” doesn’t always work anymore. I think they tied them to endstops now, so in the newer firmware if it has the blinking question marks it doesn’t always set them to zero.

If you move your axis by hand, don’t you introduce at least the possibility of getting out of square? It would certainly be a lot easier to do it that way but whenever I move the axes manually they never seem to quite stay straight. My MPCNC is 30"x30" so maybe it’s more apt to get out of square than a smaller footprint.


Is it normal that the Z-axis moves downward on its own when not engaged? When I bought the kit I had the all thread screw and it never seemed to happen, but after upgrading to the T8 it’s buttery smooth and doesn’t seem to offer enough resistance to hold its place. (I suppose that’s a good thing for the long-term health of the stepper motor.)


My gcode setup sounds exactly similar to yours, Ryan. Up to clearance height and then over. What I have been trying to do recently is either power up the spindle and hold the flex coupler while I start the program (which engages the z motor), or lightly rest the bit on the material with the spindle off (is ‘spindle’ the wrong word here?) and turn the spindle on as the program starts. Either way requires a bit of dexterity.

Jeff, the G92 command is intriguing. I wouldn’t mind adding that to the Estlcam settings so it’s added to the beginning of all my gcode. I am trying to think of a reason the bit shouldn’t be at 0,0,0 at the beginning of a gcode file.

I see there’s a new firmware as of yesterday. I’ll have to install that as it sounds like it would help the Z-axis from drooping at the end of a cut, anyway.




The g92 is what we do with the lowrider.

I move it by hand to where I want it then square it.

You might want to just tighten up the z axis bearings. None of my three drop on there own.

1 Like

I’m having the same issue with mine…im not having a problem before the cut. I have been moving mine manually, setting the z with the spindle off. Send g92 code, then jog the z up with the control. Then turn the spindle on and then run the program. That part works great. Problem for me arises after a cut. When it finishes running the g code it goes back to zero and the z is no longer locked and the spindle instantly starts dropping. If im right there, I can just hit up on the control right after it finishes and that locks the z. If I’m not there or I forget it, it starts plunging into whatever is under it. I have already tightened the z bearings as much as I want to. It seems to be just the fact that the lead screw is so buttery smooth. Can anyone tell me if and how I could adjust a setting or the g code itself to jog the z up right after a program is run? If I could do this I wouldn’t have an issue. I’m using estlcam in conjunction with repeatier host to run the code.




Andy that is a different issue, that is a firmware thing that has been fixed. Adding new LCD features caused the steppers to unlock. If you flash the new firmware they will stay locked for 10 minutes after a cut.

Ok great.



Just to follow up, I implemented a couple suggestions from above and it is working great so far.

I added the G92 X0 Y0 Z0 line to the ‘Program Start’ section in ESTLCAM so that it sets the origin to the current position of the bit resting on the work piece. I also created a simple gcode file consisting of:

G92 X0 Y0 Z0
M84 S999

which has the effect of reseting the origin and holding the steppers active for 999 seconds. I can use this whenever I reuse old scripts or just want to have a new origin for whatever reason.


thanks again,

Is there a way to just lock the steppers initially ?

m17 enables all the steppers…I just added this to my start and tool change code in estlcam. I didnt even notice an issue until i was cutting straight lines for testing speeds. I set zero at the end of the line, when the code started it moved x to the other end of the line but because i wasnt moving any in the y direction it walked all over the place. I was under the assumption that g92 x0 y0 z0 would enable all of the steppers, but i guess not.