Chris I can't say enough about how much this has changed my printer. I got a new inductive probe and an SKR Mini E3 V2 and have been fighting getting the bed leveled. Even with an automatic 25 point probe before each print I was struggling to find the right height on my not-flat bed. I followed your instructions and the very first print nailed the first layer with no intervention from me. This has truly made a huge difference for me. Thanks for putting this together.
You see chris, this is why the community needs you. You're the only one that I'm aware of that breaks down marlin in a such pleasing way. Easy to follow and covers all the scenarios. Thank you
So I'm replacing my stock 8 bit controller with a 32 bit controller tomorrow...and I was preparing a marlin .bin for it...thank you so much for making sure that I do this project on *another* day. I'll stick with bilinear for now! Thanks! This looks amazing and stupid-easy once it's set up...but I really appreciate your video letting me know how many steps alone it is just to get running. I'm sure I'll be able to do it when I'm ready though and I've bookmarked this and subscribed just for how easy to follow this was!
@@ChrisRiley Hi thanks I resolved the problem LINE 1264 #define MESH_INSET 1 I changed (1) to (46) bacause when I let (1) I only get 55/100 point // Set Mesh bounds as an inset region of the bed I tried 35 and I get 90/100 So to get 100/100 I set line 1264 MESH_INSET TO 46 #define MESH_INSET 46 //46=100// //45=99// //35=90// // Set Mesh bounds as an inset region of the bed But some of points (87/100 - 88/100 and 89-/100 are out of the bed (behind) the prob d not touch the bed
This is one of the most if not the most comprehensive guide for UBL that I've seen. Thanks a ton! They should include this video to the marlin documentation!!!!!!
I just had to comment on how appreciative I am for your effort on educating us about 3d printers. You have got me through some hard times with setting up my printer. Little did I know the deep waters I was entering when I upgraded my ender 3 pro motherboard from a silent creality one to the skr 1.4 turbo. I had no previous experience with visual code or g-codes etc. But watching your tutorials with your easy to understand method of teaching has helped me sooooo much. I still have a long way to go but I'm starting to understand this stuff now and it isn't as daunting as when I began. Thank you.
Ive been fighting this on my second sv01 for months. Found your tutorial, and it is simply amazing how you go step by step, so no guess work needed. THANK YOU!!!!!!!
Back in 2016 or so I was watching the Marlin GitHub issues and PRs daily. As I recall, Roxy was one of the key developers on this feature, and it was great watching the progress. I moved away from having a printer that used “straight” Marlin, so never got a chance to test the working version. Very impressive to see it all come together.
your a genius, fired my printer up after not using for a year or more, and have spent two days of frustration, then found your video again. Thank you sir!
Dude! Very nice tutorial - thank you so much! To me, the most important part was which GCode commands should be set in my slicers to load the mesh and compensate it just with eventual tilt changes. Thanks!
Chris, thank you so much for the video! I've upgraded my printer and had a hard time configuring it. Was able to resolve all my issues with Z calibration.
Some of the best 3D printing videos made! Added bi-linear to two of my printers using your how-to on the subject. May try this on my TEVO Tarantula that's due for a tear down. Keep up the great work!!!
I found interesting thing about my anycubic kossel. It has fixed bed, so it twists different with different temperature. So I decided to calibrate ubl for each type of filament. And then you can use filament override options in prusa slicer. Works great. I did delta calibration on cold bed. Then I preheat it for 65 / 75 / 95 Celsius and made a UBL for each one. Difference between 65 and 95 Celsius is really visible.
One of the best tutorials I found about this topic, congrats, however there is a small note, pre bed leveling is required or you can face that sensor is not able to capture all points on the bed during process. Regards
I have a sovol SV03 and no other tutorial has helped me better than this one. I'm fairly new to 3d printing so I couldn't figure out why my prints were doing so bad after I left for a while. Thank you very much!
Chris, couple of more comments. One thing to look out for is if you set Z safe home, you will prime in the middle of the bed when you use G26 G10. So you should first do G28, then G0 X0 Y0 Z2, then do the G26 P10. Also, my print looked like cr*p because I am using a bowden setup and I don't think Marlin does retraction unless you have firmware retraction setup. I changed to firmware retraction and the G26 test print looked much better.
Chris, thanks for this very good intro to UBL. I had it once activated but 'Real men don't read instructions' and didn't knew what to do, so back to bilinear ;) Just set it up on my Sapphire Pro (SKR 1.4 Turbo).
thanks chris, obviously working on this a precursor for this would be to make sure you have got your bed size correct in marlin and on the printer as this might be different from physical bed size. 🙂. currently working on that
Hi Chris, Very clear instructions !! Congratulations and ... thanks! What catch my eye too was the magnets under the front edge of the heat plate. Clear for me, it's not an "industrial" made heat plate. Could you supply some info (heat plate type, magnets type, adhesive type, solution reliability)? Maybe a short video? fusi (Romania)
Thanks! I just grabbed this sheet off my MK3 for this video. It's this sheet here. shop.prusa3d.com/en/mk3mk3s/216-spring-steel-sheet-smooth-pei.html I just used some small magenets I had. These I think. www.amazon.com/DIYMAG-Refrigerator-Magnets-Premium-Brushed/dp/B07B3SDRCP/ref=sr_1_4?keywords=round+8mm+magnets&qid=1579298022&sr=8-4
Hi Chris - amazing guide thanks so much. I had a look through the Marlin docs and found the variables P5 and P6... on first glance they appear to do the exact same thing as the Z-offset. Are you able to elaborate on the purpose of these two? Is there an advantage of using these over the z offset or vice versa? Cheers
Cheers dude, followed your step by step guide and breezed through the config! It took me longer to update to the latest marlin bugfix then it did to implement this :D
Hey Chris, awesome video! It helped me a lot setting up UBL on my SKR v1.3. I am struggling with the mesh editing feature though: when I try to edit points via the LCD menu the carriage doesn't move in the pattern your's does on log (from left front to right and then one row over) but instead some different location often outside my print area... crashing... I homed before editing with G28 and have RESTORE_LEVELING_AFTER_G28 enabled. I also have Z_SAFE_HOMING and ENABLE_MESH_EDIT_GFX_OVERLAY enabled with a BTT Full Graphic Smart Controller Display. Regarding the erratic pattern one more thing: when I issued the G29 P1 command (after G28 of course) it didn't move in a spiral pattern as described on the marlin documentation but in a very random pattern. It completed though without the two rows the probe just couldn't reach. I populated those with G29 P3 and checked with G29 T - like you explained - and everything looked ok... but trying to edit these extrapolated points via LCD did not work (the others also didn't...). Furthermore moving my nozzle via pronterface close to the points in question and issuing a G29 P4 initiated the edit menu on the lcd but doing a G29 T after that showed the brackets in a different row (same column) at least close to where the probe sits and not the nozzle... do you have a clue what might be going on? Thanks in advance.
Thanks! I am not really sure what is going on there. I think somethings have changed. I need to run through it again, maybe it's time for an updated video.
Quality content, I've read that you should use an uneven number of probing point as it is better for some reason, Quess it doesn't go trough (0;0) otherwhise and marlin doesn't like that or something.
Superb tutorial as always Chris. I'm still using Bi-linear levelling on the Borg, which is working perfectly. Will probably give this a try at some point too though.
@@ChrisRiley Yes it was! Today I'd flash new firmware and did UBL> Result - almost perfect. Only my Z probe offset was too low) The only difference is to calibrate your delta before performing G29. Otherwise, that will not work.
Another excellent video! I followed the process (including buying and fitting an inductive sensor) and got all the way to compilation phase to discover the CR-10 controller is ~64kB short of program memory for these features! Dohh. Can you recommend a controller I can fit instead that works well with the latest Marlin release for UBL? I can sort out a separate display/encoder if the stock CR-10 unit is incompatible. Thanks, Alex
Great video, altough - the G29J - I found to mess up the actual saved mesh by "adjusting" to the same number for all spots (visible after print with G29 T). So I use G29 L1 G29 A (just to be sure) - and then my first level takes benefit of that long G29 bed level we do in this process. I run Marlin 2.0.x.bugfix, might be something who differs from 1.1.9
Hi Chris, I set up UBL with the help of your video and have a question. I had to remove the print bed on my printer and figured I would run a G29 again to see if I changed the mesh. I had to refamiliarize myself with the parameters and found it has a K parameter that is suposed to compare a current mesh with a saved mesh. The Marlin website only shows the syntax as [L]. I can't seem to figure out what that means and they don;t give an example. Do you know how to specify comparing a newly acquired mesh to the mesh in slot 2? Thanks for all your great videos.
@@ChrisRiley Thanks for the reply Chris, I’m pleased to know that my questions are getting better. I saw a bug report on GitHub about G29 K (kompare) but it was abandoned without resolution. It would be great if they would include an example because the problem is probably a syntax error. Keep up the good work!
I love your videos.. its just geeky enough for the tech guys and simple enough for the noobs.. HOWEVER : I would like to see more stuff t the end.. how to fix things when it goes wrong.. like on this video .. if your inset is not right and the props tries to prob off the edge of the bed or if you have a large gap between your BLTouch and the nozzle and it can't reach all the spots.. G29P3 GUESSES don't work well when things like that fail.. and its tough to fix from octoprint.. also some vids on when octoprint goes haywire... cause octoprint modifies geode on the fly and streams it to your printer kinda like clipper . and Canada a bunch more tuning of footprint to do.. (like if your octoprint bed size is different than your Cura settings.. and octoprint clips edges square when you actually have bed space ( full bed problems) or plugins that show you the bed visualizing and it actually mods the code..
great video! Have you ever seen the G26 test pattern happen well off center (each pattern is 50mm from the left edge and runs off the right edge)? It's happening on 2 of my printers and I'm not sure how to fix it.
Nice concise video Chris. I appreciate you get right to the point. I have a question about marlin 1.1.9 and I believe if anyone knows quickly, you would. Ill get right to it, I swapped out the mainboard in an Anet E12 for a Creality Cr-10s 1.5 Board. Works great after flashed with Marlin 1.1.9 . The machine has dual Z steppers and the usual X,Y and E Steppers. The new board has those sockets as well as a 6th socket for a second extruder stepper. Im using Ramps_14_EFB in marlin, (from the examples/creality/cr_10s folder) The new board supports dual extruders but no matter what settings I adjust In the RAMPS or PINS H or Configuration H I get an error in arduino that the socket is currently in use for the second z stepper and halts. My question, Do you know Is there a Setting or a way to add pins for the sixth socket so marlin can access the extra socket thus allowing me to the use dual extruders? Thanks again Chris.
Hello, so that board has 6 stepper drivers on it? Usually you would hook both Z motors up in parallel to one driver then use E0 and E1 for your extruders. What board do you set Marlin to in your config?
Yes, 6 stepper sockets. I found a limited tutorial on the sellers blog stated to copy the CR-10S config files in Marlins example dir. The board arrived with a boot loader only. No system. But has a big chip do marlin 9 fits great with almost all the features enabled. The marlin configs have RAMPS_14_EFB.H listed as the board and it's worked flawless. I've tried a few different settings boards from examples. I found a pre configured CR-10s sets but it was marlin 1.1.5 and used RAMPS_13_EF which doesnt support a heated Bed . I understand the usual boards for 2 extruders the drivers are ran parallel but hey, the board was $39 on Ebay and has the extra socket so, trying to use em. Attempted to upload a pic of the board. Its listed as a creality v2.1 but got no joy.
@@doncland Ok, then really we just need to know what pins that 6th one uses. We need a pinout diagram or maybe we could pull the information from that older version of Marlin.
Yeah, have been searching for a pinout map for this board with no luck. The older version didnt use the 6th socket either so wasnt much help. Attempted to extrapolate what the logical next set of pins would be but the board has 6 extruder sockets, 3 filament /Bed sensor sockets, 3 thermistor sockets, 3 end stops sockets, 3 case fan sockets and 2 adjustable nozzle fan sockets. My attempts at devining the pattern led to some interesting and unexpected results. None of any use whatsoever. I keep checking the sellers on Amazon and Ebay for driver updates and info. (found the Marlin 1.1.5 on an Amazon sellers page). Im sure over not too much time this board will gain support. It was practically plug and play. Well design too with built in extruder mosfet so no overheating problems either. And at $40-$50 us, I thought it was a bargain full of features. Thanks for you assistance Chris. I let you know If I get anywhere with this. And keep up the Excellent videos. Very informative and direct. Take care and happy printing.
Thanks Chris, quick question, in the beginning you mentioned to set Endstop_Inverting to "TRUE". If my printer is already working properly with "False", do I still need to change them to "True"?
Great video. Daft question. Do I need to run the three-point level before a print? Or do I simply load the stored mesh and ensure UBL is enabled? Thanks!
I have tried to set it up but i get the fallowing #error "MESH_EDIT_GFX_OVERLAY requires AUTO_BED_LEVELING_UBL and a Graphical LCD." I don't have a graphical LCD, i have a REPRAP_DISCOUNT_SMART_CONTROLLER It looks exactly as the one from prusa it's actually in a prusa case, did you set anything else diferently? Cheers for the video, keep them up they have opened a new world for me so far.
Great video! Many thanks. I wonder why dial indicators are not used more by 3D printing geeks? The Chinese ones are cheap, accurate, and can be temporarily held in place by a magnet. Their use (on a temporary basis) would eliminate the extra electronics for a leveling probe. More importantly this would reduce print head weight. Also they would work with any print bed material.
You know, I have one and I have tried it many times before with mixed results. It would be nice to find a smaller one that could be easily integrated into the build. I might have to look for one and give it another go.
Chris, nice video. Your videos are always well done and very helpful. You mention setting MESH_INSET to avoid the perimeter of the bed. Would this already be addressed if you use MIN_PROBE_EDGE which works across leveling types?
Amazing tutorial! Thank you, Chris! I am using BL Touch, Blinear and Ramps 1.4 in my reprap 3D printer. It was working well until my nozzle, after some prints, went down to the bed, ignoring my Z probe offset. So, the filament didn’t prime on first layer, resulting a big mess. Do you know what is happening? Once again, thanks for your helpfull tutorials.
I would suggest not heating the nozzle, or if you do, remember to pull out the filament first. I didn't think of it at the time, and ended up cooking the PLA inside, as G28 P1 takes a looong time (especially if you turn heaters off and on between probes), and ended up with a massive clog. And G26 P10 for me just squirted on site and started the pattern (I have safe Z homing at the bed center). Otherwise, the best UBL guide out there (although I'm still not clear what G29 P2 and G29 P4 are really supposed to do). The Marlin guides still need some improvement to be more clear.
Hi Chris ! I've learnt a lot with your channel, especially understanding Marlin FW . However, i've followed every step on this video, i cant have a decent G26 Mesh, Once i finish fine tune all the points, and when i do a G26 to validate that bed leveling, the extruded material ( PLA @210°C on HB @45°C) is higher on the right side than the left side, do you have any tips and tricks regarding this problem ? also when i print the validation final validation pattern ( the STL one you use at the end) give me same result, larger on one side than the other ... How ever, the problem is not as visible as it is when i use Bilinear leveling ...
This is the downfall of UBL, it sounds silly, but you have to be almost level before UBL will work. Run bilinear from the terminal and look at the map, try to level out your X as close as you can. Once that is really close, try UBL again.
Thanks Very Helpful , On a side note after doing this i could not get my printer to extrude out the rite amount, found out that enabling eprom overrides the steps per mm in Marlin, had to send the steps per mm in the terminal and then save it to eprom, if that makes since, still new at this, thanks KH
Hi Chris! Some questions: 1. You say the MESH_INSET should be as big as possible, shouldn't it be as small as possible? I'm having some issues with setting this correctly 2. Can you give some more information about G29 P2 B? I'm trying to create a mesh that includes the whole print bed, including the edges. Of course my probe can't reach part of the edges. P3 doesn't do this correctly, and P2 should help with this, but I'm at loss on how to use this command and set the correct shim. The Marlin notes are not very descriptive. 3. When you edit the mesh and edit the points, do you have to guess the right offset? You started with a paper to measure the height, but while editing you are not using it. When trying it on my printer I also see the Z is not changing when I change the height on the LCD; how can you use this properly then? Thanks in advance :)
1, yes you are correct, you need to have your probe area as big as possible. The other two questions I am not sure about. I am going to do a revisit video on UBL.
@@ChrisRiley Thanks for answering! I figured out how G29 P2 B works now, the UBL Info page you link in your description actually does a fairly good job of explaining how it works. Thanks again for the video, cleared some things up for me! :)
I have a ADIMlabs printer that is based on the CR-10S with a capacitive probe... I have the latest UBL Marlin flashed on the Arduino board would but I noticed a lot of code parameters that you implemented in Arduino are different than how I setup my probe... I was curious if this step-by-step video will work with my setup? Sorry if I left out info if you can assist let me know!
When I did the Z offset like you said around 11:00, I got a Z value of -12.4mm which seemed very large but I tried it anyway and then when I went to print, the printhead slammed into the bed. Why was the Z offset so high? It seems like there are 2 Z probe offsets, one in the firmware and one in the printer menu. When I go into Control-Motion-Probe Z offset it was set to 2.3. Why was it so big when I tried to use the method you described, then why did it slam into the print bed after? When I did G1 Z0 before manually moving it down, it was way high up off the bed so I needed to lower it 12.4mm. I'm very confused now.
Hi Chris ! Great video, super clear thank you ! I have a little issue, when I run the G26 P10 command, the printer starts printing and goes extremely fast. Is there a way to reduce the speed of the mesh validation tool. Is there a way to set up the speed ? Thanks !
@@lucaszito109 On your LCD you should see FR, that means feedrate. If you roll the KCD knob down the feedrate will lower and slow the machine down. See if that impacts the UBL speed.
Thanks for this guide. G29 works just fine for me, I am stuck with finding the right Z offset. it seems to change all the time. Why did you heat the nozzle for G29 P1? Why don't you uses M290 babysteps for Z offset?
Thanks! I have a couple of delta videos out there on leveling. One manual and one auto leveling. Delta auto level with G33 pretty much does UBL already.
Its exactly the same on a delta except that you have to change two lines in the config_adv, saying it must probe from -radius to + radius instead of from 0 to radius, as will otherwise only probe the right back corner. UBL was usefull to me as was faster then the full calibration and my full calibration sometimes "tilted" my bed. but I traded UBL for linear advance (on an 8 bit, you have to choose with a discount dicplay) and a flatter bed now.
@@ChristoffL Thanks Christoff for the confirmation. I was going to go into some of the memory usage and delta stuff in this vid, but I ran out of time.
Hi Chris, I have a problem with my inductive sensor (5v). My Z_Offset is correct but after the print, I notice a drift of the Z. What is going on? Do you have a solution? Thank you for your videos which are always of great interest ... Continuous, do not change anything ... José
@@ChrisRiley Thank you Chris for your response. I continue to test to find a solution. If you make us a video, it's great .... Thank you and see you soon
This is the part I have so much trouble with. I don't know why I find it so difficult to comprehend the z offset. I'm saving this video to try this out. Also, I have a mks TFT 32 touch screen. Will this work as far as the grid thing is concerned?
Is there a way to use the Octoprint Bed Visualizer plugin to have your printer take the values measured and adjust your Gcode to account for the errors in your bed? I have a warped bed and would like to use the bed visualizer to automatically adjust my Gcode to change the Z height to create a more accurate print that accounts for the errors and makes a near-perfect first layer print....
Hi Chris, It appears that you are using the nozzle as the probe element for the UBL mesh generation. Is that the case? If not, what probe element is used? Thanks.
@@ChrisRiley , Thanks for confirming the z-probe method used in your video. I see that the Marlin 2.0.1 release lists a new function: “NOZZLE_AS_PROBE.” Will be investigating this. Might you also?
I salvaged a FLSUN i3 Plus and was able to load it with Marlin 1.1.9 that the seller provided for this particular printer and performed autolevel with the blue box inductive sensor it has. At first I found it needed -1 offset and it printed perfectly. I think I presed the dial in some of the, for me, misterious options like "load" or "save" or "reset" EPROOM and now it prints in mid air! Will hav to start again from the begining as it seems lots easier than this procedure. But lets see if I feel confidnt enough to venture in such a cumbersome process. And I was going to start trying to avoid stringing in prints! Can you make a tutorial for that also? Best regards!
Always appreciate your tutorials.....I always learn a lot and keeps me playing with my printers! Curious on the print head on your printer....are there files so I can build that setup for my machine?
Fantastic tutorial, thank you very much. Is there any other possibility that replaces G29 J so that it makes a leveling of more points? Or is leveling three points enough? Before upgrading to 2.1.1, G29 was doing me a level 4x4 Greetings and thanks
Thanks for this. I was able to setup UBL following these steps. However, after the test print using G26 P10 which prints fine, the LCD is showing "Leaving G26" and is stuck there. I can't do anything without rebooting. Is there a way to end or disable this message?
Hey, Thanks for the great video - actually never got that far. but I still face an odd issue... so when I do G26, the pattern is printed just fine, but if I start a print directly after that, the auto leveling is not kicking in... even though it tells me that the mesh is loaded and Bed leveling enabled... do you have any idea? cheers, Matthias
I think you will still have to activate it with some sort of G29 command in your start Gcode. I can't remember them off the top of my head at the moment, but in the video I think I used a quick 3 point level to get it working.
Thanks! It could be a lot of things. What version of Marlin are you running and what sensor do you use? I ask about Marlin because there is a 2.0.1 release now.
Yes, I am using Marlin 2.0.1 with a BLTouch. My initial grid G26 P10 comes out terrible. The center is ok where it starts but almost all of the edges as well as a few random spots are bad. It will do many half circles.
@@jaketaylor3151 I think you might be suffering from issues with the BLtouch, others have reported problems. I guess I need to get a new one and test it.
Chris, I need your expert help. I have a Geeetech MeCreator 2 and I want to put marlin on it with auto bed leveling with the BLTouch. I need your help to get this working on my machine. Is there a way that you and I could get together for you to help me? Please let me know and thanks for reading.
I’ve a UBL set up and installed on my Gantry Pro but when I try to level the bed the nozzle is pushing into my plate and I’m beyond frustrated and no matter what I do (adjusting the Z height etc) I can’t get a print to work using Arduino and Marlin. I’ll attempt using your tutorial and see how I get on. 😢
Does UBL work good with Buildtak (or other like Prusa) removable beds that are taken off and put back on after prints? Does taking these removable beds off and on again change the height of the bed ever so slightly where the UBL grid points were originally obtained and therefore make the UBL grid obsolete?
Yes, it will work, but you should probably have a grid for each different sheet. If you are using the same sheet it's not going to make that much difference.
Hi, can you do the same for a delta type. I'm having a lot of problems with UBL. I know i'm a special case because i have a TFT32 so i have to use pronterface. Long story short, i started with the G33 until almost constant results, in DELTA_HEIGHT, DELTA_ENDSTOP_ADJ, DELTA_RADIUS and DELTA_TOWER_ANGLE_TRIM. After that i enabled UBL and went with this commands, G28, G29 P1 T, G29 P3 T (until all populated), G29 S1, G28, G29 L1, G29 A, G29 S1, M500. Before doing the G29 P3 commands the matrix looked like a "circle" because of the null values, now looks like a "square" because the matrix is completely populated but here is the problem, when i run the "G26 B60 H205 F1.75 L0.2 S0.4 P2 Q7" command the made up values created by G29 P3 are outside the print area so i had to do a emergency stop, that is G26 is trying to print a big square on a smaller circle, i don't understand why marlin is not applying some kind of limit to G26 for it to only print "printable" points, so now i can't go to the final steps of the calibration, which are G42 I J and M421 Q, because the G26 has to be aborted. I don't think there's something wrong with configuration files because the travel limits, the boundaries for probing and MIN_PROBE_EDGE are as far as i can see correct. Sorry for the long post.
This comment is from way back, but I am not sure why I missed it. You are better off on a delta using it's auto level. G33, the UBL doesn't work out so well, but I haven't tried it in a long time, so maybe I need to take another look.
Chris I can't say enough about how much this has changed my printer. I got a new inductive probe and an SKR Mini E3 V2 and have been fighting getting the bed leveled. Even with an automatic 25 point probe before each print I was struggling to find the right height on my not-flat bed. I followed your instructions and the very first print nailed the first layer with no intervention from me. This has truly made a huge difference for me. Thanks for putting this together.
That's awesome to hear, I am glad it helped you.
You see chris, this is why the community needs you. You're the only one that I'm aware of that breaks down marlin in a such pleasing way. Easy to follow and covers all the scenarios.
Thank you
Thank you!
I regularly come back to this video if I need some help troubleshooting and/or re-leveling. Can't say enough how great this walkthrough is.
Thank you
Same! I've been here at least a dozen times :)
So I'm replacing my stock 8 bit controller with a 32 bit controller tomorrow...and I was preparing a marlin .bin for it...thank you so much for making sure that I do this project on *another* day. I'll stick with bilinear for now! Thanks! This looks amazing and stupid-easy once it's set up...but I really appreciate your video letting me know how many steps alone it is just to get running. I'm sure I'll be able to do it when I'm ready though and I've bookmarked this and subscribed just for how easy to follow this was!
Thanks for the sub, good plan on holding off on UBL for now. It has changed a bit, I plan on making an updated video.
Chris, all I can say is "Wow!" Thank you for taking the time to do this video. Wow!
Thank you for watching! Glad it was helpful!
@@ChrisRiley Hi thanks I resolved the problem
LINE 1264 #define MESH_INSET 1 I changed (1) to (46) bacause when I let (1) I only get 55/100 point // Set Mesh bounds as an inset region of the bed
I tried 35 and I get 90/100
So to get 100/100 I set line 1264 MESH_INSET TO 46
#define MESH_INSET 46 //46=100// //45=99// //35=90// // Set Mesh bounds as an inset region of the bed
But some of points (87/100 - 88/100 and 89-/100 are out of the bed (behind) the prob d not touch the bed
This is one of the most if not the most comprehensive guide for UBL that I've seen. Thanks a ton! They should include this video to the marlin documentation!!!!!!
Thank you! I was actually thinking about doing an update video.
I just had to comment on how appreciative I am for your effort on educating us about 3d printers. You have got me through some hard times with setting up my printer. Little did I know the deep waters I was entering when I upgraded my ender 3 pro motherboard from a silent creality one to the skr 1.4 turbo. I had no previous experience with visual code or g-codes etc. But watching your tutorials with your easy to understand method of teaching has helped me sooooo much. I still have a long way to go but I'm starting to understand this stuff now and it isn't as daunting as when I began. Thank you.
I'm glad I could help! Thanks for watching
Ive been fighting this on my second sv01 for months. Found your tutorial, and it is simply amazing how you go step by step, so no guess work needed. THANK YOU!!!!!!!
Glad it helped!
Back in 2016 or so I was watching the Marlin GitHub issues and PRs daily. As I recall, Roxy was one of the key developers on this feature, and it was great watching the progress. I moved away from having a printer that used “straight” Marlin, so never got a chance to test the working version. Very impressive to see it all come together.
Yeah, it's kind of strange we have seen a lot on cartesian UBL. It's been around a while, but it doesn't seem that a lot of people are using it.
your a genius, fired my printer up after not using for a year or more, and have spent two days of frustration, then found your video again. Thank you sir!
Glad I could help
Chris, as always an excellent tutorial ... I have used your tutorial of bi-linear leveling and never failed. Keep up the great work !
Thank you! Great to hear it worked!
Hi Chris, just spent the last 2 hours playing with UBM, didn't know it even existed! thank you for the great content.
Great! Glad it was helpful!
One thing I noticed with the g26 command, after I g28 the print started from the centre of the bed (home location) how do I solve this?
@@uksmudgesmith Not really sure on that one, you can send it to 0 0 manually, g1x0y0
FYI the slots for meshes are numbered from 0 to 6. 0 being the first slot. Thanks for posting the video, very nicely done.
Cool, thanks.
Dude! Very nice tutorial - thank you so much! To me, the most important part was which GCode commands should be set in my slicers to load the mesh and compensate it just with eventual tilt changes. Thanks!
Thanks! I am glad it was helpful.
I can't figure out why you don't have more subscribers than the typical Toy Boy maker channels...keep up the great "to the point" honest content.
Thanks man! We are getting there.
Chris, thank you so much for the video! I've upgraded my printer and had a hard time configuring it. Was able to resolve all my issues with Z calibration.
Glad it helped! Thank you!
Some of the best 3D printing videos made! Added bi-linear to two of my printers using your how-to on the subject. May try this on my TEVO Tarantula that's due for a tear down. Keep up the great work!!!
Thanks Matt! The comments are much appreciated.
This video amazing! I was able to take some parts of it away and finally get UBL working, thank you!!!
Excellent!
I found interesting thing about my anycubic kossel. It has fixed bed, so it twists different with different temperature. So I decided to calibrate ubl for each type of filament. And then you can use filament override options in prusa slicer. Works great.
I did delta calibration on cold bed. Then I preheat it for 65 / 75 / 95 Celsius and made a UBL for each one. Difference between 65 and 95 Celsius is really visible.
Great idea, nicely done!
One of the best tutorials I found about this topic, congrats, however there is a small note, pre bed leveling is required or you can face that sensor is not able to capture all points on the bed during process. Regards
Thanks David. I did find it has to be pretty level before it will work well.
I have a sovol SV03 and no other tutorial has helped me better than this one. I'm fairly new to 3d printing so I couldn't figure out why my prints were doing so bad after I left for a while. Thank you very much!
Great to hear!
Chris, couple of more comments. One thing to look out for is if you set Z safe home, you will prime in the middle of the bed when you use G26 G10. So you should first do G28, then G0 X0 Y0 Z2, then do the G26 P10. Also, my print looked like cr*p because I am using a bowden setup and I don't think Marlin does retraction unless you have firmware retraction setup. I changed to firmware retraction and the G26 test print looked much better.
You can actually set all that with the G26 command in line if you wish marlinfw.org/docs/gcode/G026.html.
As always you are the best at explaining and being great at the details. May have to give this a try - Thanks for the video.
Thank you! Good luck on your setup.
Chris, thanks for this very good intro to UBL. I had it once activated but 'Real men don't read instructions' and didn't knew what to do, so back to bilinear ;) Just set it up on my Sapphire Pro (SKR 1.4 Turbo).
I hear that! LOL, glad it's working for you.
You are just amazing. I was struggling with UBL your video solved my problem.
Awesome! Thank you!
thanks chris, obviously working on this a precursor for this would be to make sure you have got your bed size correct in marlin and on the printer as this might be different from physical bed size. 🙂. currently working on that
Definitely! Thanks and good luck with your projects!
Hi Chris,
Very clear instructions !! Congratulations and ... thanks!
What catch my eye too was the magnets under the front edge of the heat plate. Clear for me, it's not an "industrial" made heat plate. Could you supply some info (heat plate type, magnets type, adhesive type, solution reliability)? Maybe a short video?
fusi (Romania)
Thanks! I just grabbed this sheet off my MK3 for this video. It's this sheet here. shop.prusa3d.com/en/mk3mk3s/216-spring-steel-sheet-smooth-pei.html I just used some small magenets I had. These I think. www.amazon.com/DIYMAG-Refrigerator-Magnets-Premium-Brushed/dp/B07B3SDRCP/ref=sr_1_4?keywords=round+8mm+magnets&qid=1579298022&sr=8-4
Gr8 job in keeping us informed, Chris.
Thanks Rodryk!
Hi Chris - amazing guide thanks so much. I had a look through the Marlin docs and found the variables P5 and P6... on first glance they appear to do the exact same thing as the Z-offset. Are you able to elaborate on the purpose of these two? Is there an advantage of using these over the z offset or vice versa? Cheers
I really don't know at this point. They have changed this up since the last video. I intend to do a new video on UBL soon.
@@ChrisRiley Looking forward to it. Thanks for taking the time to reply.
Wow Chris what a video. My ender3 will never be the same again 👍🏻
Thanks! Glad it was helpful!
Cheers dude, followed your step by step guide and breezed through the config! It took me longer to update to the latest marlin bugfix then it did to implement this :D
Nice! Glad it worked for you.
Thank you Sir. This is the one and only usefull tutorial on the internet.
Thank you
awesome video Chris thanks, I have been using a BLTouch and Bi-Linear leveling. This is going to help me move to the next step!
Thanks! So glad it will help you out.
This is one of the best videos I have seen in a while! Your tutorials are always fantastic:)
Sweet! Thanks Thomas!
Hey Chris, awesome video!
It helped me a lot setting up UBL on my SKR v1.3.
I am struggling with the mesh editing feature though: when I try to edit points via the LCD menu the carriage doesn't move in the pattern your's does on log (from left front to right and then one row over) but instead some different location often outside my print area... crashing... I homed before editing with G28 and have RESTORE_LEVELING_AFTER_G28 enabled.
I also have Z_SAFE_HOMING and ENABLE_MESH_EDIT_GFX_OVERLAY enabled with a BTT Full Graphic Smart Controller Display.
Regarding the erratic pattern one more thing: when I issued the G29 P1 command (after G28 of course) it didn't move in a spiral pattern as described on the marlin documentation but in a very random pattern. It completed though without the two rows the probe just couldn't reach. I populated those with G29 P3 and checked with G29 T - like you explained - and everything looked ok... but trying to edit these extrapolated points via LCD did not work (the others also didn't...). Furthermore moving my nozzle via pronterface close to the points in question and issuing a G29 P4 initiated the edit menu on the lcd but doing a G29 T after that showed the brackets in a different row (same column) at least close to where the probe sits and not the nozzle... do you have a clue what might be going on?
Thanks in advance.
Thanks! I am not really sure what is going on there. I think somethings have changed. I need to run through it again, maybe it's time for an updated video.
Quality content, I've read that you should use an uneven number of probing point as it is better for some reason, Quess it doesn't go trough (0;0) otherwhise and marlin doesn't like that or something.
Thanks! Hmmm, interesting, I will have to look that up.
Superb tutorial as always Chris. I'm still using Bi-linear levelling on the Borg, which is working perfectly. Will probably give this a try at some point too though.
Thanks Spike! Yeah, give it a try for fun. Most of the time you probably don't need it, but it is interesting.
Thank you, man! I can't understand how it works until I saw your video. Maybe it can fix my delta.
Nice! Glad it was helpful.
@@ChrisRiley Yes it was! Today I'd flash new firmware and did UBL> Result - almost perfect. Only my Z probe offset was too low) The only difference is to calibrate your delta before performing G29. Otherwise, that will not work.
Is there a GCode command to change the number of probe points?
Not that I know of.
Great Video! I’m gonna use your guide and make the switch from bilinear to unified tomorrow on one of my printers. Looks like fun! Thanks!
Thanks Mike! Give it a shot and let me know how it goes.
Another excellent video! I followed the process (including buying and fitting an inductive sensor) and got all the way to compilation phase to discover the CR-10 controller is ~64kB short of program memory for these features!
Dohh.
Can you recommend a controller I can fit instead that works well with the latest Marlin release for UBL?
I can sort out a separate display/encoder if the stock CR-10 unit is incompatible.
Thanks,
Alex
Doh! For the money I think the MKS Gen L is probably the best for something like the CR10.
Always top quality work Chris! Glad to have you making these videos.
Thanks a lot Benjamin!
Thanks again Chris, this looks really useful, I'll try this one out on my ender 3 when I can get around to switching out the board, thanks again
You're welcome! Let us know how it goes!
Great video, altough - the G29J - I found to mess up the actual saved mesh by "adjusting" to the same number for all spots (visible after print with G29 T). So I use G29 L1 G29 A (just to be sure) - and then my first level takes benefit of that long G29 bed level we do in this process. I run Marlin 2.0.x.bugfix, might be something who differs from 1.1.9
Interesting, thanks for letting me know. I might run through this again when 2.0 comes out with an official release.
@@ChrisRiley Seems it made an average hight valid for all point - at least on my build (recent version) - Not tested if it does this on 1.1.9
Hi Chris, I set up UBL with the help of your video and have a question. I had to remove the print bed on my printer and figured I would run a G29 again to see if I changed the mesh. I had to refamiliarize myself with the parameters and found it has a K parameter that is suposed to compare a current mesh with a saved mesh. The Marlin website only shows the syntax as [L]. I can't seem to figure out what that means and they don;t give an example. Do you know how to specify comparing a newly acquired mesh to the mesh in slot 2?
Thanks for all your great videos.
I'm not sure, somethings have changed and I still need to revisit this.
@@ChrisRiley Thanks for the reply Chris,
I’m pleased to know that my questions are getting better.
I saw a bug report on GitHub about G29 K (kompare) but it was abandoned without resolution. It would be great if they would include an example because the problem is probably a syntax error.
Keep up the good work!
Thank you for showing us how to do this. It is very helpful! Thumbs up!
You're welcome, glad I could help.
I love your videos.. its just geeky enough for the tech guys and simple enough for the noobs..
HOWEVER : I would like to see more stuff t the end.. how to fix things when it goes wrong.. like on this video .. if your inset is not right and the props tries to prob off the edge of the bed or if you have a large gap between your BLTouch and the nozzle and it can't reach all the spots.. G29P3 GUESSES don't work well when things like that fail.. and its tough to fix from octoprint..
also some vids on when octoprint goes haywire... cause octoprint modifies geode on the fly and streams it to your printer kinda like clipper . and Canada a bunch more tuning of footprint to do.. (like if your octoprint bed size is different than your Cura settings.. and octoprint clips edges square when you actually have bed space ( full bed problems) or plugins that show you the bed visualizing and it actually mods the code..
Thanks Paul, sure, I can work on some stuff like that.
great video! Have you ever seen the G26 test pattern happen well off center (each pattern is 50mm from the left edge and runs off the right edge)? It's happening on 2 of my printers and I'm not sure how to fix it.
I have seen it do some crazy stuff. Try lowering the data points and see if it changes anything.
Nice concise video Chris. I appreciate you get right to the point. I have a question about marlin 1.1.9 and I believe if anyone knows quickly, you would. Ill get right to it, I swapped out the mainboard in an Anet E12 for a Creality Cr-10s 1.5 Board. Works great after flashed with Marlin 1.1.9 . The machine has dual Z steppers and the usual X,Y and E Steppers. The new board has those sockets as well as a 6th socket for a second extruder stepper. Im using Ramps_14_EFB in marlin, (from the examples/creality/cr_10s folder) The new board supports dual extruders but no matter what settings I adjust In the RAMPS or PINS H or Configuration H I get an error in arduino that the socket is currently in use for the second z stepper and halts.
My question, Do you know Is there a Setting or a way to add pins for the sixth socket so marlin can access the extra socket thus allowing me to the use dual extruders?
Thanks again Chris.
Hello, so that board has 6 stepper drivers on it? Usually you would hook both Z motors up in parallel to one driver then use E0 and E1 for your extruders. What board do you set Marlin to in your config?
Yes, 6 stepper sockets. I found a limited tutorial on the sellers blog stated to copy the CR-10S config files in Marlins example dir. The board arrived with a boot loader only. No system. But has a big chip do marlin 9 fits great with almost all the features enabled. The marlin configs have RAMPS_14_EFB.H listed as the board and it's worked flawless. I've tried a few different settings boards from examples. I found a pre configured CR-10s sets but it was marlin 1.1.5 and used RAMPS_13_EF which doesnt support a heated Bed . I understand the usual boards for 2 extruders the drivers are ran parallel but hey, the board was $39 on Ebay and has the extra socket so, trying to use em. Attempted to upload a pic of the board. Its listed as a creality v2.1 but got no joy.
@@doncland Ok, then really we just need to know what pins that 6th one uses. We need a pinout diagram or maybe we could pull the information from that older version of Marlin.
Yeah, have been searching for a pinout map for this board with no luck. The older version didnt use the 6th socket either so wasnt much help. Attempted to extrapolate what the logical next set of pins would be but the board has 6 extruder sockets, 3 filament /Bed sensor sockets, 3 thermistor sockets, 3 end stops sockets, 3 case fan sockets and 2 adjustable nozzle fan sockets. My attempts at devining the pattern led to some interesting and unexpected results. None of any use whatsoever. I keep checking the sellers on Amazon and Ebay for driver updates and info. (found the Marlin 1.1.5 on an Amazon sellers page). Im sure over not too much time this board will gain support. It was practically plug and play. Well design too with built in extruder mosfet so no overheating problems either. And at $40-$50 us, I thought it was a bargain full of features. Thanks for you assistance Chris. I let you know If I get anywhere with this. And keep up the Excellent videos. Very informative and direct.
Take care and happy printing.
بجد انت انسان محترم جدا ..... وبجد استفدت منيك كتير
شكرا لك
Wow! Amazing video! I'm so glad i found this :D i've been stuck with issues with UBL until now :D Thanks! Keep up your great work!
Glad it helped!
I’ve done a lot of stuff with my printer thanks to you man ! Thank you ! :D
Glad to help!
Like always Chris, Nice job explaining it all.
Thanks Sergio!
Thanks Chris, quick question, in the beginning you mentioned to set Endstop_Inverting to "TRUE". If my printer is already working properly with "False", do I still need to change them to "True"?
No, as long as it works, you're good.
Great video. Daft question. Do I need to run the three-point level before a print? Or do I simply load the stored mesh and ensure UBL is enabled? Thanks!
Thanks! Now I don't remember, LOL, I don't think you need to run it, it should have it saved if you just load the mesh.
@@ChrisRiley Thanks Chris!
I have tried to set it up but i get the fallowing #error "MESH_EDIT_GFX_OVERLAY requires AUTO_BED_LEVELING_UBL and a Graphical LCD."
I don't have a graphical LCD, i have a REPRAP_DISCOUNT_SMART_CONTROLLER
It looks exactly as the one from prusa it's actually in a prusa case, did you set anything else diferently?
Cheers for the video, keep them up they have opened a new world for me so far.
Thanks for watching! Just comment out this line. //#define MESH_EDIT_GFX_OVERLAY
@@ChrisRiley Oah, pff, i don't know how i missed that. Cheers Chris thanks for the help. Sorted now back to finishing the setup :D
Great video! Many thanks. I wonder why dial indicators are not used more by 3D printing geeks? The Chinese ones are cheap, accurate, and can be temporarily held in place by a magnet. Their use (on a temporary basis) would eliminate the extra electronics for a leveling probe. More importantly this would reduce print head weight. Also they would work with any print bed material.
You know, I have one and I have tried it many times before with mixed results. It would be nice to find a smaller one that could be easily integrated into the build. I might have to look for one and give it another go.
Chris do you put the G29 L1 and the G29 J in the start script?
I would just for good measure. That will load the save mesh and do a 3 point level to tune it up if needed.
@@ChrisRiley Thanks, that is what I did.
Chris, nice video. Your videos are always well done and very helpful. You mention setting MESH_INSET to avoid the perimeter of the bed. Would this already be addressed if you use MIN_PROBE_EDGE which works across leveling types?
Thanks! Well, I don't know. My limit was set to 0. I would have to test it, it might calculate one, then the other.
Nicely done. One of the better vids I have seen recently. Look forward to seeing you at MRRF 2019. Please look me up!
Thanks! If you see me first please stop me, happy to stop and talk.
Amazing tutorial! Thank you, Chris! I am using BL Touch, Blinear and Ramps 1.4 in my reprap 3D printer. It was working well until my nozzle, after some prints, went down to the bed, ignoring my Z probe offset. So, the filament didn’t prime on first layer, resulting a big mess. Do you know what is happening? Once again, thanks for your helpfull tutorials.
Do you know if something over wrote eeprom by chance? Do an M503 and see what M851 says at the bottom. Hopefully it matches what you have in Marlin.
Chris Riley OK! I will check it. Thanks!
I would suggest not heating the nozzle, or if you do, remember to pull out the filament first. I didn't think of it at the time, and ended up cooking the PLA inside, as G28 P1 takes a looong time (especially if you turn heaters off and on between probes), and ended up with a massive clog. And G26 P10 for me just squirted on site and started the pattern (I have safe Z homing at the bed center). Otherwise, the best UBL guide out there (although I'm still not clear what G29 P2 and G29 P4 are really supposed to do). The Marlin guides still need some improvement to be more clear.
Great tip! I hope this becomes a more straightforward process at some point.
Was just looking this up last night!! Your awesome!!!
Nice! Hope it helps!
Hi Chris ! I've learnt a lot with your channel, especially understanding Marlin FW . However, i've followed every step on this video, i cant have a decent G26 Mesh, Once i finish fine tune all the points, and when i do a G26 to validate that bed leveling, the extruded material ( PLA @210°C on HB @45°C) is higher on the right side than the left side, do you have any tips and tricks regarding this problem ? also when i print the validation final validation pattern ( the STL one you use at the end) give me same result, larger on one side than the other ... How ever, the problem is not as visible as it is when i use Bilinear leveling ...
This is the downfall of UBL, it sounds silly, but you have to be almost level before UBL will work. Run bilinear from the terminal and look at the map, try to level out your X as close as you can. Once that is really close, try UBL again.
Thanks Very Helpful , On a side note after doing this i could not get my printer to extrude out the rite amount, found out that enabling eprom overrides the steps per mm in Marlin, had to send the steps per mm in the terminal and then save it to eprom, if that makes since, still new at this, thanks KH
Thanks! I have been caught by that a couple of times, now I always run a M502 then M500 just in case.
Thank you Chris, amazing intro to UBL.
Thank you Alen!
Hi Chris! Some questions:
1. You say the MESH_INSET should be as big as possible, shouldn't it be as small as possible? I'm having some issues with setting this correctly
2. Can you give some more information about G29 P2 B? I'm trying to create a mesh that includes the whole print bed, including the edges. Of course my probe can't reach part of the edges. P3 doesn't do this correctly, and P2 should help with this, but I'm at loss on how to use this command and set the correct shim. The Marlin notes are not very descriptive.
3. When you edit the mesh and edit the points, do you have to guess the right offset? You started with a paper to measure the height, but while editing you are not using it. When trying it on my printer I also see the Z is not changing when I change the height on the LCD; how can you use this properly then?
Thanks in advance :)
1, yes you are correct, you need to have your probe area as big as possible.
The other two questions I am not sure about. I am going to do a revisit video on UBL.
@@ChrisRiley Thanks for answering! I figured out how G29 P2 B works now, the UBL Info page you link in your description actually does a fairly good job of explaining how it works. Thanks again for the video, cleared some things up for me! :)
thanks Chris for the great detail video and to the point
You bet!
Very detailed Chris - Thanks!
Thanks Ron!
I have a ADIMlabs printer that is based on the CR-10S with a capacitive probe... I have the latest UBL Marlin flashed on the Arduino board would but I noticed a lot of code parameters that you implemented in Arduino are different than how I setup my probe... I was curious if this step-by-step video will work with my setup? Sorry if I left out info if you can assist let me know!
I am not sure, but it should be pretty much the same. Sensors work the same as far as the firmware is concerned.
I setup ubl. Worked great. And then realized I wasn't done setting up stuff... So i had to flash agaih... And now I gotta do it all over again! Lol
Doh! It happens to all of us.
When I did the Z offset like you said around 11:00, I got a Z value of -12.4mm which seemed very large but I tried it anyway and then when I went to print, the printhead slammed into the bed. Why was the Z offset so high? It seems like there are 2 Z probe offsets, one in the firmware and one in the printer menu. When I go into Control-Motion-Probe Z offset it was set to 2.3. Why was it so big when I tried to use the method you described, then why did it slam into the print bed after? When I did G1 Z0 before manually moving it down, it was way high up off the bed so I needed to lower it 12.4mm. I'm very confused now.
Sam you might have something preset in the eeprom. Take a look at M503, make sure there is nothing already set in the M851 command.
Do you have a link to the level print you did towards the end? Tom's Level Print or something like that.
Here you go: www.youmagine.com/designs/bed-leveling-tramming-paralleling-test
Hi Chris ! Great video, super clear thank you !
I have a little issue, when I run the G26 P10 command, the printer starts printing and goes extremely fast. Is there a way to reduce the speed of the mesh validation tool. Is there a way to set up the speed ?
Thanks !
Strange that it is going so fast, I don't know of a setting to slow it down, maybe you can dial back your FR on your LCD?
@@ChrisRiley What do mean by dial back the FR on the LCD ?
@@lucaszito109 On your LCD you should see FR, that means feedrate. If you roll the KCD knob down the feedrate will lower and slow the machine down. See if that impacts the UBL speed.
Okay I'll give it a shot! Thanks
@@lucaszito109 I think he spoke about the feed rate, usually shown on the display with FR (eg. FR 100%).
Chris, is it a good idea to store meshes for PLA and ABS? Thank you!
I would say yes, big swings in bed temp, I would save different messes.
@@ChrisRiley Thanks once again 😀
Thanks for this guide. G29 works just fine for me, I am stuck with finding the right Z offset. it seems to change all the time.
Why did you heat the nozzle for G29 P1?
Why don't you uses M290 babysteps for Z offset?
It's been so long ago now, I can't remember. Not sure how much this has changed over the years.
Thanks. I just went with printing and finetuning afterwards instead of
Doing some calibration process
Well done. When I finally have time that is added to my list.
Thanks James! It's not easy, but somewhat interesting.
Looks alright. Nice progression in really dealing things in on a printer. Are you planning on keeping the Rambo on Log?@@ChrisRiley
@@ZebraandDonkey As of now, yes, until I can't get around the lack of pins any longer.
Hi, as always a very usefull video ThumbsUp
Will you talk about delta printer ?
many thanks
Thanks! I have a couple of delta videos out there on leveling. One manual and one auto leveling. Delta auto level with G33 pretty much does UBL already.
Its exactly the same on a delta except that you have to change two lines in the config_adv, saying it must probe from -radius to + radius instead of from 0 to radius, as will otherwise only probe the right back corner. UBL was usefull to me as was faster then the full calibration and my full calibration sometimes "tilted" my bed. but I traded UBL for linear advance (on an 8 bit, you have to choose with a discount dicplay) and a flatter bed now.
@@ChristoffL Thanks Christoff for the confirmation. I was going to go into some of the memory usage and delta stuff in this vid, but I ran out of time.
Those auto fill values are wild and crazy from .190 to 1.90 on the next grid space. That bed must be made of gravel. ;)
LOL, pretty much.
Hi Chris, I have a problem with my inductive sensor (5v). My Z_Offset is correct but after the print, I notice a drift of the Z.
What is going on? Do you have a solution?
Thank you for your videos which are always of great interest ... Continuous, do not change anything ...
José
Thank you! Not sure what is up, I get a lot of questions with strange things about UBL. I think I will redo this video and figure it out.
@@ChrisRiley Thank you Chris for your response. I continue to test to find a solution. If you make us a video, it's great .... Thank you and see you soon
This is the part I have so much trouble with. I don't know why I find it so difficult to comprehend the z offset. I'm saving this video to try this out. Also, I have a mks TFT 32 touch screen. Will this work as far as the grid thing is concerned?
I totally get that, It's hard for me to wrap my mind around as well. The touch screen, I don't know, I would be very interested to know the answer.
@@ChrisRiley thanks, when I get the time and courage I'll give it a go and let you know..
Is there a way to use the Octoprint Bed Visualizer plugin to have your printer take the values measured and adjust your Gcode to account for the errors in your bed? I have a warped bed and would like to use the bed visualizer to automatically adjust my Gcode to change the Z height to create a more accurate print that accounts for the errors and makes a near-perfect first layer print....
I know you can use the full graphics display for this, but I am not aware of a plugin to do it. There might be something out there.
Hi Chris, It appears that you are using the nozzle as the probe element for the UBL mesh generation. Is that the case? If not, what probe element is used? Thanks.
I am using a 5v inductive probe.
@@ChrisRiley , Thanks for confirming the z-probe method used in your video.
I see that the Marlin 2.0.1 release lists a new function: “NOZZLE_AS_PROBE.” Will be investigating this. Might you also?
@@kevinhoskins1897 Yes, I want to give this a try for sure.
I salvaged a FLSUN i3 Plus and was able to load it with Marlin 1.1.9 that the seller provided for this particular printer and performed autolevel with the blue box inductive sensor it has. At first I found it needed -1 offset and it printed perfectly. I think I presed the dial in some of the, for me, misterious options like "load" or "save" or "reset" EPROOM and now it prints in mid air! Will hav to start again from the begining as it seems lots easier than this procedure. But lets see if I feel confidnt enough to venture in such a cumbersome process. And I was going to start trying to avoid stringing in prints! Can you make a tutorial for that also? Best regards!
The delta process is a little easier than this one I would say. I did a video on that here. th-cam.com/video/5G8GdNywsUQ/w-d-xo.html
Thank you Chris, awesome job
You're welcome! Thank you!
Perfect timing on this, Thanks Chris
Awesome! You're welcome!
Always appreciate your tutorials.....I always learn a lot and keeps me playing with my printers! Curious on the print head on your printer....are there files so I can build that setup for my machine?
Thanks! Yes, those are all build from the Prusa MK2s stl files form the Prusa website. www.prusa3d.com/prusa-i3-printable-parts/
Fantastic tutorial, thank you very much.
Is there any other possibility that replaces G29 J so that it makes a leveling of more points? Or is leveling three points enough?
Before upgrading to 2.1.1, G29 was doing me a level 4x4
Greetings and thanks
Add a number after J for additional points. See the marlin website for full instructions.
It's been so long I can't remember. There are lots of options for UBL. marlinfw.org/docs/gcode/G029-ubl.html
Thank you both very much.
Edit:
With G29 J4 it makes a 4x4 grid.
Thanks again
Really nice and helpfull tutorial! Thanks!
Thanks for watching!
Thanks for this. I was able to setup UBL following these steps. However, after the test print using G26 P10 which prints fine, the LCD is showing "Leaving G26" and is stuck there. I can't do anything without rebooting. Is there a way to end or disable this message?
You could put a command in your start gcode to clear it. M117 Yello World!
Just found this. Perfect, thanks.
Glad it helped!
Hey, Thanks for the great video - actually never got that far.
but I still face an odd issue... so when I do G26, the pattern is printed just fine, but if I start a print directly after that, the auto leveling is not kicking in... even though it tells me that the mesh is loaded and Bed leveling enabled... do you have any idea?
cheers,
Matthias
I think you will still have to activate it with some sort of G29 command in your start Gcode. I can't remember them off the top of my head at the moment, but in the video I think I used a quick 3 point level to get it working.
Hi Chris, great video. I am using Marlin 2 and when I do the G26 P10. My results are terrible. Why am I producing such an off mesh?
Thanks! It could be a lot of things. What version of Marlin are you running and what sensor do you use? I ask about Marlin because there is a 2.0.1 release now.
Yes, I am using Marlin 2.0.1 with a BLTouch. My initial grid G26 P10 comes out terrible. The center is ok where it starts but almost all of the edges as well as a few random spots are bad.
It will do many half circles.
@@jaketaylor3151 I think you might be suffering from issues with the BLtouch, others have reported problems. I guess I need to get a new one and test it.
Chris Riley does it make more sense to 1. Set Zoffset
2. Manually level corners
Then 3. Run mesh probing?
@@jaketaylor3151 Yes, it sounds silly, but with UBL it is better to get as close as you can before you start.
I just want to print the TEST PRINT you used at the end of this video! Can you post a link to it, please?
Here you go, I added it to the description as well. www.youmagine.com/designs/bed-leveling-tramming-paralleling-test
SUPER THANK YOU@@ChrisRiley
no, I'm looking for the one at 13.36@@ChrisRiley
@@corlissmedia2.0 That is baked into G26, that is the default print.
Chris Riley I have no idea how to use that. I don’t use Octoprint.
Chris, I need your expert help. I have a Geeetech MeCreator 2 and I want to put marlin on it with auto bed leveling with the BLTouch. I need your help to get this working on my machine. Is there a way that you and I could get together for you to help me? Please let me know and thanks for reading.
Ben, I don't know anything about that machine, but you can send me an email. brotherchris81@gmail.com
Is there a stl file for the orange plastic piece on the back of the extruder stepper
Check this one out.
www.thingiverse.com/thing:3250689
This one is my fav.
www.thingiverse.com/thing:3528397
I’ve a UBL set up and installed on my Gantry Pro but when I try to level the bed the nozzle is pushing into my plate and I’m beyond frustrated and no matter what I do (adjusting the Z height etc) I can’t get a print to work using Arduino and Marlin.
I’ll attempt using your tutorial and see how I get on. 😢
Give it a try, you might have something stored in your eeprom causing you problems. Run a M502 then M500 to restore it to default.
Does UBL work good with Buildtak (or other like Prusa) removable beds that are taken off and put back on after prints? Does taking these removable beds off and on again change the height of the bed ever so slightly where the UBL grid points were originally obtained and therefore make the UBL grid obsolete?
Yes, it will work, but you should probably have a grid for each different sheet. If you are using the same sheet it's not going to make that much difference.
Chris Riley Great, thank you!
This was a great video. Thank you so much.
Glad it was helpful!
Hi, can you do the same for a delta type. I'm having a lot of problems with UBL. I know i'm a special case because i have a TFT32 so i have to use pronterface. Long story short, i started with the G33 until almost constant results, in DELTA_HEIGHT, DELTA_ENDSTOP_ADJ, DELTA_RADIUS and DELTA_TOWER_ANGLE_TRIM. After that i enabled UBL and went with this commands, G28, G29 P1 T, G29 P3 T (until all populated), G29 S1, G28, G29 L1, G29 A, G29 S1, M500. Before doing the G29 P3 commands the matrix looked like a "circle" because of the null values, now looks like a "square" because the matrix is completely populated but here is the problem, when i run the "G26 B60 H205 F1.75 L0.2 S0.4 P2 Q7" command the made up values created by G29 P3 are outside the print area so i had to do a emergency stop, that is G26 is trying to print a big square on a smaller circle, i don't understand why marlin is not applying some kind of limit to G26 for it to only print "printable" points, so now i can't go to the final steps of the calibration, which are G42 I J and M421 Q, because the G26 has to be aborted. I don't think there's something wrong with configuration files because the travel limits, the boundaries for probing and MIN_PROBE_EDGE are as far as i can see correct. Sorry for the long post.
This comment is from way back, but I am not sure why I missed it. You are better off on a delta using it's auto level. G33, the UBL doesn't work out so well, but I haven't tried it in a long time, so maybe I need to take another look.