How do I tell Carbide Motion where the origin is?

I want to do some inlay work, and this requires that I put the work piece onto the work bed at the same location each time. To facilitate this I have created a fence:

New photo by Andrew Hood

I know that the axis of the fence intersect at (-853.52, +16.14).

How do I tell Carbide Motion to set zero at these absolute coordinates?

1 Like

IF This is your X 853.52, and this is your Y16.14… (if not, adjust accordingly)

Step 1 MDI: G1 X-853.52 Y16.14 F888 (Send)

Step 2, set this position as X0Y0

1 Like

There is a problem with this code.

When I run this code, the spindle attempts to go to these coordinates. And the coordinates are outside the area the spindle can travel.

I placed the origin outside the area of travel for a couple of reasons:

  1. I am trying to maximize the usable area, and I will not be doing any inlay within 0.75" of the edge of the board.
  2. It will not be possible to run the bit into the fence.

You jog the tool to where you want the zero origin to be then
Set zero

Same Zero origin that you define in your CAD program

1 Like

I cannot jog to the origin. It is just outside the area accessible to the spindle. This is intentional.

Even if I could jog to it, I do not want to spend the time doing so. This is something I will be doing every time I power on the machine, It will waste too much time.

You should be able to jog to that corner, where you know the coordinates, and then go to the Set Zero pane of Carbide Motion and enter the -853.52 for the X value and 16.14 for the Y value.

1 Like

Your origin should be with in the machining area.

A quick way for this is place the spindle by hand where you want it before you turn it on. When you turn it on the motors lock in that location and you set your zero then and there… This is assuming you dont have homing enabled and this is one of the reasons I didn’t care when my homing switches died because this is actually much faster.


Some things I have learned by doing some hacking.

The Zero panel allows you to enter coordinates for X, Y and Z. But as soon as you leave the field the values revert back to what was there before. It appears to me the programmer allowed input and then forgot to add the code to handle any data that was entered.

So this was a dead end.

I then found that codes G10 L2 and G10 L20 are supported by Carbide Motion. These codes seem to be what I am looking for.

I want my Work Origin to be -826.44, 16.04 in Machine Coordinates

If I home my machine and clear all offsets, Carbide Motions shows my current position to be -5, -5, -5. Opening the log window I see:


So Machine and Work coordinates are the same. (Which is what is supposed to happen when you clear all offets)

If I use MDI to send the codes “G10 L2 P1 X 826.44 Y -16.04” Carbide create shows that my current coordinates change from -5, -5 to 821.44, -21.04. Which is my current position in Work Coordinates.

But the log window still shows:


Which implies that Carbide Motion keeps the Work coordinates offset internally, and does not set the GRBL coordinates.

It seems to me that you pass to G10 L2 the Work Coordinates of the Machine Origin. Which seems a bit backwards to me. But if it works I will not complain.

The G10 L20 seems to be for the relative position. To set the Work Coordinate origin, you give it the Work Coordinates of the current position. Then Carbide Motion shows your position to be whatever you passed it.

In my example I would use the string ‘G10 L20 P1 X821.44 Y-21.04’

I have not idea what the ‘P1’ is for. But if you leave it out you get an error. If you give it a number other than 1 you get an error.

If someone can explain what the P1 is for and/or why this works I am very curious.

But for now I am happy I have the codes I need to set the Work Origin after homing the machine.

P1 specifies work co-ordinate system G54.

See and esp.

P1 is G54, P2 is G55, P3 is G56, etc. However, The S03 only uses G54 which is why you get an error when you try to use P2, P3, etc. I wanted to store some fixed positions for some specific repeated projects in G55, G56 and found they are not supported from someone here on this forum.

UPDATE: Richard Cournoyer answered in my Feature Request post about custom setup locations that CM abandoned the WCS positions about a year ago. So you can only use G54 and that gets overwritten by CM.

1 Like

On my CM, I have to enter the coordinates and then press the [Enter] key on the keyboard. Failing to hit [Enter] results in the input being ignored, it seems.

1 Like