The Vortex-oko (or Shapeortex?)

Hey everyone! Shapeoko guy here. I posted this on the other forum, and I thought I’d post it here as it may be of interest to someone:
I’ve been sitting on this post for a while, but I’m pretty excited about it. I know there have been others that have done a rotary axis, and I have always wanted to try it. I finally realized that, with three kids (not counting the SO3), I have no free time. My hopes of DIYing a 4th axis aren’t going to happen. I went with an “off-the-shelf” version, and I couldn’t be happier with the outcome.
I wanted to share my experience with connecting a Vortex Rotary Axis from Sienci Labs to my trusty Shapeoko Pro. I really didn’t know what it would take to get it going, but I figured it was made for a grbl based machine/controller so it should work, right?
First, a look at the first attempt at a rotary carve:

After getting the Vortex, I was impressed by the simplicity of it all. It’s really just the chuck, tailstock, and a custom extrusion to mount it to. The part that really impressed me were the integrated, 3D printed parts that make homing and probing seamless…more on that later. I was also impressed with the online assembly and getting started documents from Sienci .
It’s really solid and fairly easy to remove and put back in place when going from Rotary to Y.
I fully expected some challenges with the main three being: wiring, aligning it to my X axis, and keeping the Y in place.

The vortex comes with a switch that allows switching from Y to A for rotary jobs, but it simply disconnects the Y motors and connects the rotary (A) motor to the controller. This should only be switched when power is off, by the way. I knew that would not be enough on the Shapeoko Pro (or 3 or 4 or probably HDM and 5) because of the belts. This just leaves the Y free to move. I thought about shorting the Y coils when the switch is flipped to A, but that holding resistance is too weak to do much. I next toyed with using multiple relays to connect the Y motors to a separate controller that would simply put the Y steppers into a hold state. I finally settled on just clamping the thing in place, guessing that I was overthinking the whole thing (I tend to do that sometimes)…more on this later.

My next mission was to handle the wiring…ugh…the variety of connectors. Luckily, I teach electronics, so I had some connectors and tools on hand. After an Amazon and a DigiKey order I was able to make the necessary adapters.

After I got these adapters made, I thought I’d just mount the thing, clamp the Y and go. But, how do I mount the thing? Well, gSender has a built-in gcode generator for mounting the Vortex (They use ¼-20 threaded inserts). There’s a problem though, because I don’t have a Longmill…I have a beast of a machine called the Shapeoko Pro. Not to worry, I used their open source files to generate gcode for the mounting holes that would fit on the MDF slats on the Pro. I generated some counterbores and tapered bores to match the taper of the threaded inserts. I also set my Y-Zero in Fusion to be on the centerline between the two left holes. That way, I could decide where the Vortex fit the best, zero Y there, and hit the slats exactly as planned. gSender also generates gcode for hole pairs, but I’m comfortable with my Fusion workflow so I went with that.

Great…easy. Now I just have to clamp it and go! I tried every which way to clamp the Y-axis on the SOPro, and I could not find a consistent method that prevented the Y from moving. After way too long, I finally came up with little 3D printed linear rail clamps. They clamp on the Y-rails in front and back of each Y-plate. I made a split clamp design, so I don’t have to slide them on from the front and rear of the machine. That’d be obnoxious on an XXL. Here’s what those look like:

Once that problem was solved, I was ready to go.

The procedure is pretty easy:

  1. Home the Shapeoko normally.
  2. Use gSender to set “Y-alignment”…this basically ensures that your X-axis is centered on the Vortex. I chucked up (doesn’t sound right) an aluminum tube to do this because the Vortex chuck is too tall to run the probe routine on the chuck. I’ll probably write a macro to do this without the tube eventually.
  3. Once aligned, I installed and tightened the clamps (while the Y is still powered).
  4. Power down, flip switch, power up.
  5. Set rotary mode in gSender (this adjusts the steps/mm for rotation)
  6. Home machine again…it’s fun to see the Rotary axis home!
  7. Set X-zero, as normal, by eye.
  8. Set Z-zero using the built-in probe routine, probing the chuck. This sets Z-zero in the center of the stock which makes sense for rotary jobs.
  9. Run the job!

I downloaded a gnome stl by Body3D on Printables . I used V-carve Pro (v 9.5) and a custom post processor to generate the gCode. I used a flat ⅛” tool for the roughing, and a tapered ball (0.5mm tip) for the finish. I rarely do 3D reliefs, so I was impressed with the results.

Sorry for the long post! This was a fun project to get working, and it’s so cool when things just work! Not sure of my next rotary project, though a custom tap handle sounds like an obvious one.
Let me know if you have any questions. As always, I can share any STLs, files or post processors if you’re interested.

TLDR: Made my Shapeoko spin.


@NeilFerreri Damn, I like that! Thanks much for the detailed description of how you set up the Vortex on your Shapeoko, Neil. It makes me realize how spoiled I am using the Vortex on a LM.


Trust me, the detail was to help those that do the same. The Vortex, with gSender, is a much simpler drop in solution than rolling your own. Even with all the wiring adapters, the trickiest part for me was the clamping. It seems so simple now, but I tried about 19 different non-solutions.
Next… Rotary dust collection.

1 Like

@NeilFerreri I’ll be watching closely for your dust collection solution. My attempts so far have been dismal failures. Standing around with the shop vac hose is effective, but not a long term solution. :grinning:


@NeilFerreri Neil: I’ve moved this to the rotary axis category so that it stands out from the general discussions.


@NeilFerreri Glad to see someone else who has modified a ShapeOKO like this - I did the ‘hand rolled’ version about 18m ago, long before the Vortex was released, but anyway ended up with something very similar (if a little less beautifully made). I wanted all axes ‘live’, XYYZ and A, so ended up changing out the ShapeOKO controller board for a grblHAL/Phil Barrett/Beefier stepper drivers, and by doing this both Y motors hold the gantry still and no locking manually is needed - never seen a Y movement, but I have read that the purist would lock them and not rely on the dual steppers holding them.
For rotary work I use your Vectric modded Post Processor, and I modded a Fusion PP too so I have 4 axis available there too (not a true independent 4-axis, as my Fusion licence doesn’t support this).
My rotary axis is set to the back of my 3XL, and I have mounted it direct to the bed rather than up on the MDF slats (I replaced my bed with an Aluminium tool plate to get better rigidity), and I rarely work on non-rotary parts larger than will fit on the front 2/3 of the machine.

1 Like

Hey @AndyCXL,
I’m curious about that Fusion post processor. Are you just designing as XYZ unwrapped cylinder or can you do a true rotary model?

It is a mostly true rotary, but Fusion licensing impacts what can be done in practice. I have used the ‘wrap toolpath’ in various Fusion toolpaths and I get XYZ and A control, but it isn’t really flexible use of the axes. I can send what I have if your insight, and probably higher coding ability, could make better sense of it?
It is reliable and usable, Fusion issues aside. I admit that out of familiarity on simple jobs I still tend to output STLs to VCarve and use your PP from there. I don’t have to lock the Y axes as on my setup they are always live. The only issue is that my stepper drivers back off hold current to 50% ish after some milli-seconds and I haven’t found a way to stop it.

you’re using GrblHAL? I think it’s just your $1 setting. Set it to 255

It is GrblHal on Teensy 4.1 and a Phil Barrett BOB, with DM3230 driver modules.
My recollection is that $1 is set to 255, but I can easily check when back at home this evening. My homework on the DM3230 is that it is their own behaviour that causes the holding current step-back, working on the described basis that holding torque with no movement is the strongest hold a stepper motor gives, and so backing it off to 50% is no real compromise in return for the energy/heat saving.
It’s never presented an issue, other than in my thinking about it. I would prefer the option to be in control, but what I have learned to date suggests that won’t be possible.

Aah. Didn’t think about the stepper causing that.

If love to see how you use Fusion…I don’t have the machining addon either.

I’ll PM some files to you when I get a moment, so you can see the sorts of things I’ve done, plus the PP I’ve hacked together

1 Like