The Meticulous Z-Axis

Thank you for the info. I have been fighting the issue of USB connection loss for a week, so I have not been able to get the rest of z-axis parts cut. I did however get the router mount cut with pre-drilled holes for the linear bearing mounts so they are as perfectly aligned as possible. The M4 x 25mm screws that mount them are slightly larger then the 1/8in. bit I used to pre-drill the holes so I needed to chase them with the appropriate sized drill bit. I was happy that everything lined up on the first try. I am going to try and do the same with the spine so all the rail and lead screw mounts are aligned.

You can see on the left my machine got off track half way through the profile cut.

1 Like


I made mistakes along the way, but managed to work around them.

I’m glad I abandoned the idea of using that first z-axis rail I bought on ebay (The Meticulous Z-Axis). It would have required far too much work (for this non-engineer) to adapt it. It did have a documented pitch for the lead screw, though.

I had to experiment with the pitch value, since there was no documentation with the kit I ordered from Amazon. I just used the depth tool at the end of my calipers, and adjusted the pitch value up and down until I got the distance I was expecting when moving the z-axis.

I used the bolts and hose clamps method for the spindle clamps, a variation on the @CurtisMack method here: The Meticulous Z-Axis

I tried to run the calibration test pattern, but the bigger sled ran into the kicker on the bottom cuts. I got a good 1 cm cut before it did, though, so I can still take the measurements.

I’ll have more to say after I do a thorough test. But, so far, everything’s looking good.


Based on many of the ideas/designs people have posted, I finally assembled my own version! I’ll add details later and let you know how it works out.


I made a video about my making this:
It’s more of an overview than a detailed how-to.


@theHipNerd: That is a great video! I think you did a good job showing the build process. The half-tone projects you do are a great way of testing the Z-axis.

I’ve taken some notes from your video on the build. To me, there are a couple of areas that need improvement:

  1. The holes for the linear rails and lead screw should be added to the CNC program and DXF. It seems like a lot of your build time was spent laying out and trying to accurately locate the mounting holes for these components. This will save anyone trying to build this a lot of time and make it much easier to locate all the parts so they are parallel to each other and the intended direction of travel.

  2. I need a better solution for mounting the rails and lead screw to the spine. In your video, you had to notch the gussets to make room for the bolts. I think I would like to use threaded inserts here rather than thru bolt connections. This would alleviate the need to notch out the gusset and would be an accurate way to mount the rails to the spine. I used wood screws myself, but I’m not crazy about that in hindsight.

  3. The profile of the dust hood should be transferred to the plexi window. I had thought I had done this already, but clearly that got overlooked.

  4. Possible backlash issues? I’m still not sure this is a big issue with this setup, but when I was watching you do the half-tone butterfly as a test, I was worried that size creep was cumulative errors from so many Z moves. You noted later that it was probably due to the plywood being warped, which certainly makes sense to me. Please keep an eye on this issue for me. I will try and do some testing myself, but your half-tone really does a good job of that. If backlash turns out to be an issue, a low-cost solution would be to buy one of these nuts for the leadscrew:

Otherwise, we’d have to look at ball screws.

1 Like

Your #1 suggestion is great, and would have cut my build time in half. Also, you may want to revisit the suggested rails in the BOM, it would be nice to have something with a known lead screw pitch, just for peace of mind.

I think #2 is a very good suggestion as well, and would probably make for a stronger and more accurate build. My first inclination was to use bolts for some reason, and actually didn’t consider wood screws.

#3 would be helpful, but it was really easy to cut with my rotary tool. Regarding the window though - the bolts specified in the BOM have a coutersunk head which was a little difficult to cut in the plexi, I would change it to a pan head bolt, since there’s really no need for the top of the bolt to be level with the window, except for maybe aesthetics.

#4 I’ll keep an eye on things, but I really don’t think backlash is an issue with this design. If you think it would be useful, I’ll submit my test patterns to the to the project.


Agreed. I recently cut the plywood for mine, so it is a little late for me. However, I was considering cutting a template out of 1/4" plywood, with square cutouts where the blocks should go. I don’t know whether or not this would be useful.

@theHipNerd, I have one question related to the incident at ~12:30 minutes into the move, where you had to get a special, rigid, coupler. I was going to mount the pulley directly to the motor, no coupler needed. Is there a reason that wouldn’t work?

@MeticulousMaynard, one piece of feedback. I haven’t checked this in detail. It seemed like some of the inside corners were dog-boned, and others weren’t. I am not sure if this is due to my machine missing the dog-bones, or or something else.

I have one thought related to the z-axis drift problem. I have been working on machine calibration for a while. Mostly, I have been working to create a Holey Calibration process, which is a derivative of @madgrizzle’s original Holey Calibration. In that effort, I have come to believe that my right motor is missing pulses, and that is causing inaccuracy in the x,y positioning. I had an experience very similar to @Jametek’s here. Also, here is one suggested resolution, by @WoodCutter4. When I had the problem, I wiggled the connections between the Arduino and the motor. While I haven’t that problem since, I am still unsure about whether or not I am seeing drift as a result of missed pulses.

Related to the missed pulses topic, I looked at the Firmware, to see where the software is counting the pulses. I believe it is here, the logic is described on lines 157 through 204. A skipped pulse can happen if two pins simultaneously change state, in which case the Firmware doesn’t know which direction the encoder turned. Skipped pulses are handled by making an assumption. It will assume a two-pulse move, either in the positive or negative direction, depending on the specific scenario.

I am pretty sure we could create some diagnostics around these skipped pulses (two pins simultaneously change state). It looks like the only two individuals who have touched it are @bar and @krkeegan. I don’t have time to do that work right now, but I am hoping someone else sees the need and does have the time.


The hole in the pulley specified in the BOM is 8mm, the shaft of the z-axis motor that came in my Maslow kit is 6mm. Here’s the Amazon link for the coupler I used:


Holy crap. As an automation engineer that makes me cringe. I suppose the likelihood of it assuming wrong is low as long as it is assuming the move is in the same direction as the last pulse. I would love to see this resolved but as a first step diagnostics for sure. I am just getting started with python and I don’t have a lot of free time but I would love to be able to contribute to this effort.


Actually, I am pretty sure it is going to be wrong 50% of the time. Depending on the specific scenario, [low,low] => [high,high] vs. [low,high] => [high,low], it assumes the same every time. It does not take into account the direction from the previous step.

1 Like

About that pulse skipping thing,

When looking in the firmware, one can see all cases are handled, so there are indeed four “assumption” cases if both pipn 1 and 2 change at the same time. BUT it is to be seen if this really occurs in normal operation.

And if that occurs, it is likely to be randomly spread on both directions. And one count is a very small rotation.

Thus I would not look too long into encoder count errors to explain position problems.

What is more likely to happpen is electrical signal integrity loss where the position signal of the encoder is interfered by the motor power or something similar. While all wires are bundled into the same motor cable harness, it is kind of difficult to physically separate these.

1 Like

It wouldn’t be too hard to use a twisted, shielded pair cable for the those signals. Belden 8760, or equivalent.

I don’t want to hijack this thread. Is there another thread we can move to? Or just start another? I’d like to dig into this, duplicate it, find out how often it might happe and how we might go about improving things, if it is in need of improving.


Another dust chute printed! Thanks for the work on the files to make it possible! Amazon basics PLA .25mm layer height. Total of 15 hrs for both parts.


My short time cutting cool stuff with the Maz has shown me the Z is definitiely the achilles heal as far as speed. Soo diving into this mod. First question - how does this setup address bit alignment?
Is there a nc file for builidng a wood dust collection port mentioned above? (I dont own a printer)

Thanks for the continued awesomeness!

If I’m understanding your question right, the location of “spine” of the z-axis is critical to correct bit alignment. The mounting holes for the triangular linkage systems are pre-drilled into the sled base, so all you have to do is bolt your system to it. The linkage systems I have in the DXF file is the top mount that dlang has been developing, pillageTHENburn’s 45 degree linkage system (which is what I use), and bar’s ring system (which is the default one that ships with the new kits).

I haven’t quite gotten there yet, I modeled it but have only got to nesting the parts in Fusion so far. I tried to finish it tonight but my Dogbone script isn’t working right for some reason. I’ll probably just do it manually when I have a second.

The other complication with the chute is that I designed tabs into it, but haven’t made an nc file that has slots for it to mate to in the sled base. I will have to add that to the to-do list.

This is my current Fusion file for the dust chute nest: Fusion



1 Like

@ShadyG . Nice work. I’m pretty sure Amazon Basic is Polymaker Lite rebranded. Good stuff.

Thank you

1 Like

I read a lot of reviews, some love it and some hate it. I printed the moodle on a fine setting as a test and it was nearly perfect. Parts like this are functional to me and I don’t care if the finish is perfect so I’m running on near draft settings. I’m trying to make my first structural part today, 4mm wall thickness, 85% infill, and .1 line thickness. I’m hoping it will be the lead screw nut bracket for my meticulous z axis.

Thanks for the kind words.

1 Like

Here is my version of the z axis nut bracket.

1 Like