Servo driven tool changing bt30 upgrade....because I’m an addict

Working on a servo driven Bt30 tool changing spindle and a harmonic drive 4th axis.

Both will be way over kill but hopefully ones I can use for a really long time.

Going to use this as my build thread


still a ways off and probably alot more changes to come. but some brainstorming happening. meanwhile, spindle cartridge should be here next week


What made you go this route vs a standard ATC spindle like the Fm30c?

I hope you video the process along the way I 'd love to watch your progress.

i want to be able to go slow slow to mill steel. this set up lets me go down to 30rpm if i want.
Also being servo driven i can rigid tap(and it will tel me if I’m over current or throw a tool) and the torque on this will be pretty awesome. also surprisingly the price is really similar to some of the higher end ATC. I think ultimately I’ll have better chip clearing, spin larger tools and take a larger cut with the slower torquer spindle. Plus I can use it as a lathe

idk if the hdm(i think it is, even if its slow idc) is capable of milling steel but if not ill eventually build a router style machine for steel. I have a Onefinity that i did the same thing with and runs all day so if not these parts, something else

my plan is to switch to centroid, beefy 4th axis and atc.
will let me fill a horizontal tombstone up with parts, probe in cycle and machine all day everyday.

basically building a machine specific to a few small products for the fraction of what a larger vmc would cost and saving time over building from scratch. With a working machine it can machine most of its own parts and save me a bunch of time.


Do you have any plans to reinforce the rest of the frame, or have you done any testing to determine that it’s unnecessary? The HDM is a very rigid beast compared to the others but 2.2kW at 24k RPM (the specs for its spindle) is still only 0.88Nm, which isn’t a whole lot of torque. I wonder if filling the extrusions with epoxy granite might help.

Also will the existing steppers have enough power to throw around your new axis? Have you thought of adding a counterweight to the Z-axis, perhaps? And upgrading the steppers?


Gas struts are another option to support the mass on the Z without adding more moving mass to the X gantry.


The new z axis shown is a nema 34 style and the whole thing is going to be running clear path servos.

The new spindle is be more powerful then a tormach 1100… so I’m not going to try and beef the machine up crazyyyyy. I’m going to find the limits and probably operate inside them. I may do a granite filled gantry(something I’ve been thinking about) and some other smaller upgrades.
But I don’t want to get too ahead of myself here and spend on too many upgrades that I can’t transfer to another machine easily.

With the nema 34 servo. No counterweight will be needed. But I will probably have a shutdown proceedure or a servo with a brake.

1 Like

Based off some really unscientific tests, I think the HDM has the stiffeness to manage at least 6 cubic inches of MRR which is awesome and we will see. Unofficial my goal after all that other stuff.

FWIW, just trying to give you my point of view since I’m close to done building a servo-based machine. Don’t take this as me trying to act like I know better/everything, just like discussing this stuff. I’m more interested in the machine itself than I am in making things with it.

Just in case you didn’t know, servos really reach peak performance in the thousands of RPM. If you’re going to stick them on a Shapeoko, you’ll probably want a gear/belt reduction, rather than direct drive like steppers.

When I was building my machine, I didn’t really understand that so well at first. I kinda thought “they use servos on the big machines so they must be good and have lots of torque, right?” and they are good (dat 24-bit encoder), but in terms of speed/torque, they’re basically the opposite of steppers. Steppers have fantastic low-speed and holding torque but at high speeds they’re useless. Servos have poor holding torque and lower torque in general than a stepper but they keep that torque all the way through their operating range, so they’re fantastic for high speeds (e.g. 3000-6000 RPM).

I also found it to be a massive pain in the ass to source belt pulleys compatible with the keyed shaft typical of a servo motor…

For a Shapeoko, I think steppers may actually be the better choice, especially with the feeds and speeds you’re going to be using in steel.

As for clearpath, they’re not bad but I’d give some real thought to the alternatives:

  • Real industrial servos: in my mind, these are differentiated from the ClearPath servos by their encoders. ClearPath specifies something like 16k counts per rev but 20-bit (1M counts per rev) is table stakes for the industrial stuff, so they can be super precise. I really like Delta’s EtherCAT drives, though those need LinuxCNC or Mach4 or something as a controller. Servo + motor costs ~$400 per axis, around the middle of the ClearPath price range.
  • From a more cost-conscious point of view, you can basically DIY your own servos from a BLDC motor, an encoder and ODrive. Comes to $233 per motor for 2.3kW - cheaper than the cheapest ClearPath servo but comparable to their $1200 models, over 4x the price.

Also, if you haven’t settled on a controller yet, I can’t praise EtherCAT-based systems enough. It makes all the wiring so much simpler. One cable to the servo/stepper drive and you’re done. No differential step/dir nonsense. One cable to a field I/O bus and it can handle all your basic I/O like relays and solenoids and whatnot. And with LinuxCNC + EtherCAT, you don’t need some fancy board or breakouts or Mesa cards or anything, just some standard junk computer pulled from scrap or bought off eBay for $20.


i appreciate you taking the time to come chat and toss up suggestions. i am by no means an expert at building machines and love the opportunity to improve without spending money haha

I’m thinking a step and direction controller(budget) and then just have the servos alarm out if something goes wrong.
Im planning on going with centroid because of the complicated nature of the tool changer I’m designing and in cycle probing is a the big one for me. i dont really know of another company that has one quite as well flushed out as them. my lazy side would rather go masso but its just missing key features i need.
that said, ill definitely do some research into linuxcnc.

The servos will deal with backlash comp pretty effectively and tuning them will be really easy vs some other servo experiences I’ve had. the clear path is super nice for the tuning and the step/direction control.
this is the model I’m considering even though luke and vince would say its way over kill(it is for sure)

not cheap by any means but looks like the torque curve should be plenty beefy for what im doing and i can transfer it to the next machine very easily.
i also dont know that a higher resolution in encoder will be necessary, seems like if i can do what I’m doing with steppers a servo should be plenty accurate. right?

what servos did you use on your machine?

What are the features that the masso lacks, compared to the centroid?

You mean Centroid has good support for custom tool changers? LinuxCNC has a component for carousels and is generally pretty open, if you can find your way through its labyrinthine docs.

As for in-cycle probing, LinuxCNC has no problems with it but the LinuxCNC post-processor for Fusion 360 doesn’t seem to support it.

FWIW, the biggest issue with LinuxCNC is that it’s self-supported and the documentation is a bit of a pain. Once you get it set up though, it’s fantastic.

Perhaps but anything but the most basic controller can deal with that too though, regardless of the motor + driver you use.

FWIW, Delta was dead simple: plug the servo driver into a computer with a USB cable, set the speed, stop and end points and hit run. It moves the axis back and forward a few times and you’re done.

Though I haven’t actually cut with my Delta servos yet. Waiting for my enclosure to arrive at the moment…

Just to make it clear, how come you’re looking at servos in the first place? Do you have some goal in mind? A stepper with similar specs to that servo like this one costs a fraction of the ClearPath. The main downside is that torque goes down at high RPM, but if you direct-drive the HDM’s ballscrews (which I’m guessing are 5mm pitch), you’re equivalent to the ClearPath up to ~600 RPM, which is 3000 mm/min. I’m guessing that would be plenty?

Yeah, just putting it out there in case the precision was what you wanted (it’s the reason I went for servos, I wanted to be able to watch my µm indicator dance).

Delta ECM-A3L-CY0604RS1 plus ASD-A3-0421-E drives.

1 Like

this is the biggest deal of why im going with centroid over everything else. Probing in cycle is a big deal for me in a production work flow.

rn im dying for the ability to load a program with 8 wcs and then start and let it probe all 8 locations and run all 8 wcs without me having to change over. currently im loading all my parts, probing then changing wcs, then probing and so forth and so on for 8wcs. its soooo slow not to mention the actual probing on masso isnt the best. Im running high acceleration and probes hate that so its just a very inaccurate system unless i slow it down for probing and then it goes from a 2 minute cycle time to a 6 minute cycle time. Not a big deal but takes hours when you have 80 sets of parts. i have a custom Alpha software that masso made for me which is nice because it doesnt immediately error out when i use probing at these speeds. but on centroid, i can control probe speed independently of acceleration and program speed.

this is something i dealt with in mach 3, and was not a fan.

with centroid, i can pay them to write macros for a 1 time cost and be done with the annoying bits and on to making parts.

i probably didnt flush this out but servos are a known entity for backlash comp along with pre-travel comp and thats important for centroid as it has a much better system for handling these (from what ive seen) in regards to probing.

centroid you can pay and they will develop a macro for whatever craziness i come up with. they have built out macros already for the usual scumbags(carousel and linear but most controllers do too)

just the closed loop nature. the servos will alarm out and stop the machine if they are off. Ive seen closed loop steppers now but encoder counts are typically even lower than servos.

1 Like

Masso is super easy to set up but it also means you dont get to fine tune the little stuff. Also no in cycle probing.

To be sure, have you checked that the post-processor for Centroid supports probing? What I saw indicated that it was mostly supported for the big-boy VMCs from Haas and the like.

Wouldn’t that be solved even better using a fixture? If you use a fixture you don’t need to probe at all, so accurate and reduced cycle time.

Oh damn, that’s really nice. Wish someone would do that for LinuxCNC…

Ah, fair enough. I believe a decent driver can detect lost steps though, even without an encoder. Not sure if any of the off the shelf ones will though.

yeah actually a boss ass dude by the name of swissi2000 built a add in program that allows it and he wrote a fusion post processor to do it.

really most stand apart feature for me with a centroid and they didnt even build it lol

This particular run, the parts are cast and getting final machining done. 8 parts make 1 assembly.
all of the parts have a wider dimension as cast and then the big deal is probing a hole(not always hole but a feature) in the middle(is datum a in their drawings) then it has to be machined and so does all the other features from datum A.

i could in theory, clamp using datum A then machine the rest off of that side, then clamp the part on the outside, probe the outside corner(its a pretty loose tolerance which is why i dont do this and basically establish this as datum A) machine datum A and then flip and machine the back side using the freshly machined datum A.
this is just an extra step

Currently i hold the outside which is a loose tolerance, probe datum A then machine the part(to include datum A, flip onto a fixture made to hold off datum A and then machine the rest including the outside.

right, so magic.

1 Like

The engineers that remotely handle my machines service needs and software don’t seem to think any Z counterweight is required, at least on the two decidedly different machines I operate. On the contrary, because the Z axis is gravity loaded, it makes tuning the Z servo less critical. My servo systems are closed loop at the controller, no autotune functionality beyond backlash and travel comp; tuning them is seemingly approaching a black art, at least to me.

I run Z servo’s with a brake on both of my servo machines, with no counterweight, or a block, they’d just fall down. But I suppose that depends on the quality and intent of the hardware.

1 Like

pulled the air cylinder out and to the side, getting rid of some height/weight.

Question for you.

Are you planning on using at ATC with this or anything else that requires the spindle to be able to rotate to and hold at a specific position? If so, it may be hard to figure out the position of the spindle from the encoder on the motor. When there are multiple turns of the motor for a single spindle turn (or any non-integer ratio, even worse) it can be tricky to figure out spindle position.

If you only need speed there’s not an issue, but if you need position, for example to allow an ATC to grip and remove a holder, you might want to add an encoder on the driven spindle, even if it’s really low count or just some hall effect nasty to allow the servo to position absolute at the tool changing angle or similar.

plan is so i dont need to know exact encoder counts but well see