Maslow Home Maslow Community Garden Newsletter

Z-Axis Zero changes when Circular Sled is Started

I’ve gone through my calibration routines, got the Z-Depth moving properly, and I’ve zeroed out the Z-Depth on the top of my cutting piece. (Using GroundControl 1.13) When I go to run the final circle sled GCode the first thing it does is reset the Z-Depth to about 1/2" up from where I said zero was. The script then plays back the cutting routine, but all of my cuts are made in the air.

  • I’ve previously calibrated the machine.
  • Click on the Z-Depth Settings and Lower the bit till its just above the surface of the cutting piece.
  • Define Zero Position, and click Done
  • Press Play on the Maslow Sled GCode
  • Z-Depth rises, and sled moves to position. Z-Depth lowers, not to original Zero-Z but somewhere up in the air above the cutting piece. Proceeds to cut as if it was operating normally.
  • The entire time, the Z position on the right hand side readout seems to read 0 despite adjusting for the new Z position.

Hmmm I will start diging into this and see what I can figure out.

Would you be willing to share the .nc file so that I can replicate the issue?

Thanks @bar. This is the .nc file from “New Sled With Tool Paths.svg” that I downloaded from the Wiki. (145.2 KB)

Are you using the stock Z-Axis kit?

When you hit play, the Z-Axis should raise to a “safe” height based upon the gcode and move to the starting point of the cut. It should then lower to the correct depth to begin cutting. The “0” being reported seems odd as it should drop to -0.1 per the gcode.

Is Z-Axis “enabled” in settings?

@madgrizzle Yes, stock Z-Axis and the Z-Axis is enabled in the settings. The Z-Depth raises to a safe height, but never returns to the defined zero point. Something with the EEPROM maybe?

Try this… go to the Z-axis control and lower the bit to be at “zero” and hit “define zero”. Then, raise the bit by 0.5 inches and then lower it by 0.5 inches. If it doesn’t return back to “zero”, that could help lead us to figuring out the issue.

Also, do you have a bungie cord or something over the top of the router?



  • Z-Axis Installed: On
  • Z-Axis Pitch: 3.17
  • Z-Axis Safe Travel Height in mm: 5
  • One bungee cord over the top.

I’m not in front of the Maslow now, but I can test after 6pm EST.

When I was testing the Z movement on the router due to a previous problem I had with the Ridgid base, I was moving the Z-Depth up and down by 1" and it returned to the zero point every time.

I’m also creating a basic 3" circle toolpath to test something small.


Well, seems like you have everything correct. Life has gotten in the way of me doing much with my maslow lately and am not in a position to do any testing, but perhaps something with 1.13 is causing issues. @bar said he would look into it.


The .nc file sure looks proper. Have you checked mechanical things like the set screws?

If yours is a Ridgid router, check the orange ‘goodie’ - I had a spate of mysteriouis z-axis trouble after running mine into the stops a while back, which damaged that part, see the discussion here. It is a cheap ($1) part, but often slow to ship. I bought several to be prepared for the next time.

1 Like

@blurfl This is the issue I was working through on the weekend. Z Depth + Ridgid Problems [RESOLVED] Since resolving this I’m pretty sure the Z movement is correct.

After the binding issues described, it wouild not surprise me at all to find that the thread-follower part of the ‘orange goodie’ has been worn down or deformed to the point that it doesn’t engage fully. If the traveller ran into the stops at the top of the travel, or the router body jammed while the screw was trying to drive it down, the plastic part would be chewed by the screw rod and lose grip for future movements.
I was able to do some hand carving on my damaged one to partially restore the shape and ‘get by’ while I waited for the replacements to arrive.:grinning_face_with_smiling_eyes:


Agreeing with @blurfl that the .nc looks fine.

If all mechanical thing are ruled out, like no movement on the z connector with the help of zip ties, it’s perhaps worth a try to wipe the eeprom. Also unzip to a empty folder, if you had previous versions of the firmware. Overwriting did not work clean for me in the past.

Ok, so I reset the settings to default in GroundControl (this crashed the app but on restart it appeared successful). Cleared the EEPROM, no notification that this was successful. Then I proceeded to go through the calibration process again. Everything worked fine till I got to the test calibration cut.

For the Z-Depth I went through the typical process, lower the bit to just above the surface of the wood and Define Zero. Pressed done on the modal and selected Define Zero button to move on to the test calibration.

When I start the test calibration, the first thing the Z-Depth does is move up to a safe height. The sled moves over to the top corner cut, and the Z-Depth lowers, but not to the Zero point I previously defined. The rest of the cuts appear in the air.

So from my perspective, the problem occurs outside of the sled cut, and in the calibration process as well. I’d also assume that if the Zero point is defined in the EEPROM, the EEPROM didn’t get wiped by selecting the option in Advanced Settings. Is this something I can do manually with a simple Arduino sketch?


I’m pretty familiar with the z-axis control portions of the software, and willing to write a sketch. What would the sketch need to do?
Could I suggest marking the z-axis coupling and the threaded shaft with slivers of tape, then using the z-axis window to run up and then down 1.25" (10 full turns each way) to check that the software and encoders are moving the motor the proper number of turns? If you do this, make sure the traveler is placed so as not to hit the stops … The ten turns should be very nearly exact - within a few degrees after ten turns in my experience. This would prove three segments of the mechanism simultaneously - software, motor coupler and shaft coupler. Finally, I f this doesn’t reveal a fault, then measure the distance the traveler moves during each ten turn transit. If that is asymmetrical, you’ve narrowed the issue to the parts in the traveler or the threaded shaft.

1 Like

Once you press “Define Zero” to move on to the test calibration page, the z-axis raises to 0.25 inches, correct? This happens before you press the button to start the test cut… correct?

And just to make sure. After you press “define zero” in the modal, you immediately then press “done” and don’t manually raise the bit to a safe height or anything, correct?

@madgrizzle Back at it today. In the Z-Axis Configuration after I define Zero and select Done, the Z-Axis does not move. When I load a script and press Play, the Z-Axis raises, moves, and starts to cut at the raised position. It then starts to lower from the raised position, but this is still above the wood and no cuts are made. Pressing Home after this point selects this new raised Z point as the new Zero. I’ve gone into settings to change the Z-Axis Safe Travel Height in MM to 0, just to make sure that isn’t the issue and I still experience the same problem.

@blurfl If I raise and lower the Z-Axis 10 times using a distance of 1.25" the distance of the collet to the wood is fairly consistent (just eyeballing the distance). I’m assuming zeroing out the EEPROM is done by traversing all of the address blocks and nulling all the data, correct?

in the z-axis controls, when you press “lower” does it move the router bit closer to the wood?

if not, try changing this value to -3.17

Lower does bring the bit closer to the wood. Changing the Pitch to -3.17 inverts the movement, When I start a cut it brings the bit closer to the wood, but the cut itself raises the bit away from the wood.

Just thinking out loud here, what if I define Zero as being lower than the depth of the first cut? When the script starts, it will raise the bit, and then lower it to the correct point? It’s a hackish way of doing it, but I would at least be able to cut something.

Can you make a quick video of what’s happening, and share the g-code that’s
being used (it can be a very simple cut, a simple rectangle or line)

David Lang