Unrealiable Z offset

Hi team, I’m aving trouble with my J1s that seems not abel to repeat the G20 code (go to home) in a reliable mode. I’ve to repeat the bed leveling calibration almost any day and often for each print. In some case even the auto calibration is not usefull so I’ve to adjust manually the Z offset.

After may test, linear rail replacement and dozens of email to the support, I guess the issu comes from the Z axis microswitch that for some reason do not close in a repeateable mode evey time. So sime time the Z zero is up 0.5 mm uppoer or lower the one automtically evaluated.


  • anyone got a similr issue?
  • how to ask luban to repeate the G20 code many time when the print start? (I hope that repeating the home command the result can be improved)
  • does someone replaced the microswitch?

Thanks, S

You could enter G28 in the terminal, this should home your machine as often as you want.

Why not check your endstop, maybe a screw is loose?

Maybe this helps:

Thanks for the link, but that instructions are for X and Y.

Z seems have no regulations.

The U under the bed is thigh, so i guess the micro switch is broken or is not fixed.

But I don’t know how to check it.

if you always print with the same temps all the time, you can apply a z offset in the start Gcode. I spent some time trying to make a code that would slip in a z offset depending on the temperature of the print but this changes every time you level the bed and the nozzles so its not something i would suggest as a solution to anyone

Thanks @Miles, I was thinking the same way.

If there are no mechanical problems and if the microswith Z is not defective, then the only possible variable is microdilatation of the plane due to the temperature difference between when the calibration is done and when the zeroing (home) is then done.

Obviously, the home is done at room temperature, while the calibration is done when the platen is hot, and since it is very cold at this time (the printer is in an unheated room) there may indeed be some variation in height due to the contraction/dilation of the metal.

This hypothesis would explain why sometimes the error is over and sometimes it is under: if for various reasons I have to work in that room, I increase the ambient temperature.

At this point, the best solution would be to do a “home” gcode G20 after heating the plate.

How do you enter this command in the printer configuration in Luban?



The problem was caused by the tongue of the microswitch being bent downward. So the switch was not being activated properly by the limit switch block.
The switch did not seem to activate even when pressing the tab with fingers.
I solved it by bending up the tab.

I would say that this method of handling Z-axis homing is not very reliable because the tongue of this microswitch is made of a very light sheet metal and when the board is lowered it is probably always subjected to pressure that inevitably deforms it over time. This requires the repetition of the bed leveling calibration procedure, which, however, becomes evident only after the hot ends have scratched the plate.

There are two cases, either replace the microswitch with one of the same size but with a stronger tongue, or replace the limit switch mechanism with the same optical system used on the X-axis.

The designers’ choice seems to me to be very questionable because while the X-axis has no major zero promblims (if the print starts a few thousandths of a millimeter further to the left or right, it changes nothing), for the Z-axis, on the other hand, repeatability is essential.

May share some pictures for other community members?
Glad you found a solution.

yes of course!

Are you sure this bent metal lever did not have another cause? Those are in use in countless machines since decades and have proven to be very reliable.

My best guess would be that some dirt (filament probably) fell between the lever and the micro switch. Therefore, the best and easiest way to avoid such an issue would be to clean the printer regularly :wink:

Thanks for your suggestion. I agree this can be a simple cause for the tongue bent.

Unfortunately, this is not the case because I keep the printer in absolute perfect conditions, and in addition since the issue appears I’ve taken dozens of movies so allow the Snapmaker support to understand the problem. It become clear that the issue was there only in the day before my last update and in alle video there is nothing in around the microswitch that could have caused the problem.

in fact, the support had me do many checks and changed the linear guide that seems to be defective (it wasn’t), but never suspected that the problem was related to the micro switch.

There is a possibility that the microswitch is defective, but it is unfortunately true that the tongue is not made of harmonic material that returns to shape after being bent. In fact, to solve the problem I lifted it slightly, deforming it and returning it to a correct shape.

I don’t know how and how much it is crushed as the top is all the way down, but it is not so absurd to think that such a bendable material could be deformed subjected to constant pressure from the stop pad.

Hm, weird. That metal should only push down the knob of the micro switch which has a very defined force. And as soon as that has happened, there is just the flat housing of the micro switch. If nothing is stuck there, I cannot think of a way how the lever might get bent, regardless of how much force you use.