<p>I have an Ender 3 pro and BLTouch and the following procedure works for me, I'll post it because it should be quite the same for all the Creality printers:</p>
<ul>
<li>First of all install <strong>Pronterface</strong> (from the PrintRun software suite), a program that let you interact with the printer from the PC.</li>
<li>Find a USB to mini-USB cable (the port on your printer should be a mini-USB) and connect the PC with the printer</li>
<li>Choose the right COM port between the PC and the printer (you can find the correct one opening the &quot;device manager&quot; on Windows and searching for &quot;COM PORTS&quot;</li>
<li>Then you can connect the printer with the PC and start to interact with it.</li>
<li>From the command line I send the following:</li>
</ul>
<pre><code>G28; (AUTO HOME)
G0 Z0; (Z AXIS move to ZERO)
M211 S0; (DISABLES ENDSTOPS)
</code></pre>
<ul>
<li><p>Then you raise/lower the nozzle from the bed using the &quot;buttons&quot; on the left part of Pronterface, until you find the perfect height (use the piece of paper method). Usually I just calibrate the height in the middle of the bed and that's fair enough if you have leveled the complete bed manually.</p>
</li>
<li><p>When you have found the perfect height for the Z axis, input the following lines:</p>
</li>
</ul>
<pre><code>M114; (GET COORDINATES)
M851 Z[ insert z coordinate here -- see end of the answer ]
M211 S1; (ENABLES ENDSTOPS)
M500; (SAVE VALUES in MEMORY)
</code></pre>
<ul>
<li>After that you should be done. Send again <code>G28</code> and <code>G0 Z0</code> to check if the printer head is now at the correct height: repeat the process above if it's not.</li>
</ul>
<p>When you calculate the Z height in the <code>M851</code> command, bear in mind that you have to do the following:</p>
<p><em>new Z height = old Z height + height corrections done in pronterface</em></p>
<p>For example: my <em>old Z height was -0.2</em> , I <em>lowered the nozzle by -0.5 with Pronterface</em> (to get the nozzle closer to the bed), then my <em>new Z height would be -0.7</em></p>
<p>My start G-CODE in Cura is:</p>
<pre><code>G92 E0 ; Reset Extruder
G28
G29 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
</code></pre>

CC BY-SA 4.0
2021-09-06T09:37:52.247Z
2021-09-06T10:07:41.267Z
2021-09-06T10:07:41.267Z
NerfWarrior282
<p>I just upgraded my CR-10 to a 32-bit board with Marlin and a BLTouch for bed-leveling.</p>
<p>Here is my process:</p>
<ol>
<li>Run bed-leveling and save setting to EEPROM</li>
<li>Make sure that software end-stops are off with <code>S211 S0</code></li>
<li>Move Nozzle to Z = 0.1 mm</li>
<li>Use a .1 mm feeler gauge and baby-stepping to create a 0.1 mm nozzle height.</li>
<li>Save the baby-stepping value.</li>
<li>Run print.</li>
</ol>
<p>The print then shoves the nozzle well below bed level and scratches up the bed.</p>
<p>I use the following G-code at the start of each print.  (Added by my slicer)</p>
<pre><code>    G28 ; home all axes
    M420 S1 Z25; Enable Bed mesh leveling
</code></pre>
<p>What am I doing wrong?</p>

CC BY-SA 4.0
2021-08-18T03:22:55.143Z
Correct me if im wrong. I would think the G28 home command at the start of your Gcode will undo any calibration you did to baby step. Is the baby step value saved as a slicer offset? Or some other way?
Kezat
CC BY-SA 4.0
2021-08-18T16:44:51.063Z
Is there a better homing command to use?  How are others doing this?
SvdSinner
CC BY-SA 4.0
2021-08-18T21:35:38.917Z
All done by using the menu structure? You haven't send `M851 Z...` to the printer to store your offset?
0scar
<bed-leveling><nozzle>
Z-Probe height isn't working
SvdSinner
# Z-Probe height isn't working

(Asked by: username_0 on 2021-08-17)

I just upgraded my CR-10 to a 32-bit board with Marlin and a BLTouch for bed-leveling.
Here is my process:

Run bed-leveling and save setting to EEPROM
Make sure that software end-stops are off with S211 S0
Move Nozzle to Z = 0.1 mm
Use a .1 mm feeler gauge and baby-stepping to create a 0.1 mm nozzle height.
Save the baby-stepping value.
Run print.

The print then shoves the nozzle well below bed level and scratches up the bed.
I use the following G-code at the start of each print.  (Added by my slicer)
    G28 ; home all axes
    M420 S1 Z25; Enable Bed mesh leveling

What am I doing wrong?

**Tags:** bed-leveling, nozzle
> **Comments:**
> **username_1**: Correct me if im wrong. I would think the G28 home command at the start of your Gcode will undo any calibration you did to baby step. Is the baby step value saved as a slicer offset? Or some other way?  
> **username_0**: Is there a better homing command to use?  How are others doing this?  
> **username_2**: All done by using the menu structure? You haven't send `M851 Z...` to the printer to store your offset?  

---

## 1 answers

### Answer by username_3 on 2021-09-06. Score: 0

I have an Ender 3 pro and BLTouch and the following procedure works for me, I'll post it because it should be quite the same for all the Creality printers:

First of all install Pronterface (from the PrintRun software suite), a program that let you interact with the printer from the PC.
Find a USB to mini-USB cable (the port on your printer should be a mini-USB) and connect the PC with the printer
Choose the right COM port between the PC and the printer (you can find the correct one opening the "device manager" on Windows and searching for "COM PORTS"
Then you can connect the printer with the PC and start to interact with it.
From the command line I send the following:

G28; (AUTO HOME)
G0 Z0; (Z AXIS move to ZERO)
M211 S0; (DISABLES ENDSTOPS)


Then you raise/lower the nozzle from the bed using the "buttons" on the left part of Pronterface, until you find the perfect height (use the piece of paper method). Usually I just calibrate the height in the middle of the bed and that's fair enough if you have leveled the complete bed manually.

When you have found the perfect height for the Z axis, input the following lines:


M114; (GET COORDINATES)
M851 Z[ insert z coordinate here -- see end of the answer ]
M211 S1; (ENABLES ENDSTOPS)
M500; (SAVE VALUES in MEMORY)


After that you should be done. Send again G28 and G0 Z0 to check if the printer head is now at the correct height: repeat the process above if it's not.

When you calculate the Z height in the M851 command, bear in mind that you have to do the following:
new Z height = old Z height + height corrections done in pronterface
For example: my old Z height was -0.2 , I lowered the nozzle by -0.5 with Pronterface (to get the nozzle closer to the bed), then my new Z height would be -0.7
My start G-CODE in Cura is:
G92 E0 ; Reset Extruder
G28
G29 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish


---

