This page is under construction and may not have complete or up-to-date information.

thinkyhead

Geometry

Description

Machine dimensions, limits, and homing.

geometry

Use these options to define the machine geometry, including the size of the bed, the maximum X and Y positions, etc. These are the most basic settings for every type of machine that Marlin supports.

2.0.0

#define X_BED_SIZE int

X size of the bed.

The X size of the bed. This is used to calculate the number of steps needed to move the X axis.

Example
#define X_BED_SIZE 250
2.0.0

#define Y_BED_SIZE int

Y size of the bed.

The Y size of the bed. This is used to calculate the number of steps needed to move the Y axis.

Example
#define Y_BED_SIZE 240
1.0.0

#define X_MIN_POS int

Minimum X position.

The minimum X position (hard limit) of the machine.

Example
#define X_MIN_POS -4
1.0.0

#define X_MAX_POS int

Maximum X position.

The maximum X position (hard limit) of the machine.

Example
#define X_MAX_POS X_BED_SIZE + 10
1.0.0

#define Y_MIN_POS int

Minimum Y position.

The minimum Y position (hard limit) of the machine.

Example
#define Y_MIN_POS -4
1.0.0

#define Y_MAX_POS int

Maximum Y position.

The maximum Y position (hard limit) of the machine.

Example
#define Y_MAX_POS Y_BED_SIZE + 8
1.0.0

#define Z_MIN_POS int

Minimum Z position.

The minimum Z position (hard limit) of the machine.

Example
#define Z_MIN_POS 0
1.0.0

#define Z_MAX_POS int

Maximum Z position.

The maximum Z position (hard limit) of the machine.

Example
#define Z_MAX_POS 300
2.0.0

#define I_MIN_POS int

Minimum I position.

The minimum I position (hard limit) of the machine.

Example
#define I_MIN_POS 0
2.0.0

#define I_MAX_POS int

Maximum I position.

The maximum I position (hard limit) of the machine.

Example
#define I_MAX_POS 45
2.0.0

#define J_MIN_POS int

Minimum J position.

The minimum J position (hard limit) of the machine.

Example
#define J_MIN_POS 0
2.0.0

#define J_MAX_POS int

Maximum J position.

The maximum J position (hard limit) of the machine.

Example
#define J_MAX_POS 180
2.0.0

#define K_MIN_POS int

Minimum K position.

The minimum K position (hard limit) of the machine.

Example
#define K_MIN_POS 0
2.0.0

#define K_MAX_POS int

Maximum K position.

The maximum K position (hard limit) of the machine.

Example
#define K_MAX_POS 0
2.0.0

#define U_MIN_POS int

Minimum U position.

The minimum U position (hard limit) of the machine.

Example
#define U_MIN_POS 0
2.0.0

#define U_MAX_POS int

Maximum U position.

The maximum U position (hard limit) of the machine.

Example
#define U_MAX_POS 0
2.0.0

#define V_MIN_POS int

Minimum V position.

The minimum V position (hard limit) of the machine.

Example
#define V_MIN_POS 0
2.0.0

#define V_MAX_POS int

Maximum V position.

The maximum V position (hard limit) of the machine.

Example
#define V_MAX_POS 0
2.0.0

#define W_MIN_POS int

Minimum W position.

The minimum W position (hard limit) of the machine.

Example
#define W_MIN_POS 0
2.0.0

#define W_MAX_POS int

Maximum W position.

The maximum W position (hard limit) of the machine.

Example
#define W_MAX_POS 0
1.0.0

#define X_HOME_DIR int

Homing direction of the X axis.

The direction of the X axis when homing.

Options: -1, 0, 1
Example
#define X_HOME_DIR -1
1.0.0

#define Y_HOME_DIR int

Homing direction of the Y axis.

The direction of the Y axis when homing.

Options: -1, 0, 1
Example
#define Y_HOME_DIR -1
1.0.0

#define Z_HOME_DIR int

Homing direction of the Z axis.

The direction of the Z axis when homing.

Options: -1, 0, 1
Example
#define Z_HOME_DIR 0
2.0.0

#define I_HOME_DIR int

Homing direction of the I axis.

The direction of the I axis when homing.

Options: -1, 0, 1
Example
#define I_HOME_DIR 0
2.0.0

#define J_HOME_DIR int

Homing direction of the J axis.

The direction of the J axis when homing.

Options: -1, 0, 1
Example
#define J_HOME_DIR 0
2.0.0

#define K_HOME_DIR int

Homing direction of the K axis.

The direction of the K axis when homing.

Options: -1, 0, 1
Example
#define K_HOME_DIR 0
2.0.0

#define U_HOME_DIR int

Homing direction of the U axis.

The direction of the U axis when homing.

Options: -1, 0, 1
Example
#define U_HOME_DIR 0
2.0.0

#define V_HOME_DIR int

Homing direction of the V axis.

The direction of the V axis when homing.

Options: -1, 0, 1
Example
#define V_HOME_DIR 0
2.0.0

#define W_HOME_DIR int

Homing direction of the W axis.

The direction of the W axis when homing.

Options: -1, 0, 1
Example
#define W_HOME_DIR 0
1.0.0

#define MANUAL_X_HOME_POS int

Explicit X axis home position.

The position of the X axis when homed. Leave this undefined to use X_MIN_POS or X_MAX_POS (depending on homing direction).

Example
#define MANUAL_X_HOME_POS -1
1.0.0

#define MANUAL_Y_HOME_POS int

Explicit Y axis home position.

The position of the Y axis when homed. Leave this undefined to use Y_MIN_POS or Y_MAX_POS (depending on homing direction).

Example
#define MANUAL_Y_HOME_POS -1
1.0.0

#define MANUAL_Z_HOME_POS int

Explicit Z axis home position.

The position of the Z axis when homed. Leave this undefined to use Z_MIN_POS or Z_MAX_POS (depending on homing direction).

Example
#define MANUAL_Z_HOME_POS 1
2.0.0

#define MANUAL_I_HOME_POS int

Explicit I axis home position.

The position of the I axis when homed. Leave this undefined to use I_MIN_POS or I_MAX_POS (depending on homing direction).

Example
#define MANUAL_I_HOME_POS 0
2.0.0

#define MANUAL_J_HOME_POS int

Explicit J axis home position.

The position of the J axis when homed. Leave this undefined to use J_MIN_POS or J_MAX_POS (depending on homing direction).

Example
#define MANUAL_J_HOME_POS 0
2.0.0

#define MANUAL_K_HOME_POS int

Explicit K axis home position.

The position of the K axis when homed. Leave this undefined to use K_MIN_POS or K_MAX_POS (depending on homing direction).

Example
#define MANUAL_K_HOME_POS 0
2.0.0

#define MANUAL_U_HOME_POS int

Explicit U axis home position.

The position of the U axis when homed. Leave this undefined to use U_MIN_POS or U_MAX_POS (depending on homing direction).

Example
#define MANUAL_U_HOME_POS 0
2.0.0

#define MANUAL_V_HOME_POS int

Explicit V axis home position.

The position of the V axis when homed. Leave this undefined to use V_MIN_POS or V_MAX_POS (depending on homing direction).

Example
#define MANUAL_V_HOME_POS 0
2.0.0

#define MANUAL_W_HOME_POS int

Explicit W axis home position.

The position of the W axis when homed. Leave this undefined to use W_MIN_POS or W_MAX_POS (depending on homing direction).

Example
#define MANUAL_W_HOME_POS 0
2.0.0

#define MIN_SOFTWARE_ENDSTOP

Min software endstops.

Enable the use of minimum software endstops. Software endstops prevent the machine from moving outside the set machine bounds.

Example
#define MIN_SOFTWARE_ENDSTOP true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_X

X axis software endstop.

Enable the use of software endstops on the X axis.

Example
#define MIN_SOFTWARE_ENDSTOP_X true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_Y

Y axis software endstop.

Enable the use of software endstops on the Y axis.

Example
#define MIN_SOFTWARE_ENDSTOP_Y true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_Z

Z axis software endstop.

Enable the use of software endstops on the Z axis.

Example
#define MIN_SOFTWARE_ENDSTOP_Z true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_I

I axis software endstop.

Enable the use of software endstops on the I axis.

Example
#define MIN_SOFTWARE_ENDSTOP_I true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_J

J axis software endstop.

Enable the use of software endstops on the J axis.

Example
#define MIN_SOFTWARE_ENDSTOP_J true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_K

K axis software endstop.

Enable the use of software endstops on the K axis.

Example
#define MIN_SOFTWARE_ENDSTOP_K true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_U

U axis software endstop.

Enable the use of software endstops on the U axis.

Example
#define MIN_SOFTWARE_ENDSTOP_U true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_V

V axis software endstop.

Enable the use of software endstops on the V axis.

Example
#define MIN_SOFTWARE_ENDSTOP_V true
2.0.0

#define MIN_SOFTWARE_ENDSTOP_W

W axis software endstop.

Enable the use of software endstops on the W axis.

Example
#define MIN_SOFTWARE_ENDSTOP_W true
2.0.0

#define MAX_SOFTWARE_ENDSTOP

Max software endstops.

Enable the use of software endstops. Software endstops are used to prevent the machine from moving outside the set machine bounds.

Example
#define MAX_SOFTWARE_ENDSTOP true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_X

X axis software endstop.

Enable the use of software endstops on the X axis.

Example
#define MAX_SOFTWARE_ENDSTOP_X true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_Y

Y axis software endstop.

Enable the use of software endstops on the Y axis.

Example
#define MAX_SOFTWARE_ENDSTOP_Y true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_Z

Z axis software endstop.

Enable the use of software endstops on the Z axis.

Example
#define MAX_SOFTWARE_ENDSTOP_Z true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_I

I axis software endstop.

Enable the use of software endstops on the I axis.

Example
#define MAX_SOFTWARE_ENDSTOP_I true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_J

J axis software endstop.

Enable the use of software endstops on the J axis.

Example
#define MAX_SOFTWARE_ENDSTOP_J true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_K

K axis software endstop.

Enable the use of software endstops on the K axis.

Example
#define MAX_SOFTWARE_ENDSTOP_K true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_U

U axis software endstop.

Enable the use of software endstops on the U axis.

Example
#define MAX_SOFTWARE_ENDSTOP_U true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_V

V axis software endstop.

Enable the use of software endstops on the V axis.

Example
#define MAX_SOFTWARE_ENDSTOP_V true
2.0.0

#define MAX_SOFTWARE_ENDSTOP_W

W axis software endstop.

Enable the use of software endstops on the W axis.

Example
#define MAX_SOFTWARE_ENDSTOP_W true