Bed Mesh Error

Basic Information:

Printer Model: Ender 3 lots of mods
MCU / Printerboard: 4.2.7
Host / SBC Pi
klippy.log

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

So for giggles and a learning curve I decided to try Cura slicer. … well now I have issues

The process I went through was to copy and save the entire klipper macro cfg file, then I replaced it with one designed around Cura. I made some other small changes as per various online guides to get cura and klipper to talk properly.

It went ok, printed a benchy, good stuff. But I found no benefit in using Cura and so because I know my way around Prusaslicer I decided to just stick with it.

So, I went back to my previous working macro cfg and my prusa setup, went to run a test print and I get the following errors just after the bed and extruder has reached temp and it starts the first pass of the bed meshing:

Internal error on command:“START_PRINT”
Internal error on command:“BED_MESH_CALIBRATE”

I know I’ve probably missed something or changed something I shouldn’t have, but I’m lost. Hopefully someone can see what it is.

I’ve done a full recalibration of the BD sensor, it sees the bed, printer does everything is should to get ready for a print … then nope.

I made no changes to printer.cfg

I bet it’s something simple and stupid.

Here’s my Macro.cfg - maybe I did something in there that I forgot?

#======================================================
# START PRINT
#======================================================

[gcode_macro START_PRINT]
gcode:
    {% set BED_TEMP = params.BED_TEMP|default(60)|float %}
    {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %}
    # Heat bed for probing
    M190 S{BED_TEMP}
    # Use absolute coordinates
    G90
    # Home the printer
    G28
    BED_MESH_CALIBRATE ADAPTIVE=1
     # Move the nozzle near the bed
    G1 Z5 F3000
     #KAMP Smart Park
    #Smart_Park
    # Set and wait for nozzle to reach printing temperature
    M109 S{EXTRUDER_TEMP}
   
     # Start printing!
    #KAMP Line Purge
    #VORON_PURGE
    LINE_PURGE


#======================================================
# END PRINT
#======================================================

[gcode_macro END_PRINT]
gcode:
    # Turn off bed, extruder, and fan
    M140 S0
    M104 S0
    M106 S0
    # Move nozzle away from print while retracting
    G91
    G1 X-2 Y-2 E-3 F600
    # Raise nozzle by 10mm
    G1 Z10 F1500
    G90
    G1 X10 Y200 F1500
    # Disable steppers
    M84

#======================================================
# HOMING G28 FOR BD SENSOR
#======================================================

[gcode_macro G28]
rename_existing: G990028
gcode:
      {% if rawparams|length == 0 %}
           { action_respond_info("homing all") }
           G990028 X Y
           ## Homing with contactless probe with the homing_speed in [stepper_z]
           BDSENSOR_SET COLLISION_HOMING=0
           G990028 Z
           ## Homing with contact probe with the second_homing_speed in [stepper_z]
           BDSENSOR_SET COLLISION_HOMING=1
           G990028 Z
      {% else %}
            {% if 'x' in rawparams or 'X' in rawparams  %}
                 { action_respond_info("homing x") }
                 G990028 X
            {% endif %}
            {% if 'y' in rawparams or 'Y' in rawparams  %}
                 { action_respond_info("homing y") }
                 G990028 Y
            {% endif %}
            {% if 'z' in rawparams or 'Z' in rawparams  %}
                 { action_respond_info("homing z") }
                 ## Homing with contactless probe with the homing_speed in [stepper_z]
                 BDSENSOR_SET COLLISION_HOMING=0
                 G990028 Z
                 ## Homing with contact probe with the second_homing_speed in [stepper_z]
                 BDSENSOR_SET COLLISION_HOMING=1
                 G990028 Z
            {% endif %}
      {% endif %}




#======================================================
# NOZZLE HEAT
#======================================================

[gcode_macro HEAT]
description: CYD_SCREEN_MACRO
gcode:
  SET_HEATER_TEMPERATURE HEATER=extruder TARGET=200
    G1 Z10 F3000

#======================================================
# LOAD FILAMENT
#======================================================

[gcode_macro Load_Filament]
description: CYD_SCREEN_MACRO
gcode:
    SAVE_GCODE_STATE NAME=loading_filament
    M117 Loading Filament
    M83
    G92 E0.0
    G1 E40 F200  # Load filament into sprite and prime 
    G92 E20
    RESTORE_GCODE_STATE NAME=loading_filament


#======================================================
# UNLOAD FILAMENT
#======================================================

[gcode_macro Unload_Filament]
description: CYD_SCREEN_MACRO
gcode:
    SAVE_GCODE_STATE NAME=unloading_filament
    M125 # park
    M117 Unloading Filament 
    G91 # set relative
    G1 E10 F100 
    G92 E0.0
    G1 E-10 F3000 # Unload filament from sprite 10mm 
    G92 E-5
    RESTORE_GCODE_STATE NAME=unloading_filament


#=====================================================
# PAUSE
#=====================================================

[gcode_macro PAUSE]
description: CYD_SCREEN_MACRO
rename_existing: PAUSE_BASE
gcode:
    ##### set defaults #####
    {% set x = params.X|default(5) %}      #edit to your park position
    {% set y = params.Y|default(225) %}      #edit to your park position
    {% set z = params.Z|default(10)|float %} #edit to your park position
    {% set e = params.E|default(1) %}        #edit to your retract length
    ##### calculate save lift position #####
    {% set max_z = printer.toolhead.axis_maximum.z|float %}
    {% set act_z = printer.toolhead.position.z|float %}
    {% set lift_z = z|abs %}
    {% if act_z < (max_z - lift_z) %}
        {% set z_safe = lift_z %}
    {% else %}
        {% set z_safe = max_z - act_z %}
    {% endif %}
    ##### end of definitions #####
    PAUSE_BASE
    SET_IDLE_TIMEOUT TIMEOUT=40000
    G91
    {% if printer.extruder.can_extrude|lower == 'true' %}
        G1 E-{e} F2100
    {% else %}
        {action_respond_info("Extruder not hot enough")}
    {% endif %}
    {% if "xyz" in printer.toolhead.homed_axes %}    
    G1 Z{z_safe}
    G90
    G1 X{x} Y{y} F6000
    {% else %}
    {action_respond_info("Printer not homed")}
    {% endif %}


#=====================================================
# RESUME
#=====================================================

[gcode_macro RESUME]
description: CYD_SCREEN_MACRO
rename_existing: RESUME_BASE
gcode:
    ##### set defaults #####
    {% set e = params.E|default(1) %} #edit to your retract length
    #### get VELOCITY parameter if specified ####
    {% if 'VELOCITY' in params|upper %}
    {% set get_params = ('VELOCITY=' + params.VELOCITY)  %}
    {%else %}
    {% set get_params = "" %}
    {% endif %}
    ##### end of definitions #####
    G91
    {% if printer.extruder.can_extrude|lower == 'true' %}
    G1 E{e} F2100
    {% else %}
    {action_respond_info("Extruder not hot enough")}
    {% endif %}  
    RESUME_BASE {get_params}

######################################################################
# Filament Change
######################################################################

[pause_resume]
[gcode_macro FILAMENT_CHANGE]
description: CYD_SCREEN_MACRO
gcode:
    {% set X = params.X|default(50)|float %}
    {% set Y = params.Y|default(0)|float %}
    {% set Z = params.Z|default(10)|float %}
    SAVE_GCODE_STATE NAME=M600_state
    PAUSE
    G91
    G1 E-.8 F2700
    G1 Z{Z}
    G90
    G1 X{X} Y{Y} F3000
    G91
    G1 E-50 F1000
    RESTORE_GCODE_STATE NAME=M600_state


#=====================================================
# CANCEL
#=====================================================

[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
    G91 # Set to incremental mode
    G0 Z10 F600 # raise extruder
    G90 # Set back to absolute mode
    TURN_OFF_HEATERS
    G0 X5 Y220 # clear print
    CLEAR_PAUSE
    #SDCARD_RESET_FILE
    BASE_CANCEL_PRINT


#=====================================================
# RETRACTION LENGTH
#=====================================================

[gcode_macro SET_RETRACTION_LENGTH]
gcode:
  SET_RETRACTION RETRACT_LENGTH={params.LENGTH|float}
  GET_RETRACTION




klippy.log (575.1 KB)

You have BDSensor

v0.13.0-508-gbe1c97ff0
This should work, I think.

cd ~/klipper
git checkout 3c56eb7f6
sudo systemctl restart klipper

(If not, you can revert further one by one change with git checkout HEAD^)

Hope that helps.
-Timofey

Thank you, thank you, thank you… problem solved.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.