# Z-min always open when using BLtouch and Marlin 2.0

I recently added a Creality BLTouch v3.1 to my Ender 3 which has a MKS Base v 1.6 motherboard and is running Marlin 2.0, but the Z-min never triggers.

I have made sure that the BLTouch unit lights up, uses the provided mount for the Ender 3 to get proper placement and is connected to the Z-min pins. Additionally, I have followed multiple youtube videos for connecting/setting the right parameters for the sensor. However, I haven't found the right combo.

I have tried both BLTouch and Creality BLTouch, different pin number assignments (other than the standard Z-min pin), but the status doesn't change with or without the sensor pushed in. Looking for suggestions on settings to apply, or if anyone has had this issue.

See pictures below:

1. Connection to motherboard, tried using the other pin on the z min, and switching the black/white wires to see if they we're connecting wrong.
2. BLTouch depressed which lights up as expected.
3. BLTouch not illuminated when open.

• I updated the firmware and enabled BLTOUCH as well as AUTO_BED_LEVELING_LINEAR. When I powered on the printer, the unit does a self test and returns to the "triggered" position and the light is on, however Marlin still sees it as open. I also have Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN defined so I would expect it to recognize the BLTOUCH status correctly. Jan 26 at 20:18
• What do you mean with "Marlin still sees it as open"? Please update the PasteBin files with the latest configuration edits, the first posted are now out of date.
– 0scar
Jan 27 at 8:41
• Only changed Configuration.h so here's the link for that pastebin.com/r72JJTya If I run M119 to check the end stop statuses, Marlin only shows the Z stop as "Open". I can trigger the BLTouch and see that the light is red, but after issuing the M119 command, Marlin tells me Recv: z_min: open. If I pull out the sensor on the BLTouch and the light is off, I get the same message from the M119 command. I also tried this on all 4 server pin sets just in case I hadn't put the correct pin in my config, and each time the BLTouch completed the self test as expected. Jan 27 at 16:51
• Why would you want to run M119 with a BLTouch? That doesn't make sense to me, furthermore it is the first time I ever heard anybody do that. The documentation already expresses that you cannot do that! The BLTOUCH probe only sends a brief pulse, so “TRIGGERED” indicates the probe is in error state. So, your status being open is a good thing!
– 0scar
Jan 28 at 7:47
• Hi, did the answer help? If so, please mark as the accepted answer, in order to remove the question from the unanswered queue. Thanks Jan 28 at 8:15

In order to use a BLTouch probe (or clone probe) you need to configure the firmware to know that a servo operated Z endstop is being used.

From the referenced files that are used for building the firmware you are running can be found in the configuration.h that:

/**
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
*/
//#define BLTOUCH


When using a servo port operated probe (position of the servo corresponds to a certain action) such as the BLTouch, 3DTouch, etc. you need to configure using it as such:

/**
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
*/
#define BLTOUCH


Furthermore, you need to be sure to connect the cables of the touch probe according to the pin arrangement as defined for you controller board.

E.g. #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN could be used to re-use the Z-min endstop connector on the board.

Note that when using a touch probe (which is a sophisticated sensor with it's own onboardmicro-processor with dedicated firmware), you cannot use M119, the endstop status from the touch sensor cannot be read from the output of the command. According to "Marlin documentation", The BLTOUCH probe only sends a brief pulse, so “TRIGGERED” indicates the probe is in error state..