How to find source(s) of 1.1mm slope to left?

Thanks for the link and info sorry for being dumb i have only looked at M420 V, so want to validate a few things before i go editing stuff by hand. M420 V output is what i have been plotting in excel:


  1. I assume i am editing the billinear mesh (as catmull is calculated)
  2. The first column in the output is the left edge
  3. The last column in the output is the right edge
  4. The first row is the front of the bed
  5. The last row is the back of the bed

Does the M421 command use the same coordinate system?
Aka the highlighted cell is I1,J3?

Or do i have myself completely confused?

No, you are editing the 5x5 non-subdivided grid. Everytime you make an edit the bilinear subdivisions (splines) are recalculated automatically.

I’m not positive on X and Y, it’s been awhile. You can add like 2mm to something like 0,1 and zip around using G42 to verify.

M421, G42, M420, anything mesh related uses the same coordinates in I, J. Which one is which is what I can’t recall of the top of my head. I prove it to myself every time though with G42 I0 J1 for instance.

1 Like

Man, I really need to stop using the touchscreen for calibration. There’s a lot of neat stuff in Marlin.


Just verified yes this is correct using M503 (which prints out mesh in G29 format - i always wondered what that was in 503 output).

even if you use the touchscreen calibration you can still do this editing.

The editing sure, but it would be 5-point not 11. Add that to the backlash compensation that has to be shoved in , might as well just do everything via script.

Wrote some rudimentary gcode generators in order to iteratively test e-steps and k-value (once in ballpark from the recommended methods). I should do another for bed levelling.

And host them all on github :slight_smile:

pick your poison 5x5 with heat at temp or 11x11 cold or with decreasing temp - i hope they fix that…

ha! yeah I closed all my githubs down a few years back, got tired of the nonsense.

Back on the gcode, something that has intrigued me in the Marlin docs is the support for multiple meshes. If I understand this correctly (and what I have learned so far in 3D printing is that canNOT be taken for granted), then multiple meshes could defined - say for cold bed, 55deg, 65 deg. Then loading the specific mesh can be performed as part of a material profile or a more general print profile (Coarse-Hot-Bed, Fine-Cold-Bed, etc, though maybe those should be reversed heh) in Cura.

i have many more questions about meshes that i have kept to myself, lol.
temp specific meshes seems like great idea if it makes that much of a difference

like for example:

  1. The probe is offset from the head (i assume this is accounted for correctly on A350)
  2. that during a calibration the center probe point is not the same as the center point used for z offset calibration (i assume this is accounted for on A350)
  3. The probe seems like it could possibly probe further to the extreme edges of the build plate (i have yet to verify, i can do that now that @brent113 taught me G42).

It should be small, but that could definitely be done. From ambient to 60C the center Z point raises 0.05mm on my bed. The difference from 50C to 60C would be nearly unmeasurable. On other platforms it may be worth it.

It was not until this last firmware release, but it is now. Previously it was double-compensated, giving an equal but opposite direction error.

I believe it is the same point.

Those offsets are configuration when the firmware is compiled. Without recompilation it cannot.

thanks, i will check when i do next one from screen - maybe it moves the nozzle to where the last sensor point was and that’s the reason for the move.

Yes, realize that; i wonder what their design rationale was here.

I think their rationale would’ve been based around it being pretty flat and not mattering very much. Then it turns out to matter a lot.

That’s a good point I haven’t thought about much, could open an issue on github and ask them to consider widening it.

I use macro’s to level the bed for different temperatures using G1029, as I adjusted the firmware for my IR sensor I removed the line in the G1029 code that switches off the heaters so G1029 works fine. The nozzle to sensor distance doesn’t change (unless you change the nozzle) so I automate the final move down in the macro. Macro’s are all in OctoPrint on buttons. Power on from OctoPrint, hit the macro to level for the temperature then print. This all woks fine now after 1.12.2 when they sorted the offset configuration.
There is an old thread from @Tone on levelling using macro’s and spreadsheets. My view is it worked as it effectively fixed the miss alignment between the mesh and print levelling but there is some great stuff if you want to level manually and it should all work even better after the 1.12.2 fix. It’s another bunch of learning though. :grinning:

Pretty good idea. I noticed last night Luban supports macros when connected via USB. Haven’t tried them yet but at a minimum I would create some for 11x11 bed leveling.

to close this thread down, found source of the slope, pair of replacement y units fixed (maybe this means buying them in pairs from the same batch is important if you buy replacements!?)

now my bed profile looks like most others - slightly humped in the middle, still amazed at the bed leveling’s inability to actually compensate to get consistency of first layer across entire bed when printing this Bed Level Calibration Square Grid by wsreith - Thingiverse

old rails

new rails