Move machine to last used XY for 2 stage carve

These are the instruction for a 2 stage carve using the z-probe and homing switches.
This does not work for me.

Copied from help page:

If you are using the z-probe and homing switches, running a successful two-stage carve is straight forward. The process will go something like this:

  • Connect USB
  • Setup project in Easel
  • Home Machine (Machine > Home)
  • Click Carve
  • Probe Material to set z-axis work zero position
  • Move to XY work zero position
  • Click Carve
  • When carve stops, change the bit (assume machine has moved)
  • Re-Home Machine (Machine > Home)
  • Click Carve
  • Probe Material with the second bit to set z-axis work zero position
  • USE LAST XY to have the same starting point as the roughing carve

The last step implies that the machine will move to the last XY position but that is not the case. If you home the machine you have to jog to your last XY position and there is a lot of room for error.

How about making it so the X-Carve moves to the last used XY before starting to carve.

If I’m incorrect about this then I’m doing something wrong and would surely appreciate being corrected so I don’t ruin anymore two stage carves.

This is not correct…

The Work X, Y, and Z Home coordinates are stored as offsets from the Machine X, Y, and Z Home coordinates within the flash memory by GRBL each time they are set. If you just probe the Z-Axis for the new bit, only the Z coordinate should be reset. The “Use Last XY” feature should just tell GRBL to do just that. As long as your X & Y positions have not been physically moved by you during the bit change, the X & Y Home position should not change. If you are nudging the X & Y Axes during the bit change then you need to set $1=255 and/or check the X-Controller dip switches; see thread below for that.

This is a feature that I have used many times after I powered off the machine for the night and wanted to carve the same thing the next day at the same location. For this, you need something like a bump stop that way the stock is placed in the same location each time though. I have also used this after a manual crash; in this case, I just rehome the machine and tell it to use the last X, Y, & Z Work Home coordinates…continue on with no issues.

The point is, the X, Y, and Z Work Home coordinates persist across Machine Homing Cycles (actually depends on the machine being homed reliably) as well as across power cycles.

It is likely that you are doing something wrong in your workflow. Technically, you should not have to rehome the machine between the roughing and detailed passes as stated above…

Are you every setting the X & Y Work Home prior to initiating the roughing carve? Also, you should be probing the bit, to set the Z-Axis Zero, in the same spot for each bit you use to ensure they Zero’s match.


Brandon Parker

1 Like

Hi Brandon,

I agree with what you’re saying about the X, Y, and Z Work Home coordinates persisting across Machine Homing Cycles as well as having to re probe the Z axis for the new bit.
It would be a nice feature if Easel would return the bit, after probing of course, to the “last Used XY” instead of having to rely on getting it back, manually, to that point. I understand the work around with Dip Switch 4 and $1=255. I just thought it would be a nice feature in Easel since other software has this ability.

Not the best solution, but it works…

Open machine inspector (ctrl+shift+D)
Record the work position for x,y then exit machine inspector
Open the manual movements popup and enter your desired x value into the custom amount sectiob, … the value recorded in the prior step and then move it that exact amount…
repeat for y…

now your spindle is at work zeros. Dead on…

But I agree a “return to 0,0” button wpuld be nice.


Thank you Seth, sounds like a great work around. I will give it a try tomorrow.

Are you probing the Z-Axis somewhere other than the XY Home Position?

I’m just trying to understand why the bit would not already be in the XY Home position after completion of a roughing pass.


Brandon Parker

I know you weren’t asking me,… but I surely don’t always probe at X,Y zero… if i make a flag I’ll X,Y zero at center , but Z probe in the union for the Star carve, and then Z probe at the 0,0 for the stripes… and if I add name or other text, I’ll Z zero directly atop the text area… However, there is not really a need to bring it back to work zeros and I’ve never done that between carves…
So I’m not really sure what this step is all about:

There’s one bug that forces that step, and it involves having an initial plunge at 0,0… but how many projects actually have a 0,0 plunge?

Side Note @RandyOuellette If you’re doing a 2 stage carve… just forget about all of that re-homeing jazz and the “(Assume machine has moved)” line.
Just follow this video and lock the steppers via the dip switch change and the grbl setting change and you can skip all that whole multistep re-homing process… (rehoming almost always results in at about a 0.5mm variance anyway)

1 Like

Yeah, I was definitely not asking you… :wink:

Even with zeroing the Z-Axis in another location I just tell the machine to move that exact amount. One could also use G28 or G30 if one were so inclined to do so… :slight_smile:


Brandon Parker


Hi Brandon,

I probe the Z axis at the center of my work piece so that would be my Work XY. After the roughing pass it goes back to the Work XY not the Home XY. In my opinion the Z axis should return to “Home XY” to await bit change and then after bit change you should be able to hit a button that sends it back to the “Work XY” wherever that was to start with. To me having to lock the stepper motors or attempt to be so careful as not to move the Gantry or X carriage, which messes up the carve, is crazy. After all we are working with a computer controlled machine, how difficult would it be to add this feature which takes all of the possible error out of the equation.

Well, locking the stepper motors during “Idle” operation is definitely something you want to be doing. It is an option in GRBL, but in my opinion, should always be active when GRBL is used for CNC operation.

I see what you are talking about now. You want the machine to return to “Machine Home XY” after completion of a roughing pass instead of returning to the “Work Home XY” position. The problem with automating this completely is that not everyone wants to do the same thing. The feature would have to be developed into Easel with enough flexibility to allow any/all users to change the behavior to suit their needs. I’m not saying it could not be done, but enough people would have to request the feature for Inventables to implement it. Even then, it would take time.

I know you want it completely automated, but is there a reason why you could not just record the X & Y values you used to get to your Work Home XY Position and then just use the jog commands to get the machine back to the front left corner for a bit change? Then, you would just move it back, probe the Z-Axis with the new bit, and start the Detailed Pass.

I am not trying to be argumentative or anything; I am just trying to help by explaining the manual commands I would use to accomplish your request. Moving the machine in this fashion, especially if $1 is set to 255 for the bit change, should not cause any issues. The machine will still be just as accurate during the manual moves as it is during the automated moves during a carve.


Brandon Parker



I don’t think you are being argumentative and neither am I. We are having a conversation and I appreciate your input. I agree with what you say about locking the motors during “Idle”, that makes perfect sense. You are also correct that not everyone wants to do the same thing relating to the “Machine Home XY”, and no there is no reason I can’t record the X & Y values and then jog back to them after bit change. Although I’ve been woodworking for many years I’m a newbie to the X-Carve and CNC. I really appreciate all that I learned from this conversation and feel that I will be much better equipped to complete 2 stage carves with more accuracy. Thanks again.


1 Like

Again, don’t get me wrong, this is definitely the right place to have posted this. Seeing the option in Easel would be a nice addition … IMO there should be a lot of extra features like this that could even be hidden away under an “advanced settings” that the user would have to opt-into… something like “return to home” would be nice to see as one of those more advanced options, because the customer base of easel really is the brand new user who doesn’t want to be overwhelmed with too many options and settings…

That said, I don’t often send my carves using easel, instead I export the gcode and use OpenBuilds Control as the sender… and look at the “go to” options I have right here on the main screen, I click this button and these 3 options are right there (the one is greyed out since I don’t have homing activated on this machine, but that grey one is the one it sounds like you want to use). So here’s another option IF you like to explore that :slight_smile:

1 Like

Thanks again Seth. I will have to check it out. I was able to successfully finish a two stage carve that came out perfectly today. I used your suggestion to get the coordinates in machine inspector enabling me to establish work XY after bit change and thus the detail pass was spot on.

1 Like


What do you think about this:


1 Like

You want my honest opinion, right?

I think that would cause just ad much failed re-starts as it would successful ones… unless there is clear instruction on how it works, many users will not follow and will certainly jack up the restart.

There are not any other programs that do this, which means if it is being done, its a manual process. And if its a manual process then the human doing it probably has a good understanding of how it works and the required steps for a successful restart, vs making it automated where a novice will surely mess it up multiple times before getting it right for the restart.

Is it a good idea in concept? Yes
Should a lot of these new good ideas be placed in the run of the mill easel? No, it would be best to have a menu where the user can activate certain advanced features like this, and with that extra would make it apparent that this takes a bit of know how and is not for the week 1, first time cnc owner… :man_shrugging:. Not just this idea, but others that have been broight up and are yet to be implemented as well, the “advanced menu” where users can opt into these functions would help with keeping new users on the righr track and successful until they are ready for things like remnant partial gcode jobs…

Definitely, I always need your most honest opinion, also I see that you have a LOOOOT of experience with CNC. I am a scientist, many inventions, products on the market, I do like straight talk. I get a lot of BS at meetings, PLEASE stay honest :slight_smile: I also a fitness instructor on the side, I love that as there are no results without straight talk and hard work. Anyways…

So… I completely agree, this is not for the faint hearted. We have an instrument (mass spectrometer, 500k) where you can enable an Advanced menu and you can tinkle with some parameters. Of course, you can save all the settings before. So yes, make it into the advanced settings. As Easel is on the web, I am not against to have a test online before enabling those Advanced settings for an account. (I have to make periodic tests, like “High power laser” tests, etc. at work. Always good to refresh my memory.)

Going back to the CNC: I think I will do this just for curiosity (putting on my long to do list): I will put a monitoring software on the USB (or maybe it is a USB-COM at the end?, I am not at the machine now) port and will save the communication during a carve. That will show the communication between the Xcontroller and the PC and show exactly where it was aborted. I will demonstrate the proof of principle, i.e. abort and restart from that point forward. What Inventables will do with it, it is their business and I respect that. I am looking at the possibility, but your point is very true, it is not about “can it be done”, but also other important things to consider (like safety and trust in the machine).

Thank you Seth again for your time!

1 Like