Tune Sensorless Homing
If your machine is homing the X or Y axis too early, or not registering that it's hit the end of travel, use this guide to tune sensorless homing.
M914 Command
Sensorless homing sensitivity is set using the M914 Gcode command. For more information, check out Marlin's M914 documentation.
- Connect to your machine.
- In OpenPnP, navigate to
Machine Setup
>Drivers
>GcodeDriver
>Gcode Tab
>Setting
:CONNECT_COMMAND
. - Find the line of Gcode starting with
M914
. Find the number after the axis you're trying to tune. This number is your starting point. - Now, navigate to
Machine Setup
>Drivers
>GcodeDriver
>Console
. - Test homing the axis in question by sending a line of Gcode with the console. For the X axis, send
G28 X
. For the Y axis, sendG28 Y
. - If the axis doesn't reach the end of travel and "homes" too early, we need to make homing less sensitive. This is done by lowering the value in the M914 command.
- In the Console, send
M914 <AXIS><NEW_VALUE>
where<AXIS>
is eitherX
orY
, and<NEW_VALUE>
is slightly less than the starting point number you found in yourCONNECT_COMMAND
. For example,M914 X35
. - Try homing the axis again.
- If it still homes too early, repeat setting the value lower and rehoming until it homes correctly.
- In the Console, send
- If the axis reaches the end of travel and doesn't stop moving the motors, we need to make homing more sensitive. This is done by raising the value in the M914 command.
- When Marlin fails to home an axis after a certain amount of time, it halts as a safety precaution. You might need to reset your LumenPnP and reconnect to continue.
- In the Console, send
M914 <AXIS><NEW_VALUE>
where<AXIS>
is eitherX
orY
, and<NEW_VALUE>
is slightly more than the starting point number you found in yourCONNECT_COMMAND
. For example,M914 X45
. - Try homing the axis again.
- If it still doesn't home correctly, repeat setting the value higher and rehoming until it homes correctly.
- After you've found good values, add the new values to your
CONNECT_COMMAND
in the formatM914 X<NEW_VALUE> Y<NEW_VALUE>
. If there's already a line withM914
in yourCONNECT_COMMAND
, edit that one instead. - Hit "Apply" to save your changes. The new sensorless values will be applied the next time you connect to your machine from OpenPnP.