<p>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.</p>
<p>From the referenced files that are used for building the firmware you are running can be found in the configuration.h that:</p>
<pre><code>/**
 * The BLTouch probe uses a Hall effect sensor and emulates a servo.
 */
//#define BLTOUCH
</code></pre>
<p>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:</p>
<pre><code>/**
 * The BLTouch probe uses a Hall effect sensor and emulates a servo.
 */
#define BLTOUCH
</code></pre>
<p>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.</p>
<p>E.g. <code>#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN</code> could be used to re-use the Z-min endstop connector on the board.</p>
<hr />
<p><em>Note that when using a touch probe (which is a sophisticated sensor with it's own onboardmicro-processor with dedicated firmware), you cannot use <code>M119</code>, the endstop status from the touch sensor cannot be read from the output of the command. According to <a href="https://marlinfw.org/docs/gcode/M119.html" rel="nofollow noreferrer">&quot;Marlin documentation&quot;</a>, <code>The BLTOUCH probe only sends a brief pulse, so “TRIGGERED” indicates the probe is in error state.</code>.</em></p>

CC BY-SA 4.0
2021-01-26T14:46:52.890Z
2021-01-28T09:04:13.553Z
2021-01-28T09:04:13.553Z
0scar
<p>I recently added a <a href="https://rads.stackoverflow.com/amzn/click/com/B082VSB9VP" rel="nofollow noreferrer" rel="nofollow noreferrer">Creality BLTouch v3.1</a> 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.</p>
<p>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.</p>
<p>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.</p>
<p>See pictures below:</p>
<ol>
<li>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.</li>
<li>BLTouch depressed which lights up as expected.</li>
<li>BLTouch not illuminated when open.</li>
</ol>
<p><a href="https://i.sstatic.net/3QutS.jpg" rel="nofollow noreferrer" title="Motherboard connections"><img src="https://i.sstatic.net/3QutS.jpg" alt="Motherboard connections" title="Motherboard connections" /></a></p>
<p><a href="https://i.sstatic.net/RU6aq.jpg" rel="nofollow noreferrer" title="BLTouch depressed &amp; illuminated"><img src="https://i.sstatic.net/RU6aq.jpg" alt="BLTouch depressed &amp; illuminated" title="BLTouch depressed &amp; illuminated" /></a></p>
<p><a href="https://i.sstatic.net/yo4el.jpg" rel="nofollow noreferrer" title="BLTouch open &amp; not illuminated"><img src="https://i.sstatic.net/yo4el.jpg" alt="BLTouch open &amp; not illuminated" title="BLTouch open &amp; not illuminated" /></a></p>

CC BY-SA 4.0
2021-01-26T20:18:23.680Z
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.
Keith Rawson
CC BY-SA 4.0
2021-01-27T08:41:08.223Z
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
CC BY-SA 4.0
2021-01-27T16:51:26.280Z
Only changed Configuration.h so here's the link for that https://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.
Keith Rawson
CC BY-SA 4.0
2021-01-28T07:47:12.970Z
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](https://marlinfw.org/docs/gcode/M119.html) 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
CC BY-SA 4.0
2021-01-29T17:28:18.397Z
Ah I had missed that bit. That's good to know that the seeing the `open` status is good in this case. Through Octoprint I tried to run the bed leveling function which called `G28` command, but during the homing process, the Z axis kept trying to decrease and ran into the physical stop on the Z axis. If I take out the physical stop, the hot end continues to press down on the bed, so I end up killing power to the printer. I have set the probe offset to what others have said is right for the Ender3, but the printer tries to home where X=0 and Y=0.
Keith Rawson
<marlin><creality-ender-3><bltouch>
Z-min always open when using BLtouch and Marlin 2.0
Keith Rawson
# Z-min always open when using BLtouch and Marlin 2.0

(Asked by: username_0 on 2021-01-07)

I recently added a [Creality BLTouch v3.1](https://rads.stackoverflow.com/amzn/click/com/B082VSB9VP) 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.

[![Motherboard connections](https://i.sstatic.net/3QutS.jpg "Motherboard connections")](https://i.sstatic.net/3QutS.jpg "Motherboard connections")

[![BLTouch depressed & illuminated](https://i.sstatic.net/RU6aq.jpg "BLTouch depressed & illuminated")](https://i.sstatic.net/RU6aq.jpg "BLTouch depressed & illuminated")

[![BLTouch open & not illuminated](https://i.sstatic.net/yo4el.jpg "BLTouch open & not illuminated")](https://i.sstatic.net/yo4el.jpg "BLTouch open & not illuminated")

**Tags:** marlin, creality-ender-3, bltouch

> **Comments:**
> **username_0**: 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.  
> **username_1**: 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.  
> **username_0**: Only changed Configuration.h so here's the link for that https://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.  
> **username_1**: 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](https://marlinfw.org/docs/gcode/M119.html) 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!  
> **username_0**: Ah I had missed that bit. That's good to know that the seeing the `open` status is good in this case. Through Octoprint I tried to run the bed leveling function which called `G28` command, but during the homing process, the Z axis kept trying to decrease and ran into the physical stop on the Z axis. If I take out the physical stop, the hot end continues to press down on the bed, so I end up killing power to the printer. I have set the probe offset to what others have said is right for the Ender3, but the printer tries to home where X=0 and Y=0.  

---

## 1 answers

### Answer by username_1 on 2021-01-26. Score: 1

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"](https://marlinfw.org/docs/gcode/M119.html), `The BLTOUCH probe only sends a brief pulse, so “TRIGGERED” indicates the probe is in error state.`.*


---

