This page is under construction and may not have complete or up-to-date information.
Description
Machine dimensions, limits, and homing.
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.
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
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
Minimum X position.
The minimum X position (hard limit) of the machine.
Example
#define X_MIN_POS -4
Maximum X position.
The maximum X position (hard limit) of the machine.
Example
#define X_MAX_POS X_BED_SIZE + 10
Minimum Y position.
The minimum Y position (hard limit) of the machine.
Example
#define Y_MIN_POS -4
Maximum Y position.
The maximum Y position (hard limit) of the machine.
Example
#define Y_MAX_POS Y_BED_SIZE + 8
Minimum Z position.
The minimum Z position (hard limit) of the machine.
Example
#define Z_MIN_POS 0
Maximum Z position.
The maximum Z position (hard limit) of the machine.
Example
#define Z_MAX_POS 300
Minimum I position.
The minimum I position (hard limit) of the machine.
Example
#define I_MIN_POS 0
Maximum I position.
The maximum I position (hard limit) of the machine.
Example
#define I_MAX_POS 45
Minimum J position.
The minimum J position (hard limit) of the machine.
Example
#define J_MIN_POS 0
Maximum J position.
The maximum J position (hard limit) of the machine.
Example
#define J_MAX_POS 180
Minimum K position.
The minimum K position (hard limit) of the machine.
Example
#define K_MIN_POS 0
Maximum K position.
The maximum K position (hard limit) of the machine.
Example
#define K_MAX_POS 0
Minimum U position.
The minimum U position (hard limit) of the machine.
Example
#define U_MIN_POS 0
Maximum U position.
The maximum U position (hard limit) of the machine.
Example
#define U_MAX_POS 0
Minimum V position.
The minimum V position (hard limit) of the machine.
Example
#define V_MIN_POS 0
Maximum V position.
The maximum V position (hard limit) of the machine.
Example
#define V_MAX_POS 0
Minimum W position.
The minimum W position (hard limit) of the machine.
Example
#define W_MIN_POS 0
Maximum W position.
The maximum W position (hard limit) of the machine.
Example
#define W_MAX_POS 0
Homing direction of the X axis.
The direction of the X axis when homing.
Example
#define X_HOME_DIR -1
Homing direction of the Y axis.
The direction of the Y axis when homing.
Example
#define Y_HOME_DIR -1
Homing direction of the Z axis.
The direction of the Z axis when homing.
Example
#define Z_HOME_DIR 0
Homing direction of the I axis.
The direction of the I axis when homing.
Example
#define I_HOME_DIR 0
Homing direction of the J axis.
The direction of the J axis when homing.
Example
#define J_HOME_DIR 0
Homing direction of the K axis.
The direction of the K axis when homing.
Example
#define K_HOME_DIR 0
Homing direction of the U axis.
The direction of the U axis when homing.
Example
#define U_HOME_DIR 0
Homing direction of the V axis.
The direction of the V axis when homing.
Example
#define V_HOME_DIR 0
Homing direction of the W axis.
The direction of the W axis when homing.
Example
#define W_HOME_DIR 0
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
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
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
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
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
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
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
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
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
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
X axis software endstop.
Enable the use of software endstops on the X axis.
Example
#define MIN_SOFTWARE_ENDSTOP_X true
Y axis software endstop.
Enable the use of software endstops on the Y axis.
Example
#define MIN_SOFTWARE_ENDSTOP_Y true
Z axis software endstop.
Enable the use of software endstops on the Z axis.
Example
#define MIN_SOFTWARE_ENDSTOP_Z true
I axis software endstop.
Enable the use of software endstops on the I axis.
Example
#define MIN_SOFTWARE_ENDSTOP_I true
J axis software endstop.
Enable the use of software endstops on the J axis.
Example
#define MIN_SOFTWARE_ENDSTOP_J true
K axis software endstop.
Enable the use of software endstops on the K axis.
Example
#define MIN_SOFTWARE_ENDSTOP_K true
U axis software endstop.
Enable the use of software endstops on the U axis.
Example
#define MIN_SOFTWARE_ENDSTOP_U true
V axis software endstop.
Enable the use of software endstops on the V axis.
Example
#define MIN_SOFTWARE_ENDSTOP_V true
W axis software endstop.
Enable the use of software endstops on the W axis.
Example
#define MIN_SOFTWARE_ENDSTOP_W true
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
X axis software endstop.
Enable the use of software endstops on the X axis.
Example
#define MAX_SOFTWARE_ENDSTOP_X true
Y axis software endstop.
Enable the use of software endstops on the Y axis.
Example
#define MAX_SOFTWARE_ENDSTOP_Y true
Z axis software endstop.
Enable the use of software endstops on the Z axis.
Example
#define MAX_SOFTWARE_ENDSTOP_Z true
I axis software endstop.
Enable the use of software endstops on the I axis.
Example
#define MAX_SOFTWARE_ENDSTOP_I true
J axis software endstop.
Enable the use of software endstops on the J axis.
Example
#define MAX_SOFTWARE_ENDSTOP_J true
K axis software endstop.
Enable the use of software endstops on the K axis.
Example
#define MAX_SOFTWARE_ENDSTOP_K true
U axis software endstop.
Enable the use of software endstops on the U axis.
Example
#define MAX_SOFTWARE_ENDSTOP_U true
V axis software endstop.
Enable the use of software endstops on the V axis.
Example
#define MAX_SOFTWARE_ENDSTOP_V true