First Layer Issues

Not sure if this will come through after compression but this is what you should be shooting for. You can see (hopefully) the lines in between the extrusions. But if I glide my finger over it it’s completely smooth.

Ignore the kind of bumpy look. That’s some compression weirdness. Doesn’t look like that in the actual photo.

Same for the bottom. Defined lines but smooth to the touch. This is on textured PEI.

Does this change anyone’s thoughts on my z offset? I sliced the same exact part for my Ender 3 using Cura Slicer instead of PrusaSlicer and it resulted in a much better first layer. The slicer shouldn’t have anything to do with how close the nozzle is to the bed right? That is all EEPROM and BLTouch functionality.

This is the bottom of the part. A few ripples in that left corner but other than that is perfectly smooth. This was using the smooth side Fula-Flex PEI magnetic bed again.

It might be worth starting with a fresh PrusaSlicer profile and go from there. I just feel like something is weird.

1 Like

Improving! No idea why a slicer change would fix an offset issue. Maybe something hidden in your start gcode? :man_shrugging:

1 Like

Do you have a different first layer height in either one? Both can set a different thickness for the first layer. I used to use a thicker first layer to accommodate more error.


I am using a 0.4mm nozzle on the Ender 3 and a 0.5mm nozzle on the Repeat V4 for reference.

Cura: 0.32 initial layer height
PrusaSlicer: 0.3 initial layer height

I’d look at all the settings that have “Initial” in them and compare between the slicers, Initial flow, speed, temp, etc…

Out of ideas here.

If your meshing and probing when the bed is fully heated and you’re sure the offset is correct and is being stored and applied correctly then there could be some sort of mechanical issue.

If it were me I’d just shut off any automatic leveling and meshes and do it manually with bed screws and babystepping. Then once that’s right go back to automatic leveling and see if it effs anything up and go from there.


Do people generate new meshes for every print job? I run the full G29 process when I make changes, but otherwise I just “tilt the mesh” in my start gcode.

1 Like

I know some who do but it’s usually because they disengage the stepper motors after a print.

I do it every time I power on as part of a pre_print_prep macro.

My Z leadscrews are connected via a looped belt. I leave the mesh stored. The current one is only a few weeks old, but the one before that was probably a year.

Should I be using linear advance? I think this was discussed elsewhere before but I still haven’t fully understood this. I get how it works, but not sure how to know if I am using it or if I can enable it. I cannot find it within PrusaSlicer, but I see you can set it using M900 maybe?

Linear advance is a firmware setting as far as I know. At least in Klipper it is. The Teaching Tech tuning guide has Marlin instructions I think.

Gotcha, thanks! I will take a look at it later. I will solve this issue first

On another note,

I don’t think I have ever gotten at G34 result this nice. Thats a first

Recv: Target accuracy achieved.
Recv: Did 4 of 8
Recv: Accuracy: 0.00

1 Like

Chapter and verse on Marlin implementation of linear advance is here. Note that the K factor values are much different between Marlin version 1 and version 2.

Based on my reading of this, you can set the K factor value in the firmware but probably don’t want to. I have the K factor set in the Filament start gcode section, as it may vary by filament type/temp/viscosity, with the M900 command. I used the Teaching Tech web site to tune particular settings for my printer/filament combination.

Gotcha, so it isn’t really a “slicer setting”. It’s just implemented in the start GCODE

Sorry - been away for a week travelling on college visits. The linear advance K factor can be set at any time using the M900 command. Since (in my limited experience) the K factor is dependent on filament behavior (primarily viscosity, driven by temperature) I choose to set it in the Filament profile start gcode section. Then I have a “reset to zero” M900 command in my machine start gcode so that I don’t end up with an old setting that was left in place accidentally.

1 Like