SET TO ORIGIN not working


I am trying to change the 0,0,0 starting point to another one (not the endstops point). So, i am moving it somewhere, then press "Set to origin" in quick settings menu and nothing changes. It still starts for the previous (original) starting point. I made a test g-code, which is:
G0 X0
G0 X100
After setting new origin a printer should immediately implement the second command, but unfortunatelly it firstly return back to zero and the goes to 100.
What is wrong?

Best regards!


  • Do you have a homing between these? Homing will delete all changed origins.
  • No, i have no homing command, just these two for moving
  • Ok, I think I see the error. ui.cpp line 3301 (current dev) should look like this

            case UI_ACTION_SET_ORIGIN:

                if(!allowMoves) return UI_ACTION_SET_ORIGIN;

                Printer::setOrigin(-Printer::currentPosition[X_AXIS], -Printer::currentPosition[Y_AXIS], -Printer::currentPosition[Z_AXIS]);


    Originally it had setOrigin(0,0,0) but the function sets offsets so 0 is wrong here.
  • So, what should i do to make it set origin properly?
  • Modify ui.cpp like I said or alternatively use latest dev version where I added the fix already.
  • Thank you very much, i'll try it!
Sign In or Register to comment.