This was one of the very best videos on this subject (in relation to Klipper) I have come across yet! You are a natural teacher. For those of us who love 3D printing but lack the engineer/coder background, this was a breath of fresh air. Thank you!!
As a German engineer, I've never been able to wrap my head around the paper method. Your feeler gauge method is immediately intuitive for me. Thank you for this great video.
Thank you very much for sharing your experience, I have tried it and it works extraordinarily, my first layer has never gone so well. In 6 weeks I will attend the "3D Printer Party" in Madrid, Spain and I will try to share this method of adjustment with the 500 attendees who will bring their printers. Of course I'll give them the link to this video.
Absolutely great tutorial! I just installed/configured Klipper on a Big Tree Tech Klipper Pad 7 I just bought to use Klipper with my older printer, a Tevo Tornado. Your video gave me the best method and understanding on how to set my Z-offset. Keep the videos coming!
This is by the far the most accurate way of setting Z offset. I really found this video very helpful and thank you so much for sharing. A feeler gauge definitely outperforms paper for consistency and accuracy. 😍👍
MANY Thanks. Using the method you showed got me past the road bump in my head. Months of trying to get this right on my Ender 3, mostly interrupted by a heart attack and recovery. Ok, so it was probably more like a couple weeks or so. Hehehe. Tackled it again and once again I have the printer printing after SKR Mini e3 board and Klipper re-installs. You said the same things that others said, but for some reason (5 minutes later) it hit home for me. Keep doing it til it stabilizes!! That was the part I was failing at. Thanks again.
Excellent video. One of the best I have come across. Everything is explained in a new to Klipper manor and really helpful. A lot of videos assume you already know how to adjust the offset for example but you explain everything, thank you
I just started converting to a klipper printer and looking around youtube vid tutorials to where i am at, i thought this is a big channel already found out with sub 1k? This channel needs more than that. More power to your channel!
Now i struggled with Z-offset on Klipper since i installed it (about a week, that is) and yesterday i stumbled on your video and everything just made sense! Tonight i made the adjustments and it is really that simple. And i realized that yeah, i can still do the probe_calibration with piece of paper, but it''s the offset part that is critical. Thanks!
I cannot express how grateful I am now. Thanks a lot for your video, I was trying to understand why every time I home/shutdown my ender 3 s1 pro it always "loose" the configuration. And it was because I combined the two Z's i.e. The Z position absolute and the z-offset when in fact I only need to set a position absolute that I want and then configure the z-offset. Your video crossed the world. Hugs from Brazil!
Very interesting and helpful 👍😍 Since i'm migrated my Wanhao D12 ro Klipper i was annoyed with my Z-Offset setup. I was using the Z-Offset of Klipper but now i found your trick so easy and simple. I will try it soon 🤪
I have one of the new QIDI Q1 Pro printers and was having issues with first layer. Followed the steps in this video, set it for 0.2 initial layer (default for Prusa, Orca, QIDI slicers) with a feeler gauge and now I get perfect first layer prints. I may try checking z offset at higher temps for like ABS and see if there's any temperature creeping. Thanks for the sound advice. One of the best videos I've seen on this crucial topic.
Great video. Thanks for all the information. Just to make people aware, KAMP is no longer needed for the adaptive mesh. The adaptive mesh is now native to klipper.
I do my offset since about year in that way, since i switched to Klipper. On Marlin i begun with this Method with a feeler gauge but it was always complicated to calculate and correct the existing value, now on Klipper it's a "no-brainer" and done in seconds. The Paper-Method didn't make any sense. Your very good Video and explanation is the first time i found something that makes sense and is the correct way to go. Very good Work! /pro-Tip: Remove that Questionmark in the Title! 🤪Even better: Replace it with an exclamation mark! 😄
Thank you. When I got my Chiron a few years ago all I could find was "Use a piece of paper." It drove me nuts because paper can vary in thickness and as your doing it you could be crushing the paper a bit and changing the thickness. This will give you an exact and repeatable way to set it up. Just ordered my gauge set.
Put this into action this morning, perfect 1st. It did take a tiny bit of fine tuning as I run TAP. I dialled it down to what I thought was correct, but it needed bringing back up by 0.15 to get a nice result. The big difference is that I know that it is set correctly and is not subject to the vagaries of a piece of paper. Once again Thank you (or soll ich Danke sagen?).
Great job thanks, very straight forward, really cleared up some of the ways Kliipper calculates the offset. I'm always trying to figure out which direction to go. it just seems backwards to me. One small point, you should move the nozzle to the point your probe is probing, there could be a small difference between the nozzle and the probe. I'm using the offset in the printer.cfg and move my print head by that distance then checking.
This video deserves a lot more views from the 3d print community. You made very clear this is your way of explaining the z-offset function in Klipper as there are many people also showing their way of setting it. The only difference is that imho you made an absolute perfect explanation and demo of how to execute the z-offset function in Klipper. Now it's clear to me and it of course makes a lot of sense. As the late Johan Cruijff always said: You will only see it if you get it. This was very true then and is very true now for me. Thanks Heiko for creating this video and now I will have a perfect z-offset setting as well (as soon as I get my feeler gauges).
I got a feeler gauge kit as well and I have used it once. I went back to a piece of paper. I always do a rough z-offset with the klipper probe_calibrate function and then I just adjust it live on a test print to get the perfect value for the filament type I'm using.
the way i see it, for those who are more experienced ( or built differently ) can use the paper test confidently, but for newbies like me? I really needed that feeler guage just to grasp the concept. its different for some, only works for a few, but hey at least it works.
Thank you for your video! I notice a difference with my printer: Neptune4Pro running klipper with a fluidd interface. When you saved your Z Offset on the interface, next time you booted up, the Z Offset displayed 0.000 again. However, When I do so, the value I set it to remains. Is that just a difference in how our dashboards / firmware versions handle the Z Offset? Or am I saving it wrong...?
Good tutorial, I didn't read to see if someone else asked this, but are you concerned about the metal feeler gauge scratching the PEI sheet? Also, do you have any recommendations regarding self-Z Offset printers such as the Ender 3 V3 KE? It's supposed to fully do it automatically. However, I've heard you cannot trust it and if you run a calibration again, you will lose the offset you performed via Klipper.
I've been using a feeler gauge for years but for some reason it seems that 0.05mm gauge works best for me. Maybe it's just because of what I consider "feeling resistance" but also reminds me i need to get a new gauge
Thanks, Heiko, I also prefer the feeler gage method because it's a finite measurement opposed to just "paper". I Kept looking for the right paper, or they would get damaged or lost, etc. Once I bought my long set of feeler gages and got a PAD7 things have been much easier. Just to be clear, so the first layer should be the arbitrary distance? Can you please explain why the first layer is .3?
First layer thickness is dependent on your nozzle diameter, your print speed and also the flow rate. If you have your z offset set with a feeler gauge (example 0.3mm) then the nozzle will actually be 0.3mm above the print surface when you print a 0.3mm layer height Now you have a certain amount of filament coming out of the nozzle. If 0.3mm height is too high for the amount of filament being extruded the individual lines will not be squished together enough. If that is the case then lower the layer height. Does that help?
The Klipper documentation is clear on this. You set an arbitrary distance between the nozzle and bed while cold to account for nozzle expansion. This distance happens to be about the thickness of a sheet of paper, .100mm. When at temp (typically 200C or above) your nozzle will come very close to the bed but not perfectly 0. You don't want 0. You MUST allow for material to flow and not be sheared by the nozzle movement in order to attain proper squish. The first layer is never perfect accurate compared to successive layers, but must stick. Bed adhesion and squish is most important. Your cumulative error will fade out over a certain height.
Since the beginning of 3D printing the paper method has been around and it does compensate for expansion but I find it more reliable and accurate to heat the bed and nozzle and then use a feeler gauge. No compensation necessary. My first layer is dialed in every time without fail.
When you said you know only one other video where it is explained correct, i was betting you are going to say makers muse! Very good video and perfectly explained. Ich denke eine kleine grafik (schnell ins CAD geschmiert) haette noch sehr gut beim erklaeren unterstuetzt.
This is a great video and the manual bed leveling is great. What are your thoughts on the auto bed leveling or the Z-offset wizard that both Klipper and Marlin use? I have found that using the manual method gets closer to the bed than the "wizard" style levelling.
I noticed that your mainsail has a 'save' command next to the z-offset section's clear button, but my newly installed setup does not have it. I also noticed that save_config does not save the z-offset tune. Reddit says the command Z_OFFSET_APPLY_PROBE needs to be issued before SAVE_CONFIG.
this will probably help, as I get really confused by the z offset in clipper. When I press the save button, it restarts the printer but after loading back up it still says (-200) for the offset value, while in the video the (-200) disappears, as if he pressed clear instead of save
I was searching for a good in expensive feeler gauge, and then I started trying to think of common objects with standard thickness, so that I didn't have to wait. The ISO standard for a credit card is 0.76 mm. It may not be perfect, but it's way better than a sheet of paper, and could provide a head start on baby stepping.
this is definitely more precise than paper, but you're still having to subjectively feel the friction. 3D printers probably don't have enough rigidity to for us to ever get a perfectly objective measure, but one thing you can to to reduce the subjectivity: use 2 different thickness feeler gauges to as a set of go/no-go gauges. For example, lets say one 0.3mm thick and one 0.305mm thick. Then you adjust the z offset until the smaller gague fits under the nozzle, but larger one does not. In theory, this gives you a perfectly defined tolerance; if those 2 conditions are met, the nozzle's height must be between 0.3mm and 0.305mm. You can pick any 2 thicknesses of gauges, and the precision of your final result will be defined by the difference in their thicknesses. go/no-go gauges are a very widespread technique in all sorts of manufacturing because of how easy it is to quickly and precisely verify tolerances. In practice, these are not industrial machines; if you slide in a feeler gauge that's just barely too tall to fit under the nozzle, the nozzle might deflect enough to let it in, giving you a false "go" reading, so depending on your printer's rigidity your real precision will be slightly worse than the theoretical value. So you'd want to choose feeler gauge heights that give slightly more precision than you need, to leave room for that deflection to eat up some of the precision. You can also minimize deflection by strategically positioning the toolhead to maximize rigidity; for example on a bed slinger like the one you're showing, the middle of the bed is actually the worst case scenario; think of how a beam sags under load, the largest deflection is in the middle because the moment arm is the longest. To maximize rigidity of the toolhead, you'd want to position the tool near the end of the X axis' travel, where the distance between the nozzle and the nearby Z axis rails is minimized. To maximize bed rigidity you'd want to position the nozzle above the most rigid part of the bed, like a standoff from the heater PCB to the frame below, or however your printer is designed (basically, try to position the nozzle above a part of the bed that's not a "diving board"). The optimal locations for minimum toolhead and bed deflection probably don't overlap, so you'd want to figure out a compromise between the two.
I am very cognisant about the deflection and I think the go/no-go method is a good idea. After a while I developed the feel for how much friction is enough and how much is too much. The last couple of months I have had very good success with this Methode and very consistent first layers. I really only redo the z offset if I either print a filament that requires higher temps and therefore could cause more expansion or if I switch the nozzle (or other work on the hot end). As long as I stay with the same nozzle and temp range, I don't touch it.
Thanks for this! One of the few who actually explains what these z-offset really is and how to set it manually. One thing i can't wrap my mind around is how it is connected to the endstop switch and how i should set this correctly. What also irritates me is how klipper saves the z-offset value as "position_endstop = x". In my case I've done your method with a gauge set it to .300 absolute and ended with a offset of +0.075 so the "real" position was shown as [0.375] Klipper was saving this in the coonfig file as "position_endstop = -0.075" which is causing an error because the value must be between position_min and position_max Therefore i have to set the "position_endstop" value to a positive 0.075 to get it work correctly. My understanding was: I set the position_min = 0 This is the point my Nozzle is touching the printbed. Also this is the point where my z endstop switch is triggered. I applie a positive Z-Offset value and get my "real" Point 0
I am not sure what your Klipper is doing but in my config for my SV06 the position_min for Z axis is -4 If you put you z position to let's say 0.3mm and then use a 0.3 mm feeler gauge and move the nozzle with the z offset function until the nozzle touches the feeler gauge, then your printer will actually be 0.3 mm above the print surface. You mentioned an end stop switch. So I assume you don't have a Sv06. What printer do you have?
Great video thank you so much! but unfortunately for me when I save and retry the process it doesnt seem to actaully save, I've tried multiple times now and after homing the offset is as it always was again. I tried to also update the factory_printer.cfg itself with the new values but its not working either. I wonder if you are able to help shine a light on this for me? thanks again for the great video
So, it sounds like you are using Klipper, correct? If you control Klipper via mainsail or Fluidd then as soon as you click save config it should store it in your config file. Try to make a video with your phone of all the steps you take. Upload it to TH-cam as an unlisted video and then email me the link to it. I'll take a look.
Could this be expanded to include an electric contact? When the nozzle touches the feeler gauge it triggers a circuit that tell the exact offset for klipper
I think that would be a bit too complicated and entirely unnecessary. If I set the z axis to 0.4mm on the mainsail then use a 0.4mm and z offset adjustment on the mainsail, when the nozzle touches the feeler gauge the nozzle is 0.4mm above the bed. Feeler gauges have been in use for a long time in the industry and are reliable way of gauging the distance between to part (in this case bed and nozzle). The z offset doesn't need to be done all the time. As long as the nozzle doesn't get changed you can literally set it and forget it. I have been printing for weeks and haven't done anything with the z offset.
Bed mesh happens after z offset. In my Klipper system I actually do a Klipper adaptive mesh and purge before ever print. Z-offset only gets done if I either mess with the bed or the extruder (i.e. change a nozzle...)
I had to go up by 0.120 but when I save config it says “Option ‘z_offset’ in section ‘bltouch’ must have minimum of 0.0 how do I get it to save at that height?
You use the normal axis movement menu to move the z axis to whatever thickness your feeler gauge is (example feeler gauge 0.4, set the z axis to 0.4) and then you use the z-offset menu to adjust until the feeler gauge actually fits. When you are satisfied save config. I don't know without seeing it, why you would get a bltouch message. Are you doing this in Klipper (mainsail or Fluidd)?
I am preparing to switch my Neptune 3Pro to Klipper and this was really helpful. I also have feeler gauges already, so I am happy I will be able to use them (I didn't have much luck the first time I tried). Just to be sure: if I use a 0.25 first layer, then I will use the 0.25 gauge to calibrate, right? :D
You can set the z-offset with any feeler gauge really. as long as you tell the printer to go to let say 0.4mm and then you check with a 0.4mm gauge, if it fits the z-offset is correct, if not your move the z offset up or down to correct.
No matter what gauge you use, as long as you do it precisely! After calibration the printer goes to the correct Z-height he get told from the gcode. No matter what start-height you have. With this calibration you only tell your Printer where he exact is in the calibration-moment. When Saved the Printer always know where the Bed begins (Zero) after levelling Z-Axis, no matter what you want to print.
If you measure the paper with a micrometer you don't need the feeder gauges. Add Z offset to what your first layer height is set to and be sure it's the same on all slicer profiles. Happy days.😊
So, instead of needing a cheap set of feeler gauges, one now needs a micrometer to measure paper. 😉 At least in Klipper the z offset is the distance between the trigger point of the bed leveling sensor and the point where the nozzle is at z = 0. When I set my preheated bed and nozzle to 0.3mm and stick a 0.3mm feeler gauge in there and use z offset correction to get the nozzle to touch, then z= 0 is actually 0. With Methode I save config in Klipper and I don't need to mess with slicer profiles. Cheers, Heiko
@@Heiko-Prints well I have a micrometer but you could use verniers which most 3d printing enthusiasts should own. Anything that can measure 0.01mm increments.
Also the offset setting shall be made at the same point where probe measured the bed. If your bed is not trammed perfectly or you have irregularites on your bed, the measurement way you do it might be incorrect.
Not in the form of a video but you have to include the kamp_setting.cfg in your printer.cfg. You also have to include the Adaptive_meshing.cfg in your kamp_setting.cfg . Once you have done that it should do it.
Problem is that nearly all of us use a slip of paper under the nozzle, which is about ~0.1mm thick. So on position 0mm we are actually at ~0.1mm. But thats no problem as 3D Printers are no rocket science at all. The first layer is allways a special layer. Make a testprint and adjust the height acordingly.
I still don't get your method that might look right at first glance if you were nozzle probing but not if you use an inductive, 1st you assume your probe repeatability is perfect, if you home 3 times I'm pretty sure the printer will NOT stop on the exact same place every time and better don't consider changing just a bit hotend or bed temps as they will instantly cause deviation of that probe. second when you home the printer is going to trigger at the probe trigger height, let's say something between 2-3mm, then you manual retract to 10mm position but relative to that trigger point because that's the new zero that the machine set when you homed (if the z offset/probe offset was still not set ) so you're really at 12-13mm , then move to 0.3mm and your nozzle goes very close to that when it actually should stop at the point where the probe triggered plus 0.3, then your offset should be calculated based on that trigger height plus any minor mechanical tolerance correction due to probe accuracy. There is a parameter missing here to make sense of this. Long time printing done that been there and if it were as easy as you paint it, all the printers will produce perfect results (and we know is not true), there's a lot of science behind a perfect first layer and I doubt it can be solver with a feeler gauge.
I am not sure if I understand. The z offset calibration is used to tell the computer where the nozzle is in relationship to the probe trigger point. Btw those probes are very accurate. Some TH-camr, it might have been Teaching Tech Or ModBot who actually did accuracy testing. They are within a couple of hundreds of millimeters. So doing an accurate z offset does pay off. The trigger point is never consider Z axis zero because right out of the gate the config in your firmware will have a z offset stored. The trigger point is probably as you 2-3mm from the bed. Usually the probe is set to a level that at its trigger point the nozzle doesn't crash into the bed (probe is height adjustable). So if the probe is adjusted that the nozzle stays well clear of the bed, the system takes the trigger point and the z-offset to know where z axis 0 point is. Let me try this a different way. Let's say the trigger point for the probe is exactly at 3mm and at the probe trigger point the nozzle is still 1.5mm above the bed, that means the z offset is 1.5mm. we enter the z offset of 1.5mm into the config (in Klipper that is done through save config). So the computer now knows that when the probe gets triggered the z axis is at 1.5mm z height. (With other words, it know when probe triggers that the nozzle is 1.5mm high) I hope this makes sense. I will have follow up video coming out tonight or tomorrow. I hope it will clear thing up.
Ok I got the Feeler Gauge in your description.. Thank you.. But My printer has made this sound since I got it and I'm Wondering what can be done to fix it .. th-cam.com/users/shortsKoXWfDLriH4 Thanks in advance.
@@Heiko-Prints Try this please. Also My printer STOP at the last location and just oozes messing up the last part of the print. with Klipper, I am using Orca BTW... th-cam.com/users/shortsKoXWfDLriH4?feature=share
The thickness of the feeler gauge has no bearing on things. You could do 0.7. Set your z position to 0.7mm and then use the z offset function to touch the nozzle to the feeler gauge. Save config and Your nozzle would literally touch the bed if you would tell the printer to put the nozzle at 0mm. That is the whole point of this exercise. I like to use the thinner gauges just because they are more flexible than the thicker ones. Thanks for your comment.
@@Heiko-Prints I think I didn't understand the point you were trying to make in the video and had to watch it again to wrap my mind around it. I finally got it.
This is incorrect, it is NOT a correction between nozzle and bed, that has nothing to do with it. Z-Offset is a fixed value of the vertical distance in mm between the tip of the probe, and tip of the nozzle. it is a negative value and all it does is move Z down to put the nozzle in the same position that the probe tip was when it found the bed. first layer gap should be done in the slicer.
I marlin it might be a negative value. In Klipper it is a positive value. Klipper saves the z offset as the nozzle height above the bed when the inductive probe is triggered. In my current case when the probe triggers the nozzle is 1.321mm above the bed. This number is straight from the printer config file . When I tell the printer to park the nozzle at a z height of 0.4mm and my 0.4mm feeler gauge is either too loose or too tight I correct that in the z offset section of mainsail and when I am happy with my adjustment and feeler gauge slights in with the right amount of friction then save config will write the correct z offset into the config file. So here in this case the z offset value in the config is not the vertical distance between probe and nozzle but the height of the nozzle above the bed when the probe gets triggered.
The first thing you are referring to is Z_PROBE_OFFSET command. This is not the same as z-offset! Can you explain what you mean by "first layer should be done in slicer"? Layer height adjustment in the case of klipper is done in the mainsail/fluid interface in the z-offset section
This was one of the very best videos on this subject (in relation to Klipper) I have come across yet! You are a natural teacher. For those of us who love 3D printing but lack the engineer/coder background, this was a breath of fresh air. Thank you!!
Wow, thank you!
As a German engineer, I've never been able to wrap my head around the paper method. Your feeler gauge method is immediately intuitive for me. Thank you for this great video.
Not possible on Neptune 4 with stock firmware. Changing the Z-offset changes the Z-value too? m(
Perhaps it's finally time to install OpenNeptune.
Glad it helped!
Thank you very much for sharing your experience, I have tried it and it works extraordinarily, my first layer has never gone so well. In 6 weeks I will attend the "3D Printer Party" in Madrid, Spain and I will try to share this method of adjustment with the 500 attendees who will bring their printers. Of course I'll give them the link to this video.
Thank you. Enjoy your Event. Cheers, Heiko
this is definetly a game changer. its my new goto for tuning my z offset.
Glad to hear this video is helpful.
Thanks for a very clearly explained system for setting z offset.
Absolutely great tutorial! I just installed/configured Klipper on a Big Tree Tech Klipper Pad 7 I just bought to use Klipper with my older printer, a Tevo Tornado. Your video gave me the best method and understanding on how to set my Z-offset. Keep the videos coming!
Glad it helped!
This is by the far the most accurate way of setting Z offset. I really found this video very helpful and thank you so much for sharing. A feeler gauge definitely outperforms paper for consistency and accuracy. 😍👍
MANY Thanks. Using the method you showed got me past the road bump in my head. Months of trying to get this right on my Ender 3, mostly interrupted by a heart attack and recovery. Ok, so it was probably more like a couple weeks or so. Hehehe. Tackled it again and once again I have the printer printing after SKR Mini e3 board and Klipper re-installs. You said the same things that others said, but for some reason (5 minutes later) it hit home for me. Keep doing it til it stabilizes!! That was the part I was failing at. Thanks again.
Excellent video. One of the best I have come across. Everything is explained in a new to Klipper manor and really helpful. A lot of videos assume you already know how to adjust the offset for example but you explain everything, thank you
I just started converting to a klipper printer and looking around youtube vid tutorials to where i am at, i thought this is a big channel already found out with sub 1k? This channel needs more than that. More power to your channel!
Thanks
Now i struggled with Z-offset on Klipper since i installed it (about a week, that is) and yesterday i stumbled on your video and everything just made sense! Tonight i made the adjustments and it is really that simple.
And i realized that yeah, i can still do the probe_calibration with piece of paper, but it''s the offset part that is critical. Thanks!
This was great and you explained it very simply for a noob like myself. Worked like a champ.
Glad it helped!
Great tutorial, exactly what I have been looking for! Thank you for taking the time and the work doing this for all of us!!!
You're very welcome!
I cannot express how grateful I am now. Thanks a lot for your video, I was trying to understand why every time I home/shutdown my ender 3 s1 pro it always "loose" the configuration. And it was because I combined the two Z's i.e. The Z position absolute and the z-offset when in fact I only need to set a position absolute that I want and then configure the z-offset. Your video crossed the world. Hugs from Brazil!
Glad it helped!
Very interesting and helpful 👍😍
Since i'm migrated my Wanhao D12 ro Klipper i was annoyed with my Z-Offset setup. I was using the Z-Offset of Klipper but now i found your trick so easy and simple.
I will try it soon 🤪
I hope it works for you.
I have one of the new QIDI Q1 Pro printers and was having issues with first layer. Followed the steps in this video, set it for 0.2 initial layer (default for Prusa, Orca, QIDI slicers) with a feeler gauge and now I get perfect first layer prints. I may try checking z offset at higher temps for like ABS and see if there's any temperature creeping. Thanks for the sound advice. One of the best videos I've seen on this crucial topic.
Thank you! I was finally able to set my z offset with your video.
Great video. Thanks for all the information. Just to make people aware, KAMP is no longer needed for the adaptive mesh. The adaptive mesh is now native to klipper.
The only thing that KAMP offers that isn't available natively yet is the adaptive purging. Just FYI
@@Heiko-Prints yup I didn't care for the adaptive purge anyway.
Excellent explanation, I just ordered my Klipper screen and this will be my guide for setting the Z-offset.
Great to hear!
I do my offset since about year in that way, since i switched to Klipper. On Marlin i begun with this Method with a feeler gauge but it was always complicated to calculate and correct the existing value, now on Klipper it's a "no-brainer" and done in seconds. The Paper-Method didn't make any sense.
Your very good Video and explanation is the first time i found something that makes sense and is the correct way to go. Very good Work!
/pro-Tip: Remove that Questionmark in the Title! 🤪Even better: Replace it with an exclamation mark! 😄
Thanks for sharing. I will follow your advice
Thank you. When I got my Chiron a few years ago all I could find was "Use a piece of paper." It drove me nuts because paper can vary in thickness and as your doing it you could be crushing the paper a bit and changing the thickness. This will give you an exact and repeatable way to set it up. Just ordered my gauge set.
Glad it helped!
Put this into action this morning, perfect 1st. It did take a tiny bit of fine tuning as I run TAP. I dialled it down to what I thought was correct, but it needed bringing back up by 0.15 to get a nice result. The big difference is that I know that it is set correctly and is not subject to the vagaries of a piece of paper. Once again Thank you (or soll ich Danke sagen?).
Gern geschehen. Gruss, Heiko
That was one of the best explanation I have watched regarding 3 d printing. Thank you.
Thank you.
Thank you for sharing, I will give this a try. Thanks again!!
Great job thanks, very straight forward, really cleared up some of the ways Kliipper calculates the offset. I'm always trying to figure out which direction to go. it just seems backwards to me. One small point, you should move the nozzle to the point your probe is probing, there could be a small difference between the nozzle and the probe. I'm using the offset in the printer.cfg and move my print head by that distance then checking.
Thanks for the advice. Cheers
This video deserves a lot more views from the 3d print community. You made very clear this is your way of explaining the z-offset function in Klipper as there are many people also showing their way of setting it. The only difference is that imho you made an absolute perfect explanation and demo of how to execute the z-offset function in Klipper. Now it's clear to me and it of course makes a lot of sense. As the late Johan Cruijff always said: You will only see it if you get it. This was very true then and is very true now for me. Thanks Heiko for creating this video and now I will have a perfect z-offset setting as well (as soon as I get my feeler gauges).
I got a feeler gauge kit as well and I have used it once. I went back to a piece of paper. I always do a rough z-offset with the klipper probe_calibrate function and then I just adjust it live on a test print to get the perfect value for the filament type I'm using.
Very good, your method is scientific, what an engineer should do. I always wondered if i had the correct piece of paper.
the way i see it, for those who are more experienced ( or built differently ) can use the paper test confidently, but for newbies like me? I really needed that feeler guage just to grasp the concept. its different for some, only works for a few, but hey at least it works.
Thank you for your video!
I notice a difference with my printer: Neptune4Pro running klipper with a fluidd interface.
When you saved your Z Offset on the interface, next time you booted up, the Z Offset displayed 0.000 again. However, When I do so, the value I set it to remains.
Is that just a difference in how our dashboards / firmware versions handle the Z Offset? Or am I saving it wrong...?
Not sure but you should be able to verify if it was actually saved in the printer.cfg
The adjustment I do and save will be written into that file.
Good tutorial, I didn't read to see if someone else asked this, but are you concerned about the metal feeler gauge scratching the PEI sheet? Also, do you have any recommendations regarding self-Z Offset printers such as the Ender 3 V3 KE? It's supposed to fully do it automatically. However, I've heard you cannot trust it and if you run a calibration again, you will lose the offset you performed via Klipper.
I myself have not played with those printers yet. I am not worried about scratching the pei sheet. It is very durable.
I've been using a feeler gauge for years but for some reason it seems that 0.05mm gauge works best for me. Maybe it's just because of what I consider "feeling resistance" but also reminds me i need to get a new gauge
Thanks, Heiko, I also prefer the feeler gage method because it's a finite measurement opposed to just "paper". I Kept looking for the right paper, or they would get damaged or lost, etc. Once I bought my long set of feeler gages and got a PAD7 things have been much easier. Just to be clear, so the first layer should be the arbitrary distance? Can you please explain why the first layer is .3?
First layer thickness is dependent on your nozzle diameter, your print speed and also the flow rate.
If you have your z offset set with a feeler gauge (example 0.3mm) then the nozzle will actually be 0.3mm above the print surface when you print a 0.3mm layer height
Now you have a certain amount of filament coming out of the nozzle. If 0.3mm height is too high for the amount of filament being extruded the individual lines will not be squished together enough. If that is the case then lower the layer height. Does that help?
BIG thank you! Just moved my E3V2 from Marlin to Klipper, and the Z tuning is driving me nuts.
Glad it helped!
The Klipper documentation is clear on this. You set an arbitrary distance between the nozzle and bed while cold to account for nozzle expansion. This distance happens to be about the thickness of a sheet of paper, .100mm.
When at temp (typically 200C or above) your nozzle will come very close to the bed but not perfectly 0. You don't want 0. You MUST allow for material to flow and not be sheared by the nozzle movement in order to attain proper squish.
The first layer is never perfect accurate compared to successive layers, but must stick. Bed adhesion and squish is most important. Your cumulative error will fade out over a certain height.
Since the beginning of 3D printing the paper method has been around and it does compensate for expansion but I find it more reliable and accurate to heat the bed and nozzle and then use a feeler gauge. No compensation necessary. My first layer is dialed in every time without fail.
When you said you know only one other video where it is explained correct, i was betting you are going to say makers muse! Very good video and perfectly explained.
Ich denke eine kleine grafik (schnell ins CAD geschmiert) haette noch sehr gut beim erklaeren unterstuetzt.
This is a great video and the manual bed leveling is great. What are your thoughts on the auto bed leveling or the Z-offset wizard that both Klipper and Marlin use?
I have found that using the manual method gets closer to the bed than the "wizard" style levelling.
I noticed that your mainsail has a 'save' command next to the z-offset section's clear button, but my newly installed setup does not have it. I also noticed that save_config does not save the z-offset tune. Reddit says the command Z_OFFSET_APPLY_PROBE needs to be issued before SAVE_CONFIG.
this will probably help, as I get really confused by the z offset in clipper. When I press the save button, it restarts the printer but after loading back up it still says (-200) for the offset value, while in the video the (-200) disappears, as if he pressed clear instead of save
I was searching for a good in expensive feeler gauge, and then I started trying to think of common objects with standard thickness, so that I didn't have to wait. The ISO standard for a credit card is 0.76 mm. It may not be perfect, but it's way better than a sheet of paper, and could provide a head start on baby stepping.
this is definitely more precise than paper, but you're still having to subjectively feel the friction. 3D printers probably don't have enough rigidity to for us to ever get a perfectly objective measure, but one thing you can to to reduce the subjectivity: use 2 different thickness feeler gauges to as a set of go/no-go gauges. For example, lets say one 0.3mm thick and one 0.305mm thick. Then you adjust the z offset until the smaller gague fits under the nozzle, but larger one does not. In theory, this gives you a perfectly defined tolerance; if those 2 conditions are met, the nozzle's height must be between 0.3mm and 0.305mm. You can pick any 2 thicknesses of gauges, and the precision of your final result will be defined by the difference in their thicknesses. go/no-go gauges are a very widespread technique in all sorts of manufacturing because of how easy it is to quickly and precisely verify tolerances.
In practice, these are not industrial machines; if you slide in a feeler gauge that's just barely too tall to fit under the nozzle, the nozzle might deflect enough to let it in, giving you a false "go" reading, so depending on your printer's rigidity your real precision will be slightly worse than the theoretical value. So you'd want to choose feeler gauge heights that give slightly more precision than you need, to leave room for that deflection to eat up some of the precision. You can also minimize deflection by strategically positioning the toolhead to maximize rigidity; for example on a bed slinger like the one you're showing, the middle of the bed is actually the worst case scenario; think of how a beam sags under load, the largest deflection is in the middle because the moment arm is the longest. To maximize rigidity of the toolhead, you'd want to position the tool near the end of the X axis' travel, where the distance between the nozzle and the nearby Z axis rails is minimized. To maximize bed rigidity you'd want to position the nozzle above the most rigid part of the bed, like a standoff from the heater PCB to the frame below, or however your printer is designed (basically, try to position the nozzle above a part of the bed that's not a "diving board"). The optimal locations for minimum toolhead and bed deflection probably don't overlap, so you'd want to figure out a compromise between the two.
I am very cognisant about the deflection and I think the go/no-go method is a good idea.
After a while I developed the feel for how much friction is enough and how much is too much. The last couple of months I have had very good success with this Methode and very consistent first layers.
I really only redo the z offset if I either print a filament that requires higher temps and therefore could cause more expansion or if I switch the nozzle (or other work on the hot end). As long as I stay with the same nozzle and temp range, I don't touch it.
does this z offset get clear id you have a auto calibrate set up before each print?
Thanks for this! One of the few who actually explains what these z-offset really is and how to set it manually.
One thing i can't wrap my mind around is how it is connected to the endstop switch and how i should set this correctly.
What also irritates me is how klipper saves the z-offset value as "position_endstop = x". In my case I've done your method with a gauge set it to .300 absolute and ended with a offset of +0.075 so the "real" position was shown as [0.375]
Klipper was saving this in the coonfig file as "position_endstop = -0.075" which is causing an error because the value must be between position_min and position_max
Therefore i have to set the "position_endstop" value to a positive 0.075 to get it work correctly.
My understanding was:
I set the position_min = 0
This is the point my Nozzle is touching the printbed.
Also this is the point where my z endstop switch is triggered.
I applie a positive Z-Offset value and get my "real" Point 0
I am not sure what your Klipper is doing but in my config for my SV06 the position_min for Z axis is -4 If you put you z position to let's say 0.3mm and then use a 0.3 mm feeler gauge and move the nozzle with the z offset function until the nozzle touches the feeler gauge, then your printer will actually be 0.3 mm above the print surface.
You mentioned an end stop switch. So I assume you don't have a Sv06.
What printer do you have?
Great video thank you so much! but unfortunately for me when I save and retry the process it doesnt seem to actaully save, I've tried multiple times now and after homing the offset is as it always was again. I tried to also update the factory_printer.cfg itself with the new values but its not working either. I wonder if you are able to help shine a light on this for me? thanks again for the great video
So, it sounds like you are using Klipper, correct? If you control Klipper via mainsail or Fluidd then as soon as you click save config it should store it in your config file. Try to make a video with your phone of all the steps you take. Upload it to TH-cam as an unlisted video and then email me the link to it. I'll take a look.
Great video, very good explanation and makes sense. Thanks
Thanks for the comment.
Could this be expanded to include an electric contact? When the nozzle touches the feeler gauge it triggers a circuit that tell the exact offset for klipper
I think that would be a bit too complicated and entirely unnecessary. If I set the z axis to 0.4mm on the mainsail then use a 0.4mm and z offset adjustment on the mainsail, when the nozzle touches the feeler gauge the nozzle is 0.4mm above the bed. Feeler gauges have been in use for a long time in the industry and are reliable way of gauging the distance between to part (in this case bed and nozzle).
The z offset doesn't need to be done all the time. As long as the nozzle doesn't get changed you can literally set it and forget it. I have been printing for weeks and haven't done anything with the z offset.
Thank you! ☺️
Thank you. I don't know why this has not been spread far and wide. Calibration with a sheet of paper has never made any sense to me.
Great thanks 👍
It's weird to me that people would come here and argue that paper is better. It's not like you're forcing them to use your method.
True
hi on your other video of dealing with z alignment issues, where can i find more info on the belt sync mod???
I am working on a video as we speak. I might upload it tomorrow.
The reason people use printer paper is because it is 0.1mm thick. Which is a good starting point for first layer height.
sure, I rather to the hot feeler gauge method. thanks for your comment
@@Heiko-Prints oh yeah I love me a hot feeler.
@@regular3dguy830 😂 Unappreciated response
TY for the help
Stupid question, and a little late to the party, but do you activate the mesh prior to using the feeler gauge?
Bed mesh happens after z offset. In my Klipper system I actually do a Klipper adaptive mesh and purge before ever print.
Z-offset only gets done if I either mess with the bed or the extruder (i.e. change a nozzle...)
I had to go up by 0.120 but when I save config it says “Option ‘z_offset’ in section ‘bltouch’ must have minimum of 0.0 how do I get it to save at that height?
You use the normal axis movement menu to move the z axis to whatever thickness your feeler gauge is (example feeler gauge 0.4, set the z axis to 0.4) and then you use the z-offset menu to adjust until the feeler gauge actually fits. When you are satisfied save config. I don't know without seeing it, why you would get a bltouch message. Are you doing this in Klipper (mainsail or Fluidd)?
I am preparing to switch my Neptune 3Pro to Klipper and this was really helpful. I also have feeler gauges already, so I am happy I will be able to use them (I didn't have much luck the first time I tried). Just to be sure: if I use a 0.25 first layer, then I will use the 0.25 gauge to calibrate, right? :D
You can set the z-offset with any feeler gauge really. as long as you tell the printer to go to let say 0.4mm and then you check with a 0.4mm gauge, if it fits the z-offset is correct, if not your move the z offset up or down to correct.
No matter what gauge you use, as long as you do it precisely! After calibration the printer goes to the correct Z-height he get told from the gcode. No matter what start-height you have. With this calibration you only tell your Printer where he exact is in the calibration-moment. When Saved the Printer always know where the Bed begins (Zero) after levelling Z-Axis, no matter what you want to print.
Heiko more Videos please
The piece of paper denotes the anticipated thermal expansion of the nozzle when z offset is made with cold nozzle.
If you measure the paper with a micrometer you don't need the feeder gauges.
Add Z offset to what your first layer height is set to and be sure it's the same on all slicer profiles.
Happy days.😊
So, instead of needing a cheap set of feeler gauges, one now needs a micrometer to measure paper. 😉
At least in Klipper the z offset is the distance between the trigger point of the bed leveling sensor and the point where the nozzle is at z = 0.
When I set my preheated bed and nozzle to 0.3mm and stick a 0.3mm feeler gauge in there and use z offset correction to get the nozzle to touch, then z= 0 is actually 0.
With Methode I save config in Klipper and I don't need to mess with slicer profiles. Cheers, Heiko
@@Heiko-Prints well I have a micrometer but you could use verniers which most 3d printing enthusiasts should own. Anything that can measure 0.01mm increments.
Also the offset setting shall be made at the same point where probe measured the bed. If your bed is not trammed perfectly or you have irregularites on your bed, the measurement way you do it might be incorrect.
I have the sv07+ , and trying to get kamp function to work, but cant get to mesh..
Do you have a guide
Not in the form of a video but you have to include the kamp_setting.cfg in your printer.cfg. You also have to include the Adaptive_meshing.cfg in your kamp_setting.cfg . Once you have done that it should do it.
Problem is that nearly all of us use a slip of paper under the nozzle, which is about ~0.1mm thick. So on position 0mm we are actually at ~0.1mm. But thats no problem as 3D Printers are no rocket science at all. The first layer is allways a special layer. Make a testprint and adjust the height acordingly.
I still don't get your method that might look right at first glance if you were nozzle probing but not if you use an inductive, 1st you assume your probe repeatability is perfect, if you home 3 times I'm pretty sure the printer will NOT stop on the exact same place every time and better don't consider changing just a bit hotend or bed temps as they will instantly cause deviation of that probe. second when you home the printer is going to trigger at the probe trigger height, let's say something between 2-3mm, then you manual retract to 10mm position but relative to that trigger point because that's the new zero that the machine set when you homed (if the z offset/probe offset was still not set ) so you're really at 12-13mm , then move to 0.3mm and your nozzle goes very close to that when it actually should stop at the point where the probe triggered plus 0.3, then your offset should be calculated based on that trigger height plus any minor mechanical tolerance correction due to probe accuracy. There is a parameter missing here to make sense of this. Long time printing done that been there and if it were as easy as you paint it, all the printers will produce perfect results (and we know is not true), there's a lot of science behind a perfect first layer and I doubt it can be solver with a feeler gauge.
I am not sure if I understand.
The z offset calibration is used to tell the computer where the nozzle is in relationship to the probe trigger point. Btw those probes are very accurate. Some TH-camr, it might have been Teaching Tech Or ModBot who actually did accuracy testing. They are within a couple of hundreds of millimeters. So doing an accurate z offset does pay off.
The trigger point is never consider Z axis zero because right out of the gate the config in your firmware will have a z offset stored. The trigger point is probably as you 2-3mm from the bed. Usually the probe is set to a level that at its trigger point the nozzle doesn't crash into the bed (probe is height adjustable).
So if the probe is adjusted that the nozzle stays well clear of the bed, the system takes the trigger point and the z-offset to know where z axis 0 point is.
Let me try this a different way. Let's say the trigger point for the probe is exactly at 3mm and at the probe trigger point the nozzle is still 1.5mm above the bed, that means the z offset is 1.5mm. we enter the z offset of 1.5mm into the config (in Klipper that is done through save config).
So the computer now knows that when the probe gets triggered the z axis is at 1.5mm z height. (With other words, it know when probe triggers that the nozzle is 1.5mm high)
I hope this makes sense.
I will have follow up video coming out tonight or tomorrow.
I hope it will clear thing up.
Ok I got the Feeler Gauge in your description.. Thank you.. But My printer has made this sound since I got it and I'm Wondering what can be done to fix it .. th-cam.com/users/shortsKoXWfDLriH4 Thanks in advance.
Sorry, I can't open that link. It give me error message.
@@Heiko-Prints Try this please. Also My printer STOP at the last location and just oozes messing up the last part of the print. with Klipper, I am using Orca BTW... th-cam.com/users/shortsKoXWfDLriH4?feature=share
I find that .3mm is not low enough for my printer. I'm using a .25mm feeler gauge and still need to come down with live adjust.
The thickness of the feeler gauge has no bearing on things. You could do 0.7. Set your z position to 0.7mm and then use the z offset function to touch the nozzle to the feeler gauge. Save config and Your nozzle would literally touch the bed if you would tell the printer to put the nozzle at 0mm. That is the whole point of this exercise.
I like to use the thinner gauges just because they are more flexible than the thicker ones.
Thanks for your comment.
@@Heiko-Prints I think I didn't understand the point you were trying to make in the video and had to watch it again to wrap my mind around it. I finally got it.
How is doing things the right way being ignorant? No feeler gauges are the ONLY correct way to do this.
This is incorrect, it is NOT a correction between nozzle and bed, that has nothing to do with it. Z-Offset is a fixed value of the vertical distance in mm between the tip of the probe, and tip of the nozzle. it is a negative value and all it does is move Z down to put the nozzle in the same position that the probe tip was when it found the bed. first layer gap should be done in the slicer.
I marlin it might be a negative value. In Klipper it is a positive value. Klipper saves the z offset as the nozzle height above the bed when the inductive probe is triggered. In my current case when the probe triggers the nozzle is 1.321mm above the bed. This number is straight from the printer config file .
When I tell the printer to park the nozzle at a z height of 0.4mm and my 0.4mm feeler gauge is either too loose or too tight I correct that in the z offset section of mainsail and when I am happy with my adjustment and feeler gauge slights in with the right amount of friction then save config will write the correct z offset into the config file.
So here in this case the z offset value in the config is not the vertical distance between probe and nozzle but the height of the nozzle above the bed when the probe gets triggered.
The first thing you are referring to is Z_PROBE_OFFSET command.
This is not the same as z-offset!
Can you explain what you mean by "first layer should be done in slicer"?
Layer height adjustment in the case of klipper is done in the mainsail/fluid interface in the z-offset section