How to Disable Software Endstops using G-Code in Marlin

If you move your 3D printer or CNC machine manually using G commands and at some point device stops moving, it might be due to hitting software endstops.

Marlin has the ideas of software endstops. This is an additional security measure that is designed to protect the printer from exceeding the axis limits. Axis limits are taken from [XYZ]_MIN_POS and [XYZ]_MAX_POS parameters.

They might become problematic in some procedures like for example bed leveling or any other operations during which we consciously need to exceed the axis limits.

Good news is that you can easily turn software endstops off using GCode.

Turn Software Endstops Off

To turn software endstops off execute command M211 with parameter S0

M211 S0

In return you will be given the current state of endstops and min/max values for them:

Soft endstops: Off Min: X-33.00 Y-10.00 Z0.00 Max: X220.00 Y220.00 Z240.00

Turn Software Endstops On

Similar, to turn software endstops on execute command M211 with parameter S1

M211 S1

In return you will be given the current state of endstops and min/max values for them:

Soft endstops: On Min: X-33.00 Y-10.00 Z0.00 Max: X220.00 Y220.00 Z240.00

1 thought on “How to Disable Software Endstops using G-Code in Marlin”

  1. I have the problem where my Z will not go below zero and even after the M211 Z0 using Pronterface it still won’t allow me to go below zero ??? This is on an Ender 3 v2 with 4.2.7 board upgrade and Creality run out sensor and new style Creality CR Touch ….Can anybody please help

    Reply

Leave a Comment