Might be a bit late, but if that is still unsolved: Just to have it checked, is maybe some part of your print bed faulty? I had loads of issues with the print heads clicking and such (check the “Findings and solution for the Snapmaker J1 clogging problem” thread, but apart from that, the printer basically worked even before I threw out the controller, and bed leveling worked and works perfectly, as long as I keep in mind that even smaller drops of filament may throw it off and wait with calibration until really nothing (!) oozes out of the hotend - I simply let the hotends heat up, wipe them once with a suitable cloth - and then let the printer stay like that for half an hour until I come back, wipe again and let is calibrate.
That being said: Despite its IMHO not-so-ingenious controller and firmware, the J1 hardware is overall really good. I only need to recalibrate if I change the hotends, apart from that the calibrated offset is rock solid, even if I let the printer sit for months.
Since you mention that even removing the print plate and inserting it again throws yours off, I would assume that - unless there is some firmware error - some part is faulty. That might be either some part of the bed (there e.g. have been cases reported here that the plastic heat plate clamps were broken which caused leveling or printing issues, or the metal finger on the side of the bed that is used to push the microswitch endstop of the bed might be loose) or that the endstop switch itself is either faulty or loose.
I guess the stupid decision that you cannot manually move the bed to z=0 with the original firmware still exists? If so try the following:
- create a plain text file named “z0.gcode” that just contains the line
G1 Z0 F500
- upload it to the printer or use a USB stick to get it there. (Explanation: G1 means “move”, “Z0” means “move to Z=0”. “F500” is the speed - rather slow; if you want to speed it up, increase the value)
- Now home the printer.
Move the printhead(s) where you want them, “print” the file and check the nozzle distance. Repeat several times. If that works, repeat the process but rehome the printer every time. If that works, remove and insert the printing plate every time etc… until you find the task that made it go wrong.
As soon as you have found that, the error can be narrowed down. Currently, you are fishing in muddy waters, as far as I can see.