Shortcut for positioning the cutter for tool change?

Hi All,

I imagine this is a simple question for some of you but the gcode side of owning my Shapeoko is still a foreign language to me, though I’m trying to improve. I recently installed a square bracket on my spoilboard so I can return to the same X0, Y0 consistently. I figured out how to rapid to that offset from the machine’s home point in the MDI (G00 X??? Y???) and that has helped speed things up a little for me but another area that slows me down a bit is tool changes. When the job is done and the cutter positions at Y0, I manually jog the cutter as far forward as it will go and roughly in the center of X so tool changes are easier. Is there a shortcut to positioning the cutter there when I need to do a tool change rather than manually jog it? I’m sure, in my ignorance, I’m doing this the hard(er) way.


I’m afraid not.

The only shortcuts are the rapid position points which are all over the wasteboard.

We have a bit on this at: and I discussed some numbers/positioning at: Notes on rapid positions and wasteboard leveling

I believe the command you’re looking for is simply:

G53 G0 X__ Y__ Z__ (with the blanks filled in).

G53 means “Use absolute machine coordinates for this line.” Moving to any location in machine coordinates is, therefore, trivial. (Unlike other coordinate system commands, e.g. G54 through G59, G53 is non-modal, i.e. not sticky.)

I don’t believe you can add that line to the end of your G-code files for Carbide Motion; as far as I’m aware, Carbide Motion does not allow you to use alternative coordinate systems (e.g. G54 through G59), only working in G54. On the other hand, since G53 is non-modal and you can use the / prefix to send directly to GRBL without being interpreted by Carbide Motion, while you can’t add it to the files, you may be able to do exactly what you want via the MDI tab, like so:

/G53 G0 X__ Y__ Z__

(I’m not home to try that, but it’s certainly worth a shot.)


Thank you! Short of creating a shortcut, this is what I was imagining I’d have to do. Not being fluent in Gcode, I thought I was stuck with G90 & G91, which, if I understand it, is relative to job zero.

Not sure if they’re usable with Carbide Motion, but this is a great use for G28 or G30.
Jog to where you want your XYZ too change spot to be.
Send G28.1 (that will store the location to non-volatile memory)
To return to that location any time, send G28.
The same will work with G30.


Oh, that’s even better. I’ll give that a go tomorrow.

I asked for that feature in CM but it looked like an almost impossible task. I would like a few stored positions, just like radio presets that I could use for easily setting my workpieces and other things like a tool changing position.


I’m not near my machine today but tomorrow I’ll let you know how nielferreri’s suggestion of G28 and G30 workout. if they both work, I can see using one as job zero for my spoilboard bracket and one as tool change position.

1 Like

Macros like this in CM…not so much. If you want to use a different sender, yes, can be done without a lot of hassle.

Yes current version, I think it would be a very useful improvement to be made in CM for a future version and relatively simple IMO. While we’re at it support for macros would also provide a more significant improvement with the possibility for additional functionality for CM.


Success! Well, at least enough to make me happy. @neilferreri 's suggestion worked perfectly. I positioned my cutter in the center of X and as far forward in Y as I could. Then I sent /G30.1 directly to GRBL (CM gave me an error message if I sent it through there, without the / first) so now /G30 brings it back there rapidly when I need to do a tool change. I also set the X0,Y0 of my spoilboard bracket as G28 the same way. Now, I just have to use the MDI and /G28 to rapid to job zero when using the bracket, then /G30 when I have to change a tool. Thanks everyone for the help!


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.