# On achieving a perfect level

**URL:** <https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440>\
**Category:** Snapmaker 2.0 (3-in-1)\
**Created:** [February 27, 2020, 6:17am UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440 "2020-02-27T06:17:38Z")\
**Posts on this page:** 20\
**Page:** 10

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [September 16, 2020, 6:34pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/182 "2020-09-16T18:34:25Z")

</div>

> [@Tone](#):
>
> The _introduction_ page on the google docs page has a step by step along with other pertinent links

Yep, read that, but as I’m very impatient I read that before even understanding anything 🙂

Meanwhile, with understanding at least some coherence I think it’s great! I will definitely spent some time with that…

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 6, 2020, 6:34pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/183 "2020-10-06T18:34:43Z")

</div>

> [@Dojima](#):
>
> Thanks @Tone I picked up a dial indicator. Will design a mount for it and give all of this a go.

Hi Dojima  
Do you have a mount for the indicator meanwhile? I bought the same and still looking for a mount…

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [October 6, 2020, 7:09pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/184 "2020-10-06T19:09:10Z")

</div>

Which indicator did you get? For my Grizzly I use this:

> **[Snapmaker 2.0 Grizzly Dial Indicator Mount by brent113](https://www.thingiverse.com/thing:4610639)**
>
> Mount threaded for M4 screw provided with the Snapmaker 2.0, for my Grizzly Dial Indicator (https://www.amazon.com/Grizzly-G9849-Magnetic-Indicator-Combo/dp/B0000DD0VA)
> The dial indicator attaches using the clamp design for the 12mm shafts.
> Mounts...

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 6, 2020, 8:06pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/185 "2020-10-06T20:06:19Z")

</div>

Hi Brent,  
I have this one:

> **[Neoteck DTI Digital Dial Indicator 0.01mm: Amazon.co.uk: Electronics](https://www.amazon.co.uk/gp/product/B01H035DRO/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1)**
>
> Neoteck DTI Digital Dial Indicator 0.01mm: Amazon.co.uk: Electronics

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [October 6, 2020, 8:15pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/186 "2020-10-06T20:15:35Z")

</div>

You may want to take a look at making this, or something like it:

> **[Snapmaker 2.0 Mount for Dial Indicator with Lug by hoaschter](https://www.thingiverse.com/thing:4270184)**
>
> Mount for a Dial Indicator with Lug.
> Used threaded inserts:
> 2x Ruthex M4
> 1x Ruthex M5

That particular model requires threaded inserts.

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 6, 2020, 8:19pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/187 "2020-10-06T20:19:47Z")

</div>

Thanks Brent, I’ll have a look.

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 7, 2020, 3:08pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/188 "2020-10-07T15:08:03Z")

</div>

> [@jeroent](#):
>
> i have drawn a holder that positions its tip in the same spot the nozzle will be.

How do you confirm that the position is equal to the nozzle (concering the Z offset)? After leveling with the dial indicator you did not level again with the printhead?

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [October 7, 2020, 4:28pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/189 "2020-10-07T16:28:53Z")

</div>

I’m sure he did level again to set the z offset after putting the nozzle back on. It’s convenient to have the micrometer where the nozzle is in the XY plane just so you know that the measurements are being taken right where it will be printing so you can be assured the z measurement is accurate.

That being said, my design is close but not exact where the micrometer is where the nozzle is, and that doesn’t really affect me at all because checking the bed level with a micrometer is not going to result in numbers that I’m going to manually type in for the purpose of bed leveling, I’m mostly just double-checking how flat the bed really is for the purpose of shimming.

---

<div class="post-metadata">

**Author:** ![Dojima](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/dojima/32/3696_2.png) [@Dojima](https://forum.snapmaker.com/u/Dojima)\
**Post date:** [October 8, 2020, 1:33pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/190 "2020-10-08T13:33:17Z")

</div>

> [@On achieving a perfect level](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/93):
>
> alright thanks! i’v got most of them between ± 0,01mm! i use the digital dail indicator you have ordered. it’s a really nice and precise tool ! i have drawn a holder that positions its tip in the same spot the nozzle will be. [klok houder~.stl](https://forum.snapmaker.com/uploads/short-url/ahAuyGBDFWCnJC9zujywL9YjnvH.stl) (422.7 KB)

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 8, 2020, 7:55pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/191 "2020-10-08T19:55:45Z")

</div>

I’m running out of ideas for bed leveling…

My setup is a print sheet (0.95 mm) glued on an aluminum plate (6 mm). Unfortunately The inductive sensor is not recognizing the plate. So I put aluminum foil (the kitchen one) on the plate. Autoleveling then worked, but the leveling is terrible. Maybe due to the fact I could not get the foil totally flat on the sheet?! Looking at the printhead during autoleveling I recognized, that the nozzle does not touch the printsheet, don’t know if this is normal? I also had the impression, that the nozzle has different high at the different grid points?! This is the pattern test I printed after leveling:

 ![IMG_3574](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/5/567ddcb5c9cbedbb5fa23bb143444383168d3784.jpeg) ![IMG_3573](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/c/c0fec354f98207ef1648681edb98b251d0c79b09.jpeg) ![IMG_3572](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/5/596113f1c39d6a706228a65761a7390b2e0803ee.jpeg) ![IMG_3571](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/b/b47911b1c79f57867fdcd70cc05f68d78738e46e.jpeg) ![IMG_3570](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/2/2f00a08c1404319fd1709ae9d2fbc92965c181b4.jpeg) ![IMG_3575](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/6/68dd118121b103efa74f52f748ae6cdd4bc30ba9.jpeg)

Some of the pattern are quite good, A lot of them are really bad. I still have problems to see if Z is too low or too high in that ones. Fact is some patter are definitely without adherence of the filament, so Z is too high.

I’ll try a manual leveling again, but it’s been said (I guess it was @Brent)that on manual leveling the backlash has to be considered. The backlash calibration test should be run with an optimal leveled bed. So I really don’t know what to do…

I really would like to use @tone 101 leveling Excel sheets, but this has to be run with autoleveling only, I guess??

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [October 8, 2020, 8:12pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/192 "2020-10-08T20:12:35Z")

</div>

Tony’s spreadsheets are a wrapper that helps generate the syntax for the M421 command. Where the data comes from is not terribly important as long as the measurements you take are at the same place the firmware thinks it is.

G42 can be used to move the head to mesh coordinates from 0…4 in I and J (firmware’s names, not mine). It you took manual measurements with a paper card, that’s great. If you took measurements with a dial indicator, that might be better.

I took measurements on my board with a dial indicator, and from the factory here’s what it looks like:

 ![image](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/3/36907ba169ba2c68493039c6751bebcfdb1d86b1.png) ![image](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/8/8b956f31ec33a7339ef14284ec4d10bf653cddc2.png)  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/1/1c8b3e102a9a78c92b363295fb8c3f410a214040.png) ![image](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/e/e3d4bb2d5c54c32086693d3ae5ad0799e8b488d3.png)  
These surfaces are normalized at the center mesh value, which from ambient to 60C raised 0.05mm from thermal expansion.

In my opinion, this is beyond software leveling. Look at the deviation from one point to the next, and this is with a 10x10 grid. Watching the needle on the indicator move even from one point to the next was alarming, it could move up and down several thousandths of an inch before arriving at the next point. Even two adjacent points different by only 0.001", during the travel I saw variation as much as 0.005". The built in 5x5 grid cannot compensate for this level of variation, it would need at least a 10x10 grid, and that would have low and high spots still on my machine.

My solution is twofold: I have shim stock and I will be correcting the root cause, which is the bed webbing is not flat. Measurements will be taken directly on the threaded inserts and they will be brought in line.

After correcting that I’ll be putting a borosilicate glass build plate on top with a magnetic base and removable PEI spring steel build surface - which is similar to what the SM2 comes with and is why the inductive sensor can pick it up - the spring steel is just under the surface. I chose borosilicate glass because it does not experience the thermal expansion that aluminum build plates can exhibit.

When taking manual measurements, I prefer to have backlash compensation enabled because without it making fine adjustments has uncertainty unless you always measure from the same z direction. If you use friction on a card as your measurement instrument, and you command the nozzle to raise 0.02mm, it probably won’t. So you’ll have to go like 0.06mm, and then back down 0.04mm. With backlash compensation correctly set on my machine, commanding the nozzle to move 0.01mm will cause the nozzle to move, making the process much faster.

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 8, 2020, 8:46pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/193 "2020-10-08T20:46:49Z")

</div>

One more question. I did a manual calibration a few minutes ago. I used the touch panel for going down 0.5 mm 4 times, then I used the jog in luban with a custom decrease of -0.01 mm. After finishing the calibration I started a print. I did not recognize that the printhead in the heating position was much too low, as the print started the nozzle ran into my sheet ☹  
Is it not possible to combine commands on the touchpanel and via Luban for leveling??

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [October 8, 2020, 9:12pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/194 "2020-10-08T21:12:22Z")

</div>

During calibration, I think that’s the case? I can’t recall if I’ve tested that.

However, 0.01mm difference is not enough to crash the nozzle, as it should’ve been at 0.1ish anyways, something else is at play here.

It’s a good idea after a calibration to run the nozzle down to 5mm or so, and then slowly move it down to verify the calibration was good. I have a macro saved in Luban that runs a G0 X160 Y170 Z10 F3000. Then from there I go down 1mm at a time while watching the nozzle. If at the reported height of 1mm the actual nozzle doesn’t look 1mm away, I’ll go down by .1mm, etc.

Also, make sure the bed levelling is turned on by doing an M420. It should report Bed Leveling ON.

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 8, 2020, 11:07pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/195 "2020-10-08T23:07:57Z")

</div>

Ok, finally I realized, that far too much for me. I was actually looking for something working like out of the box.

I will try to keep this as simple as possible for me. Finally I did a manual leveling as good as I could.

 ![IMG_3577](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/5/5ffcaf910aaf30d7cb728abbaee827292ba06b5b.jpeg)

 ![M420V](https://us1.discourse-cdn.com/flex022/uploads/snapmaker/original/2X/9/90fe2837c4f9a0caa08b2a1f09a722684614a17a.jpeg)

Looking on that I would say mainly the right side and the backline is where the nozzle is too low (the two pattern inside the red frame are printed with changed offset Z +0.10).

My humble idea was manually tweaking with:

> M421 I4J0 Q+.05  
> M421 I4J1 Q+.05  
> M421 I4J2 Q+.10  
> M421 I4J3 Q+.10  
> M421 I4J4 Q+.15

> M421 I3J3 Q+.10  
> M421 I3J4 Q+.15

> M421 I2J4 Q+.05

> M421 I1J4 Q+.05

> M421 I0J4 Q+.05

> G1029S

Would this work, or is this thought too simple? Did I forget any command, or do I have to put in a command in advance??

If everything is right and works that way, can I save the leveling on the PC and maybe later upload again??

---

<div class="post-metadata">

**Author:** ![TheAphro](https://avatars.discourse-cdn.com/v4/letter/t/bc8723/32.png) [@TheAphro](https://forum.snapmaker.com/u/TheAphro)\
**Post date:** [October 9, 2020, 12:43am UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/196 "2020-10-09T00:43:03Z")

</div>

Is there a way of initiating the calibration sequence via the g-code console? or even just form Luban via usb?

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [October 9, 2020, 2:47am UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/197 "2020-10-09T02:47:15Z")

</div>

Yes, see this topic. It’s not a single command, but many commands that the screen issues, all of which need to be run in order.

> [@How to do a larger than 3 x 3 matrix level](https://forum.snapmaker.com/t/how-to-do-a-larger-than-3-x-3-matrix-level/5727):
>
> So here’s my attempt at doing a leveling matrix larger than 3 x 3. Please be advised that this is not for the faint of heart. If you mess up this process you can bury your nozzle into your print surface. I know, I did. I’ll try and tell you how to avoid that. If you aren’t having any trouble with the first layer of printing then this process isn’t for you. I am doing this on an A250, so you may have to change some things for your size Snapmaker. The controller has a version of leveling that the…

---

<div class="post-metadata">

**Author:** ![FlyByWire](https://avatars.discourse-cdn.com/v4/letter/f/59ef9b/32.png) [@FlyByWire](https://forum.snapmaker.com/u/FlyByWire)\
**Post date:** [October 9, 2020, 3:28pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/198 "2020-10-09T15:28:05Z")

</div>

Anybody knows if I can just send an M421 command for the points that I like to change, or if it’s needed to send a command for all point (with Q.00)?

---

<div class="post-metadata">

**Author:** ![Tone](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/tone/32/1278_2.png) [@Tone](https://forum.snapmaker.com/u/Tone)\
**Post date:** [October 9, 2020, 4:01pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/199 "2020-10-09T16:01:13Z")

</div>

@FlyByWire, Hi, sorry for the delay, I’m out of town.  
Yes you can send individual M421 commands to change individual points thru the console in Luban with a USB connection. Remember that once you get to the place you want to be that you’ll need to save them with a M500 command.  
You don’t need to do a G1029 S command to save, it’s only needed to terminate the Auto Level when it has been started.

---

<div class="post-metadata">

**Author:** ![polrus](https://avatars.discourse-cdn.com/v4/letter/p/3d9bf3/32.png) [@polrus](https://forum.snapmaker.com/u/polrus)\
**Post date:** [December 17, 2020, 6:36pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/200 "2020-12-17T18:36:49Z")

</div>

For those who don’t have patience/skills - like me I found a workaround.  
What I did  
I found that corner/edge areas are farther from the nozzle and the extrusion is bad in those areas so marked them on the heating bed (more-less) .  
Than I took the plate off the bed and used the screws that hold the bed to platform as spacer - by unscrewing those in the areas that are sunk (marked) so they stick out of the surface a bit - and lift the plate. No measurements/calculations - just try-and-adjust where needed.  
There are multiple screws so you can really improve the printouts.  
I hope it works for you

---

<div class="post-metadata">

**Author:** ![brent113](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.snapmaker.com/brent113/32/11114_2.png) [@brent113](https://forum.snapmaker.com/u/brent113)\
**Post date:** [December 17, 2020, 6:39pm UTC](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440/201 "2020-12-17T18:39:06Z")

</div>

Do you have the platform mounted with the threaded inserts up, and that’s what you’re adjusting?

[Previous page](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440.md?page=9)

[Next page](https://forum.snapmaker.com/t/on-achieving-a-perfect-level/5440.md?page=11)
