Shapeoko upgrade (5) – Z-axis

Originally, I was going to start using my Shapeoko again for other projects after having completed the last batch of upgrades. But for some reason I got it in my head to order some more parts and keep going until I end up with the best this machine can possibly be.

Here’s the list of things in the mail:

  • Gecko G540 controller with EZ-G540 connectors
  • Ethernet Smoothstepper
  • all new cabling and molex connectors
  • 48V – 8.33A power supply
  • 9mm GT-3 belting and matching pulleys
  • 4x 276 oz-in NEMA 23 motor

Well that escalated quickly…

And one thing I got last week is this new linear rail Z-axis:


Someone said I should buy a fast-travel one, so I did. Mine came with an aluminium top plate with 4 mounting holes for a NEMA 23 and even has the matching spacers and screws included. Plus a brass coupling piece for the motorshaft-to-leadscrew connection. So basically if you choose to mount on top (I didn’t though ;-)), it is a pretty complete set.

Obviously it wasn’t going to fit right off the bat, so here’s the list of modifications I did in order to mount it to my carriage.

Because the backplate is much wider than a 40mm Makerslide rail, the 2 top bolts are in the way. I used this to my advantage, as I got rid of the nuts and made the bolts screw right into the backplate. For this I first decided where I wanted the assembly to go height-wise, and marked the location of the bolt screws. Then I drilled 2 holes on my drill press and tapped a nice M5 thread into them.

03 02

I then mounted it temporarily and marked the location of the slot in the bottom of the carriage plate. Then I repeated the previous steps for the two bottom mounting holes.

04 05

Now I can easily bolt the assembly to the carriage without the hassle of locking nuts. Note also that those original long top bolts are the PERFECT length and sit flush to the backplate!

06 07

I originally wanted to use the Improbable Construct top plate I had from my previous setup, but in the end that turned out to be impractical.

That said, I still wanted to use a belt drive for various reasons. Firstly because I simply find it prettier. Secondly because of weight distribution, although it probably only has a marginal effect. Thirdly I will remake the top plate in aluminium later on, so it will double as a heatsink, which I wouldn’t have when the motor is mounted on top with spacers. And lastly because I am currently still working with NEMA 17s so I needed to make a custom plate anyway with the correct hole spacing.

The acme rod doesn’t have a reduced diameter towards the top (as the one from Improbable Construct has), so I needed a 3/8″ pulley. I had a large pulley lying around (probably also a leftover from the Improbable Construct kit) and enlarged the center hole to 3/8″ on my drill press. Actually I only had a 9.5mm drill but I wiggled it around slightly until the hole was a perfect 3/8″.

All my other spare pulleys were too small in diameter to accept a hole this size, so that is the reason I had to use this large one. I based my custom top plate design on a combination of the original top plate and the Improbable Construct one, keeping in mind the diameter of my pulleys and belt. It accounts for both NEMA 17 and NEMA 23 motors with 11 mm belt tensioning play.

I cut it out of plexi on my laser cutter because, well, I can’t really use my Shapeoko now, can I…

08 09

All holes were exactly where they needed to be, so no surprises there.

10 11

Next problem: my Makita fixtures didn’t line up with the holes in the bearing block. I re-tapped most of those holes btw, because they were some funky imperial size and I needed it to be metric.


I widened the holes in my fixtures by sliding them in line with my router table. Some clamped wood beams made sure I kept center and didn’t ruin the fixtures, because there wasn’t very much wiggle room as you can see. It worked perfectly though, and that marks the end of my Z-axis conversion.

13 14


2 thoughts on “Shapeoko upgrade (5) – Z-axis”

Leave a Reply

Your email address will not be published. Required fields are marked *