M428 - Home Offsets Here

motion Set home offsets based on current position HAS_HOME_OFFSET


Use M428 to set a persistent offset to the native home position and coordinate space by assigning the current position as the native home position. See the example below.

  • The current position must be within 2cm from 0 or an endstop.
  • The current position is set to the native home position.
  • Any previous position shift from G92 is cleared.
  • The home offset is persistent — added to the current position until changed.
  • Some uses include fine adjustment of Z position (without moving endstops) and shifting the coordinate space to print on a different part of the bed.


Only the Z offset can be altered on DELTA.

This G-code can be disabled with NO_WORKSPACE_OFFSETS to optimize movement.

Changing the home offsets will not invalidate bed leveling or other saved data.

If EEPROM_SETTINGS is enabled, the home offsets are saved with M500, loaded with M501, and reset with M502.

Use M206 to set the home offsets directly.




What was X=10 becomes X=0. So the X home offset becomes -10.

G1 X10