ATC on shapeoko 5 Pro

Hi I have a Shapeoko 5 Pro with the 65mm vfd spindle, I have just stumbled on this system by chance as I have been trying to figure out how to add tool changing to my 5 pro for some time.

Is there any videos or documentation on installing this on the 5 pro? I have seems photos pop up here and there where it has been done.

Is there a way to get the ATC fully functional with the shapeoko controller or is it only good for manual quick changes (aside from the power boost in power obviously)? I haven’t been able to find this answer on the website. I haven’t been able to find information on any specific machines, does it exist and I have missed it?

I do see the masso upgrade which looks great some day, but each upgrade is a substantial investment so can only do one right now and was hoping to get ATC working without changing the controller right now.

Fellow S5Pro owner here.

My understanding is that the Carbide3D controller would require significant modification to support an ATC. There’s a thread over in the Carbide3D forums about this and the conclusion from one of their employees boils down to “Overall my point is we could do it, but to do it right would be expensive”.

I picked up the Masso Conversion Kit with an eye on upgrading to the ATC in 6-12 months.

2 Likes

This is buying just the ATC Spindle to use in MTC mode
ATC System

This is for full ATC
ATC System & PwnCNC Conversion Kit featuring the Masso Touch Controller (preorder)

1 Like

Thanks, I had a feeling that would be the case…

Aside from programming wouldn’t you only need a couple outputs one to turn on the valve one to turn off (or one really)

Are there inputs to confirm when it’s locked and unlocked?

Anything else like turning on the compressor can be done manually.

I take it no one has figured out how to get an output to fire from a Shapeoko controller?

As far programming goes just some gcode would need to get inserted at the right places.

1 Like

The videos were great thanks I will check out more on their YouTube channel.

I think I see a solution to automate the Tool change with the shapeoko controller. I have a plan without specifics. The only hiccup is if I can’t find a way to get at least 1 input, I think it shouldn’t be an issue I think I could use the port used for “bit zero” if nothing else a few inputs would be better if I can find them.

The jist is small custom circuit to control the manual change button, a few 3d prints and a relatively simple post processing script for the gcode.

If someone watch to try my crazy idea I will be happy to collaborate, but before I can do any of that I will need to add a 220 circuit to my garage and then ATC kit so it will probably be a while before I have anything real to share.

The Masso will obviously be the superior and ultimately the final solution but I think my idea will work to bridge the gap

1 Like

In a word yes, but the programming and tool memory location is the big hangup.
Yes, theres 2 inputs, but even for masso 1 of them doesn’t work right (Failure to Retrieve not resulting in error)
Whats not in that article is that the reason is because the tool present/absent sensor flutters when closing, nullifying the alarm within masso. We have an open inquiry to see about delaying, or requiring more time to nullify the error.

It can’t be done currently because the carbide board lacks the memory of locations and programming, so there’s no point in trying to hook up the I/O.

I wish you luck
you’ll want bit zero and bit setter because you’ll want the controller to either remember what the various offsets are, or you’ll need to go and touchoff every time… bit zero so that you can get the xyz initial points.

You’ll find that the simple post processing script isn’t going to be so simple, again for the memory of the tool locations, or you’ll have lots of them in various configurations of tools.

And its limited in how we can help because we haven’t been able to get the square peg in the round hole.

Hmm. I don’t really understand why the memory or location is a problem you set up the coordinates for each tool in the post processor the shapeoko won’t even know what’s happening or care. I already have some scripts that have the coordinates for some fixtures on the table to make my work faster should be basically the same for the tool locations.

I don’t really need any automated functions I have been working on 3d printing tool changers for years and work as a controls engineer programming robots and plcs unless there is something fundamental I am missing here the code doesn’t scare me. (Not trying to sounds sassy by the way if it comes across that way sorry about that, just letting you know my back ground)

I need to study the gcode but I will just write a python script scan through the file locate the tool change. I can trigger what tool is being called by using the tool number in the callout and associated that to a dock, and where that docks coordinates are. Which can all be stored in a csv file for easy access.

With that information I will inject the necessary gcode into the correct location. All scripts to make this easy will be in the post processing script no need to access automatic features of the controller.

What I don’t know is what pins are available for IO on the shapeoko controller that’s the catch for me the boards I have worked on in the past are design for diy and info is easy. Unlike the shapeoko which around a year ago or so I tried to dig into finding IO when contemplating a rotary axis but found little. What I need to figure out is how to get control over some inputs and ideally outputs. I will read that article thanks for the link. I will try to look through the shapeoko forum again for any information on IO. I tried emailing support back then and they were unwilling to give me any information on the topic.

There may be some fundamental differences in how the shapeoko handles the gcode from the way Duet does so will study that but I know I can create some debouncing code for inputs in duet for that io flutter issue, I will see what’s possible in the shapeoko controller.

It’s ok by the way if I don’t have help to automate this, I will accept this as a personal project once I get all the the power and spindle installed even if I fail it will still be an fantastic upgrade as a MTC.

(Side note if someone picked up on the rotary thing: Yes I know the shapeoko wouldn’t have a driver for a rotary axis or anything like that, I was thinking of I could send a signal to a separate controller to just to position to 0 90 180 270 would have been nice but pretty much gave up on that one)

I would just focus on the one input and one output.
one output to turn the penumatics enclosure on (likely be 2 commands), and one input for the motor to tell the controller that its opened or closed (pick your poison) then have it report if its not in an optimal configuration.

The only way I see it even being possible is if you were to load up 4 tool locations, and tell it to go to them sequentially. start off with 1, do its thing, come back drop off 1 pick up 2, do its thing, drop of 2 pick up 3, do its thing, drop off 3 pick up 4.

Anything more than that you’re again trying to get a square peg into a round hole, but even the above is a tall order, but I’m sure its possible in the post processor. then again maybe not because you would need to dictate the different motions. I’m pretty sure it’s not possible with variables at least since you’re talking about different locations. Thats assuming you keep the carbide controller. Masso has this functionality built in, and I only need to tell it what tool is in what slot, and that slot is located “here”, as well as minimum/maximum clearances, and direction of travel.

Why couldn’t you use a rotary with shapeoko? Will need a new (different motor) but I don’t see a reason you couldn’t, now you would have to disconnect a motor from the board to use it, but I don’t know what design software you use. Vectric can only do 3 axis anyways so my Y axis didn’t move at all when carving these. It does it by wrapping the design around the X or Y axis. Vectric is not very strong when it comes to rotary work though.

If you only want 0, 90, 180, and 270… check this out.

1 Like

For initial set up I will manually teach each of the tool locations using global coordinates like I do for my fixtures, and use that coordinate system when doing the tool change just like it already knows where the bit zero is. I will store the locations either directly in the script or if I am lazy or in a csv file to make it easier for people to copy me. This should not need to be done again unless something moves.

I think your confusion is how does the post processor know when to do it’s thing. The script will need to find the tool number called out in gcode and also need to remember what dock it picked up the tool from.

What I need to do is first figure out how carbide or when I stop being lazy v carve (I have it, I need to learn it still) tells you when to do the manual tool change. All I need to do is look for specific commands related to it.

At that point I know with carbide it pushes a message out to the user says put in tool #100 for example.

All I need to do is have an associated list of tool numbers to tool holders this will be easy to make in excel 2 minutes of work. so if I tell the post processor tool x it knows to pull the coordinates from the file for holder y.

Using gadgets I may even be able to automate it right in vcarve though I have yet to learn anything about them so we will see.

Anyway once I know where in the code and what dock I just need to remove the wait for user input from the gcode, then drop in the appropriate script to drop off the tool when the spindle has no motion (need to figure that out) and pick up the next tool.

I also need to figure out how to start a project. Do I start with a tool mounted or do I start with nothing. If I start with nothing I will need to figure out of to trigger the valve this is where I need to figure out if I can control an output at all or I have to be clever. If I start with a tool mounted then I need to make sure dock 1 probably is empty.

So bit setter needs to be bit setter I can’t have that input. I have a bit zero but never use it, so I can probably grab that input point if I have to I just need to find its gcode. For outputs maybe but runner? I have no idea if bit runner is available when your using a vfd spindle or not. If it is awesome, If not and no other outputs I have a solution for that but it’s just going to be a little unorthodox.

If need be I can create a little buffer circuit so I can run the output of ATC to the input of the Carbide controller.

The output gcode from the post processor will not have variables it will be all hard code, any variables will only exist on the processing script.

As far as rotory I ment do to something like 2 sided milling take for example a 2 sided PCB, it would be nice to mill your circuit on one side have the fixture flip it and mill the second side I would need my x y and z I think for that. But that is a really cool video thanks :slight_smile:

I already have tool changing scripts for my 3d printer I have a diy tool changer printer. Functionally it’s the same thing I just have write more of the scripts myself and “manually” inject them into the gcode rather then being able to just call a function.

1 Like

It can’t be used with a vfd, at all.
In carbide motion if it was enabled it would run full tilt at any rpm commanded over like 1k. That was a head scratcher first time i saw it.

You should just get the masso conversion it has 5 axis movement (abxyz where b is slaved to y, and a is rotary). Im pretty sure you won’t be able to add an axis input on carbides board and last i knew grbl doesn’t support a axis.

Sounds like you know what your doing otherwise, so good luck.

I do want the Masso but can only afford one thing a time.

I did notice that it looks like you can buy just the Masso pendant for around 1300, can you plug all the carbide sensors and steppers I to that? That would lower the barrier quite a bit not having to replace all the steppers and switches.

Ok so I surfed the carbide site and found this

If this is actually all the gcode available then this is a problem there is no way to see any of the IO it seems that the controller handles all that in the back ground. I am going to dig some more maybe someone has found a way to see the inputs.

I thought something like that might be the case I was hope the vfd contro was completely separated from the bit runner control :confused:

I don’t understand why shapeoko is hiding all this they have auxiliary ports and stuff on the controller, why not allow people to use it, a couple basic input and outputs doesn’t seem like a big ask.

The masso pendant is a handheld controller, and is $146

You don’t need a touch, and could get just the masso brain to have it. It’s pretty limited on touch capabilities but it is possible or sticking to keyboard/mouse. Either way you’ll need a monitor at least though.

Welcome to the reason i was able to convince the wife to let me get another cnc and sold my SO3

Sure, a switch is nothing more than a switch. You will need to identify which color is what, then wire it appropriately. Miswiring could result in as little as frying the switch, and as much as making masso a doorstop.
I can’t answer on the motors working definitively, but masso does have the S+/- and D+/- like the motors you have, but i dont know if there’s enough juice to drive them, and don’t know what color is what

‐------------------------------------------------------------------------------------
One finally plug for the conversion kit, we’ll be able to help you with how and provide guidance on installing it, since we’ve done it… on your machine before.

Going the diy route and self sourcing is out of our expertise because there’s a lot of options, and we only know the things we offer… and little differences can mean it working or not.

Ah yes the Masso “touch” lol sorry I got lazy last night before bed I should have looked up the name, it is listed as a separate item for purchase on the pwn site so I thought it might have been done with just the controller.

Side note this is what I said pendant I use this all the time at work looks at first glance very similar

I asked about the switches your kit replaced all the switches I wasn’t sure why, do they do something more then the shapeoko switches? Or is it just because your putting the whole motion system in one package? I am not necessarily against doing the whole conversion kit at some point but the number of purchases to get ATC working is quite high, still need to find an election too to get 220 as I want the more powerful spindle.

And no worries I can figure it out just thought as it was listed alone it might be an option you supported but I can dive deep myself.

Hey Miasmictruth,

lol

Like the buildbotics.com controller, the Masso G3 is a universal CNC controller so is made to support all kinds of sensors, steppers and spindles. It is not made for a specific machine, so don’t worry. What the Masso lacks is the Modbus communication interface, but all VFDs support being controlled over the 10 V analog voltage input for spindle speed and programmable digital terminals for FWD RUN/STOP/CCW RUN, and have relay outputs for switching spindle coolant or dust collector on/off.

What I don’t like on the MASSO is that it’s not open source hardware nor open source firmware, but proprietary closed-source. On Buildbotics.com or on LinuxCNC, the successor of NIST’s Emc² CNC controller, you have total freedom of customization due to the free license.

Hey Miasmictruth,

Carbide3d wants to sell both their machines including their firmware AND their software. E.g. Carbide3d software produces crippled g-code because they want to make it harder to use machines of other brands. They want to sell their machines, not the MASSO Controller or other things, so they just tell you what you need to know in their eyes.

E.g. you need their control software (Carbide Motion) to get valid working tool selection g-code into the carbide3d output. However there exist scripts from the community made to “repair” that g-code without having to use Carbide Motion.

1 Like

Ah good to know that’s for the info, I am used to a certain amount of freedom coming from the 3d printing community I was shocked and how shut CNC stuff is, I will definitely check all the options thanks a lot for the info.

1 Like

A switch is a switch. Remember, we didn’t make the conversion kit exclusively for the shapeoko. Last i knew shapeoko 5 pro users were about half of the customers, and we tailored it for them, but they’re not the sole users.
It’s provided for more for an all inclusive package. Switches are not any significant amount in the conversion kits price i can promise you that, but it’s easier to provide something $40 found on Amazon than say you need to provide your own, here are the requirements… good luck.

Not saying this is a good idea but I had a crazy thought, this part is outside my wheel house to program at least for now. But if a utility were written to be able to see the prompts that carbide motion puts out and be able to click the prompts that would satisfy the carbide controller. Then have an IO board on the PC to control the ATC.

Last step would be to write the post processor like I was saying before to inject the gcode into the file to make the tool changes happen.

Obviously we are getting way out into the weeds here probably a silly idea but I think that could actually work despite the lock down Carbide has on the GCODE.

I might explore if I can get carbide to pop the prompt in useful positions to test if it is even feasible. I have a feeling its going to force the cnc into a fixed position.