Longmill MK2.5 Gsender machine coordinates not matching home

I have a Longmill MK2.5 that I just bought and installed homing switches. I’ve confirmed in console they are triggering correctly. I have them positioned for left front home. When I home the Longmill (to the front left corner), the machine coordinates under X and Y show a machine zero of the far right corner, and if I hit “go XY0” the gantry moves to the far right corner. I read others saying that the bottom left homing positions can be set to 0 along with machine position (grey numbers). I am having problems running into Alarm 2 soft limits even though I have correct settings in firmware for 130-132 and the jobs should be well within the soft limits.

From reading this post (Absolute 0 after homing? - #5 by AndyCXL), I think this is the default GRBL machine position. Is this correct? The last post says this behavior however was changed in firmware. The links I can find for GRBL firmware (grbl Firmware 🤖 - LongMill MK2 CNC) only are valid for the 2019 version as I was thinking of flashing the firmware if necessary.

@Elmo Welcome to the group, Elmo.

Are you running the SLB?

What version of gSender are you running?

Thank you.
Yes, SLB (which comes with the MK2.5 from what I understand). I have the 1.5k spindle. Gsender is 1.4.12

Hey @Elmo,

You can flip the direction you home in by going into the firmware settings and finding $23. Here you can make X and Y go in a negative direction, by flipping their toggles.

In this picture you can see I have X set to home left (negative), Y set to home front (negative) and Z set to home up (positive).

Cheers,
Stephen

Hi,

Just to clarify, default GRBL firmware behaviour is that machine 0/origin after homing is ALWAYS the back right corner regardless of which corner you home to. This is just CNC convention so every job is always entirely in negative space.

If you want machine origin to instead be the corner you home to, you need to enable the “Set Machine Origin to 0” option in $22 in the firmware tool.

The second little thing I noticed in your post is that you used go XY0 - this movement is in WCS (the large blue numbers), not machine coordinates, so will go where you set your workspace offsets, not the machine XY 0. I’d read the following if you’re unsure of the difference between the two but suffice to say machine coordinates are the internal representation of where the machine is in physical space vs WCS being offsets of that internal representation.

https://mhcc.pressbooks.pub/supportcnc/chapter/g54-g59-an-introduction/

Hope that helps.
Kevin

1 Like

Thank you. Changing that 22 “set machine origin to 0” did the trick. I do understand after some reading the difference between machine zero and workspace zero. I would imagine that having your homing and machine zeros differ really shouldn’t matter as jobs are going to run based on workspace zero anyway. It just threw me off that the machine zero changed once I installed homing switches to the rear right corner. It would be helpful if Sienci included this tidbit of info in their notes and video of homing switches installation. I ran across a few other threads where this caused confusion also.

As for the XY0 thing, I don’t know why I was getting confused because of course you’re right that XY0 is workspace or homing zero.

Now this is strange. After changing that 22 setting (and re-enabling 20 soft limits), the CNC has changed its traveling area. It wouldn’t go over X 740mm x Y 800 (30" x 30" Longmill), but now it is traveling X 800mm x Y 845 (machine 805 x 850mm). I am completely miffed as to why. I knew it should travel further than it was as there was still length on the X and Y rails, but it wouldn’t no matter what I did.

I have 23 inverts set exactly that way for a front left home, which is where I set my homing switches

Kevin,
That is nice if you are using the sensors. But what if you are not using them? Is there a place to store the ‘G’ code positions/locations permanently?
Thanks, Michael

Without homing sensors your positioning is set by hard limits and where you set home in the firmware. You don’t store positions in G code. Code is what your cam software outputs to tell the CNC where to move for making projects. Homing sensors allow for soft limits, multiple workspaces, and tiling. This is all from my limited research and understanding however.

@Elmo With respect, you may want to do more research. :grinning_face:

Here is a starting point - an excerpt from the Sienci site on sensors:

“Both soft limits and hard limits will stop the machine if it is moving to the boundaries of the machine. Soft limits determines when to stop using calculations in the software program, NOT by triggers at the sensor. Hard limits determines when to stop from the trigger of the sensors.”

If you aren’t using sensors and thus can’t home, machine origin is where the machine started when powered on (either connection on Arduino grbl devices, or power cycle on SLB - they work differently). Again, since machine position is just an internal representation of where the machine is for the firmware, this is fine.

The workspace offsets themselves are already stored on the board across power cycles, but since they are offset based off machine origin, the actual physical location could change if machine origin isn’t consistent from homing.

You could technically always make sure to start the controller at a set location (like a specific corner) and thus have a consistent machine origin but this will not be as accurate as homing and is not recommended for accurate repeatable positioning.

Quick example to illustrate behaviour without homing:

  1. Type $#? in console. This lists all stored offsets
  2. Jog a little and set your zeros at the new location - $#? will update the offsets for the current workspace.
    image
  3. Jog a little and use the GoTo XY zeros - this should go to the location you set.
  4. Restart the controller (reconnect on grbl arduino, power cycle on SLB)
  5. Type $#? and note that the stored offset values are still the same as before even though you power cycled.
    image
  6. Use Go To XY - you’ll notice that this takes you to a different location because WCS offsets are offset of machine position and machine position was reset on power cycle.

If you want consistent offsets across workspaces, you should really look at adding homing sensors.

1 Like

I’ve got PLENTY more research to do. I’m just getting started on this voyage to be sure.

2 Likes

@Elmo Me too. I have an early Mk1 and have not added limit/homing switches. For my kind of work, I saw them as a bigger pain than a benefit. I appreciate that it is likely that most here disagree with me. However, I do understand how they work, what hard limits and soft limits are, and the difference between machine coordinates and work coordinates. I simply don’t need to deal with them. :grinning_face:

1 Like

I just see myself tiling and using multiple workspaces at some point so I went ahead and ordered the homing switches (along with a set of Delrin wheels to have on hand for when they need eventual replacing).

@Elmo That makes good sense. I’ve done quite a few tiling projects and I’m just setting up for another one. I’m running 54" lengths of picture frame moulding.
I’ve only used multiple workspaces a couple of times. They can really speed things up.