Understanding offsets and MDI

Could someone clue me in on some Gcode / MDI issues?

I’ve jogged the machine to a consistent location near a vise where I want to start probing. On future cycles (assume after a power off and on), after the machine initializes, rather than jogging the machine to the probing start location, I’d rather type in the coordinates. As I understand it, assuming those coordinates are to the left of center (facing the machine) and back a little they would be something like:

G90 X-650 Y-120

That should give G90 (absolute coordinates). This has worked, but often fails and the SO3 XL rams into the left stop, skipping lots of steps, and has to be reinitialized to find zero. What am I missing? I’ve tried going to the jog menu and clicking “clear offsets” before running the MDI, but with the same effect. Do I need to put in the “/” first in the MDI to put it direct to GRBL? On that note, it seems to be the case that the GRBL lines (with the “/” in front of the MDI message) inverts the axes? Is this true or am I missing something?

Spent a lot of time with the machine traveling different directions than I thought it should today.

Thanks for any clues,

I’ve found the MDI interface is not reliable when you start fiddling with different co-ordinate systems.

The User Actions work somewhat better, but there is a bug with them where if a User Action tries to operate in two different co-ordinate systems, then all GCode is actually executed in the last co-ordinate system used.

For your use case (“Go to this specific location”) creating a User Action should work.

Offsets are registers that hold an array of positions relative to the machine zero.
G53 being the machine zero, so the offset is 0,0,0
G54 being the workpiece zero that Carbide Motion uses for pretty much everything (except bitsetter position). G54 is the default offset, and does not need to be entered in your Gcode.
GRBL will remember the last workpiece offset you used, even after turning the machine off.
“Clear Offsets” should reset G54 to 0,0,0 to match the machine coordinates.

G90 (absolute coordinates) means “measure these numbers from the current offset”
G91 (Incremental) means “measure these numbers from the current position of the tool”

To ensure it’s measuring from the machine zero, use

G53 X-650 Y-120
G53 is not modal, so it needs to be on every line (block) that uses it.


@Tod1d Thanks for the clarifications. Good to know. @mhotchin Thank you for the bug identification.

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