I recently made the switch from the marlin-based stock firmware on my anycubic kobra 2, to klipper. I didn't have issues with bed levelling or first layer on the stock firmware, but I'm having significant issues running klipper. The bed is uneven, the probed mesh shows a deviation of 0.197mm, it was the same when running stock FW+octoprint.
But it seemed to be correcting just fine for this on the stock FW. I got a consistent decent first layer across the entire bed.
With klipper, it's absolutely impossible to get it to correct for this unevenness. Half the bed will get perfect first layer, but then the second half is either way too squished or hardly connecting to the bed. And it's causing further issues as it's also hitting the print when moving, despite having Z-hop of 0.3mm for travel moves.
[gcode_macro PRINT_BEGIN]
description: Begin printing with nozzle wipe
gcode:
M300 P500
{% set BED_TEMP = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %}
BED_MESH_PROFILE LOAD=default
M104 S{EXTRUDER_TEMP}
M140 S{BED_TEMP}
{% if printer.toolhead.homed_axes != "xyz" %}
G28
{% endif %}
#BED_TILT_CALIBRATE
G1 X80 Y240 Z5.0 F3000 ; position nozzle right next to wipe pad
M190 S{BED_TEMP}
M109 S{EXTRUDER_TEMP}
M300 P500
G4 P50
M300 P500 S1500
G1 Z-0.1 ; lower nozzle before wiping
G1 X90 F500 ; wipe nozzle across pad in X direction
G1 Y235 F500 ; wipe nozze in Y direction
G1 Z3 ; lift nozzle to 3mm
G1 X90 Y-3 F6000 ; move nozze to front-left center of bed for purging
G1 Z0.28 ; lower nozzle to 0.28mm
G1 X120 E25 F200 ; extrude 25mm of filament in a 40mm line
G92 E0 ; reset extruder position
G1 E-1 F2100 ; quickly retract filament 3mm
G1 X135 F10000 ; quickly move away from purge
G92 E0
Looks like you have it set to load the profile "default" instead of "bed60"
Also worth asking, did you have your start gcode set in your slicer previously and if so, did you delete it out of there now that you're using klipper macros?
For me, in Cura, I simply have START_PRINT and END_PRINT in the start/end fields in the Cura settings. Based on your macro title, it would be PRINT_BEGIN and PRINT_END
Yeah forgot that I switched to default again to make sure it wasn't something with the different profiles messing it up. I update the mesh before every print now, once it's reached temp.
I did have my start gcode in the slicer before, but that's been replaced with the macro.
I'll try to check mine when I'm back home later. I just use the default profile since I don't ever adjust anything with the bed unless it's out of spec. Even printing at slightly different temps doesn't seem to affect anything as far as bed leveling is concerned.
Is what I've got my pinda probe configured with, was playing around with sample tolerances like I have on my printer with a tap probe but I just found the inductive probe has a lot of variation, I added more samples to hopefully average out that error.
Is my mesh setup, based on a mk3s klipper config. Meshes look a little odd but I ran some bed level prints fine and just ran a full plate of abs with pretty consistent 1st layer.
I'm not at my computer now to be able to give specific examples but this most surely sounds like something wrong with the start gcode and klipper not loading your saved mesh before running the print. I'd double check the docs and make sure you have the correct gcode to load your saved mesh.