# LinuxCNC G30.1

Instructions · `G30.1` · verification: source checked

G30.1 is a LinuxCNC G-code that stores the current absolute position into parameters 5181-5186. The stored values form the predefined position used by the G30 command, which makes a rapid move to the values held in parameters 5181-5189 for all axes defined in the INI file. If no position has been stored with G30.1, a G30 move sends all axes to the machine origin.

## Specification

| Property | Value |
|---|---|
| Language | gcode |
| Code | G30.1 |
| Group | Go/Set Predefined Position |
| Syntax | G30.1 |
| Dialect | LinuxCNC |

## Safety

- Only use G30 when the machine is homed to a repeatable position and the desired G30 position has been stored with G30.1.
- It is an error if cutter compensation is turned on when G30/G30.1 is used.

## Study notes

- G30 functions the same as G28 but uses the values stored in parameters 5181-5189 as the X Y Z A B C U V W final point to move to.
- Parameter values used by G30 are absolute machine coordinates in the native machine units as specified in the INI file.
- All axes defined in the INI file will be moved when a G30 is issued; with G30 axes, any axis not specified will not move.
- G30.1 stores the current absolute position into parameters 5181-5186.
- If TOOL_CHANGE_AT_G30=1 is set in the [EMCIO] section of the INI file, G30 parameters are used to move the tool when an M6 is programmed.

## Sources

1. [G-Codes](https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g30-g30.1) (accessed 2026-10-26)

---

Source page: https://machineschema.com/instruction/gcode-g30-1  
JSON: https://machineschema.com/instruction/gcode-g30-1.json  
License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Cite Machine Schema and the original sources.
