<p>I know this is an old post, but I think I figured out the answer.</p>
<p>I had the EXACT SAME PROBLEM TODAY while trying to compile custom Marlin firmware (version 2.1.2.1) for the same exact setup as you have. My BLtouch probe is plugged into the dedicated probe header on the mainboard, and the Z endstop switch is also still plugged in. The bed probe wouldn't trigger while homing or bed leveling, and the nozzle would plow straight down.</p>
<p>The issue is in the firmware. The line <code>#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN</code> was not commented out in my <code>Configuration.h</code>. The printer was expecting an interrupt from the Z endstop switch. It wasn't looking for an interrupt from the bed probe, so the probe triggering wouldn't do anything, and it continued to move. Eventually, the nozzle would hit the bed. If you have this issue still, recompile your firmware with this line commented out in your <code>Configuration.h</code>, at around line 1280.</p>
<p>Please let me know if this works for you.</p>

CC BY-SA 4.0
2023-06-28T21:30:21.140Z
This is sadly as you said an old post, i have not attempted to use my BLTouch since then. I was a begginer then and i still consider myself a beginner. BUT everything you said aligns pretty good with my issues. I believe this might actually work. I will not guarantee i will try it. But after this post i might dig up my old BLTouch and give it another go. Just logged into my account after a long time and saw this :-). Thank you so much.
Ee0Rk
CC BY-SA 4.0
2023-06-06T22:58:45.447Z
2023-06-06T23:00:04.730Z
2023-06-06T23:00:04.730Z
ShibeDrill
<p>When starting the printer, the bed leveling sensor does its little startup thing and then lights up static red. When pressing &quot;Level Bed&quot; or &quot;Auto Home&quot; it homes X and Y and after that sends the Z-axis crashing into the bed.</p>
<p>Is there anything I can change in the firmware to debug or fix this? I have checked the wiring and it's correct.</p>
<p>The BLTouch is not a genuine Creality since at the time it for some reason was not available in my country. The BLTouch is connected like any other BLTouch; 2 wires to the Z endstop connector, and 3 of them to &quot;+5V&quot;, &quot;GNF&quot; and &quot;IN&quot;. The firmware I got of Marlins GitHub and modified the Ender 3 Pro firmware I got of Marlins configuration GitHub (Marlin BugFix 2.0).</p>
<p>The stuff I modified I put here:</p>
<p>Configuration.h</p>
<pre><code>#define USE_PROBE_FOR_Z_HOMING
#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { -42, -5, 0 }
#define AUTO_BED_LEVELING_BILINEAR
#define PREHEAT_BEFORE_LEVELING
#define LEVELING_BED_TEMP 65
#define GRID_MAX_POINTS_X 5
#define LCD_BED_LEVELING
#define Z_SAFE_HOMING
</code></pre>
<p>Configuration_adv.h</p>
<pre><code>#define BABYSTEP_ZPROBE_OFFSET 
</code></pre>
<p>I compiled this firmware with PlatformIO in VSCode with env: <code>STM32F103RET6_creality</code>.
The board I used is version 4.2.2 32-bit.</p>
<p>The video I used can be seen here:
<div class="youtube-embed"><div>
                <iframe width="640px" height="395px" src="https://www.youtube.com/embed/e1oOEzBuorI?start=0"></iframe>
            </div></div></p>

CC BY-SA 4.0
2022-01-11T13:57:40.867Z
Have you flashed a bootloader first? The original Ender3 came without a bootloader. See point 2: https://3dprinting.stackexchange.com/questions/12153/updating-marlin-firmware-step-by-step-guide
Trish
CC BY-SA 4.0
2022-01-11T15:06:20.847Z
@Trish No, if you have a 32 bit board you just need to put the new firmware on an sd card and it installs it. I have verified that it got the firmware so thats not a problem.
Ee0Rk
CC BY-SA 4.0
2022-01-11T15:58:37.153Z
That didn't work for the original, which had no bootloader and a 16 bit board
Trish
CC BY-SA 4.0
2022-01-11T17:06:33.090Z
The later Ender 3 Pros Shipped with V4 boards wich are 32 bit and comes with a bootloader that can firmware update from an sd card
Ee0Rk
<creality-ender-3><bltouch>
BLTouch not working on Creality Ender 3 Pro
Ee0Rk
# BLTouch not working on Creality Ender 3 Pro

(Asked by: username_0 on 2022-01-10)

When starting the printer, the bed leveling sensor does its little startup thing and then lights up static red. When pressing "Level Bed" or "Auto Home" it homes X and Y and after that sends the Z-axis crashing into the bed.

Is there anything I can change in the firmware to debug or fix this? I have checked the wiring and it's correct.

The BLTouch is not a genuine Creality since at the time it for some reason was not available in my country. The BLTouch is connected like any other BLTouch; 2 wires to the Z endstop connector, and 3 of them to "+5V", "GNF" and "IN". The firmware I got of Marlins GitHub and modified the Ender 3 Pro firmware I got of Marlins configuration GitHub (Marlin BugFix 2.0).

The stuff I modified I put here:

Configuration.h

```
#define USE_PROBE_FOR_Z_HOMING
#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { -42, -5, 0 }
#define AUTO_BED_LEVELING_BILINEAR
#define PREHEAT_BEFORE_LEVELING
#define LEVELING_BED_TEMP 65
#define GRID_MAX_POINTS_X 5
#define LCD_BED_LEVELING
#define Z_SAFE_HOMING

```

Configuration\_adv.h

```
#define BABYSTEP_ZPROBE_OFFSET 

```

I compiled this firmware with PlatformIO in VSCode with env: `STM32F103RET6_creality`.
The board I used is version 4.2.2 32-bit.

The video I used can be seen here:

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

> **Comments:**
> **username_1**: Have you flashed a bootloader first? The original Ender3 came without a bootloader. See point 2: https://3dprinting.stackexchange.com/questions/12153/updating-marlin-firmware-step-by-step-guide  
> **username_0**: @username_1 No, if you have a 32 bit board you just need to put the new firmware on an sd card and it installs it. I have verified that it got the firmware so thats not a problem.  
> **username_1**: That didn't work for the original, which had no bootloader and a 16 bit board  
> **username_0**: The later Ender 3 Pros Shipped with V4 boards wich are 32 bit and comes with a bootloader that can firmware update from an sd card  

---

## 1 answers

### Answer by username_2 on 2023-06-06. Score: 5 | Accepted answer

I know this is an old post, but I think I figured out the answer.

I had the EXACT SAME PROBLEM TODAY while trying to compile custom Marlin firmware (version 2.1.2.1) for the same exact setup as you have. My BLtouch probe is plugged into the dedicated probe header on the mainboard, and the Z endstop switch is also still plugged in. The bed probe wouldn't trigger while homing or bed leveling, and the nozzle would plow straight down.

The issue is in the firmware. The line `#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN` was not commented out in my `Configuration.h`. The printer was expecting an interrupt from the Z endstop switch. It wasn't looking for an interrupt from the bed probe, so the probe triggering wouldn't do anything, and it continued to move. Eventually, the nozzle would hit the bed. If you have this issue still, recompile your firmware with this line commented out in your `Configuration.h`, at around line 1280.

Please let me know if this works for you.

> **Comments:**
> **username_0**: This is sadly as you said an old post, i have not attempted to use my BLTouch since then. I was a begginer then and i still consider myself a beginner. BUT everything you said aligns pretty good with my issues. I believe this might actually work. I will not guarantee i will try it. But after this post i might dig up my old BLTouch and give it another go. Just logged into my account after a long time and saw this :-). Thank you so much.  

---

