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

Here is my process:

  1. Run bed-leveling and save setting to EEPROM
  2. Make sure that software end-stops are off with S211 S0
  3. Move Nozzle to Z = 0.1 mm
  4. Use a .1 mm feeler gauge and baby-stepping to create a 0.1 mm nozzle height.
  5. Save the baby-stepping value.
  6. 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?

  • $\begingroup$ 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? $\endgroup$
    – Kezat
    Aug 18 '21 at 3:22
  • $\begingroup$ Is there a better homing command to use? How are others doing this? $\endgroup$
    – SvdSinner
    Aug 18 '21 at 16:44
  • $\begingroup$ All done by using the menu structure? You haven't send M851 Z... to the printer to store your offset? $\endgroup$
    – 0scar
    Aug 18 '21 at 21:35

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:
G0 Z0; (Z AXIS move to ZERO)
  • 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:

M851 Z[ insert z coordinate here -- see end of the answer ]
  • 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
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.