Save Zeroed Settings

It is VERY important that when you turn the cnc on, it remembers the last zeroed position.
If you do the rough cut and come back the next day to do the finishing, you can no longer probe because that corner might be already cut away. Same thing if you need to restart the cnc for any reason.
I guess the shortcut to this is to write down the position after you probe but this is something that
really should be in the code.


I’ve never seen a cnc that saved things like that between session.
Your best bet is proper planning like zeroing somewhere that will survive.

My shapeoko does that.

1 Like

Well it is good to know it is possible but your shapeoko also has belts so there’s that.

Not saying what you want could not be useful but you gotta realize that these use stepper motors not servos so it is ALWAYS a good thing to keep a place to rezero.

@adamgeiger - I think your Shapeoko saves the last ‘known’ position relative to the last zeroed position. There is nothing to say it’s the last zero position or even the last position. My X-Carve would power up and ‘know’ the last position ‘relative’ to the last zeroed position. But it’s super easy to move the machine while powered off, making none of the saved information useful, and worse, more dangerous than saving nothing. That’s why I set my X-Carve to wake into Alarm mode and force a zero before any movement was position. A little of a pain, but safe bet.


1 Like

You both make good points but in my experience, it always came back to the exact ( or close enough )
position. Would writing down the position be any different?

I’ve tried writing it down before when I had to multi-day, multi-bit cuts (curing epoxy take time) - I’ve never found the precision of the homing on the X-Carve to be precise enough for detailed cutting. But that’s something I will investigate on the OF.


This is a huge miss!! It’s killing me not being able to save WCS such as G54-59, G28, G30 after shut down. Total pain in the rear having to reset these coordinates. It was suggested that I write the absolute coordinates down and enter in MDI manually, sure this works but is an extra step that I could easily forget and screw up work pieces.

If you have fixtures and make multiples this is an extremely important feature. Seems like something that should be easily stored in the built in memory! Or the ability to enter macros to save the fixture coordinates would be ok.

1 Like

@BNB187 - does G54 not work with the OF? I’ve not tried that yet.


I’ve only tried G28 and G30, they work but don’t stay in memory after shut down. My understanding is the same is true for G54-59.

So for in program stuff you’re ok but if you have fixtures and want to be able to go back to these positions after a shut down you have to re enter them manually or I suppose you could write a gcode file for it?

I’ve tried G28 and 30. They will set but won’t retain. Haven’t tried G54-59 yet but assume they can be set with a G10 blah blah blah command. If this is the case I wonder if a Gcode file could be saved and run after homing to set these points. I don’t know how the machine will react as a saved file to use as a macro.

Will give it a go and report back.

I tried a G54 and G55 today, it works but doesn’t save the position after controller powers off.

So, I guess the answer is to write a Gcode file to act as a macro and run at startup. I’ll give that a try in the next few days.

1 Like

You can indeed write a file to run at startup for setting fixture positions. I saved the following commands as an NGC file via notepad and worked fine. Of course you would want to home the machine before executing the file.

G21 G90
G10 P1 L2 X200 Y700
G10 P2 L2 Y200 X500

I just used this as a test. It did set a G54 and G55 position. Word of caution though I ran a file from a position not referenced here and it used the G54 position as 0,0 when finished. Not sure if this is because I had left the machine in G54 and zeroed workpiece elsewhere.

1 Like

Isn’t the whole point of G54 to store a location between restarts? I know grbl supports it, so I don’t know why OF can’t.


Yes it can be helpful for doing multiples on fixtures as well. Hoping they will work this out soon.

It would seem to me that the last position is not at all helpful. But saving the offset would be most beneficial. I am not sure that I understand the need to reset the offset when homing the system.

In my experience using a generic GRBL controller and also using an Openbuilds Blackbox Controller both would save the offset when you set an axis to zero.

My normal process when turning on the machine would be to home and then move x,y to zero (offset Position) . If a new offset is desired simply zero the axis.

I would propose that the request is to:

  1. Save the offset any time an axis is zeroed so that it can be automatically loaded at boot up.
  2. When homing do not reset the offset.
  3. On boot up reload the offset last saved (if none found reset the offset to 0)

In addition to the above it would be very helpful if G28 and G30 were retained so that on boot up they are reloaded.


I have x50 journeyman, buildbonics control. Seem when homing machine. Zero (after homing) wasnt consistant. My first epoxy inlays layers did not line up accurately. Tried writing them down. Still inconsistent. So i came up with this (see pic)
Affixed probe to spoilboard. Use XYZ Probe zero.
Then use MDI to offset to inlay center. Im getting consistancy now!!

1 Like

Wow. I had just assumed that these settings would be saved.
Is the Masso controller any different?

@DanBucsFan, that seems like a good system to ensure repeatable X-Y location. But beware: your machine is producing inconsistent homing, you can assume this inconsistency carries over to both sides of the Y axis which directly affects X axis straightness. This is an example of why it’s a good idea to have solid stops (rather than the bearings) to home against to help ensure repeatable X axis alignment. Since I didn’t use the 1F controller when I had my 1F, I used to manually home against solid X-Y stops. My new machine has single motor Y axis with homing switches, so it’s always repeatable.

@GregZo, my Centroid Acorn controller holds G54-G59 positions even after power-down. Like the Centroid Acorn, the Masso is a near-commercial grade controller so I would be very surprised if that controller didn’t also hold user defined work offsets as well.

Yes, the masso holds all zero positions after shutdown.

It is not possible with the BB controller and even the creators and writers of the BB controller code have not implemented it yet.

1 Like