Auto Bed Leveling/Mesh bed leveling

There was a pretty well done write-up on getting dual end-stops working on the main site. I’m wondering if there’s anything similar to that for auto leveling or mesh bed leveling (I’ll admit my own ignorance here as I’m not sure that the two terms are interchangeable - I’m assuming they refer to the same thing)? It’s my understanding that this can be done manually but I would really like to level to the work piece which means an automated routine is kind of a must (I’m not trying to do this manually for every. single. piece.) No matter how flat my table is if I’m forced to use a piece of material with a slight bow or warp (sometimes very difficult or impossible to notice with the eye), I don’t want to have to run a resurfacing script for every job.

So is there a writeup on how to set this up? I’m sure I could figure it out on my own but if someone’s already done the work it would save me some time. If you’ve done this, can you tell me about your setup?

I think you may find most people here will suggest you get a surfacing bit and have your machine surface the spoil board to be level to the machine. I say “level” but even that is relative. Instead I will say your spoil board will match the movement of your machine. Sag and all.

That is my plan. Then I can also surface the top of a work piece first as well.

That way other cuts like V carvings will not appear to be uneven.

1 Like

The way I am doing mine (still in process) is I built my machine with an extra 2 inches of space in the Z. Should have done 1.5 inch in hind sight. I then used a thick 1 inch board as the main table top. I just finished surfacing that board so it is now level to the machine. I had to cut almost 3/8 “ in some places to make it all level. Very warped to start with.
Next I will attach some 1/2“ MDF and I should only have to shave off about .5 mm from the top to make it level with the machine. Later on if I need to replace the MDF it should be easy to get surfaced again because the table top is already level.

I’m essentially doing this exactly the same way you are - but if your workpiece is warped - even ever so slightly, any kind of symmetrical v-carving operations that you do will show the warp. So, as you said, now you have to surface the work-piece before you can start the money cuts. If the wood is warped by .5mm across a 100 or 200mm span, no human being will notice that IF the cuts are relative to the surface of the workpiece. This also serves to correct for a great deal of your frame sag as you are no longer assuming that Z0 is in the same place across the range of x and y, but rather correcting for the actual measured location.

I digress - what I’m getting at is this - that’s a tool change and at least several minutes that you have to burn before the v-bit hits the wood. It’s a matter of efficiency - if I want to be able to run x jobs on the machine in a day, those jobs have to run as quickly as possible, and it would be much faster to run an automated routine that doesn’t require a tool change to just quickly get a map of the work piece surface and correct for the shape.

Surfacing the spoil board will make the surface of the spoil board parallel to where the bit moves. So, it will take care of any sag (as long as it’s repeatable).

The trouble with mesh bed levelling is, you really need the mesh to cover the surface of the workpiece, not the surface of the whole bed. So you need a way to determine where the measurements will be place for each job. I don’t know if anyone has figured out a procedure that would work for this. I have some ideas to make this work, but I haven’t ever had time to play with it.

Considering how active you are in the community - and the knowledge that I’ve gleaned just from reading your posts - if you haven’t done it, that pretty much answers my question! Thanks Jeffeb3.

1 Like

Just make sure whatever part you’re milling is already flat before putting it on the MPCNC. Then you don’t have to run a facing mill on the part before cutting the design.

Get a decent little box planer and a jig. Plane one side, then flip it over and make the two sides parallel. My coworker doesn’t have a planer, so he built s sled for his router and uses that to plane boards.

Thanks for the nice words. But there is a lot I haven’t done. Also, I am rarely the first. :slight_smile:

The Chilipeppr CNC interface has an auto level widget in both the TinyG and GRBL workspaces. The intended use case is milling circuit boards, but I can’t see any reason it couldn’t work in a different application. The circuit board is just easy to probe as you can use the board itself as the touch plate. The code is open source and available on Github. I haven’t played with it myself, and I don’t think it will work with Marlin, but might be worth a look.

1 Like

That’s one of the reasons I wanted to implement it - for milling PCBs - but like you said - it’s easy when the work surface is conductive. That being said, while I own and occasionally use a GRBL based controller, my tolerance for GRBL wore thin long ago.

@niget2002 a sled for my router table is an option I hadn’t considered. That may be worth a look as a short term solution. With regard to buying a planer - while I’d love to own one, if I bring one more tool home my wife might just… well, I don’t really want to find out!

It’s always easier to ask for forgiveness than it is to ask for permission.

Is it a space or money issue? I traded work for my planer. As long as I had room in the garage and the funds didn’t come out of the bill account, my wife is pretty easy going.

I tried to mill PCBs a few times on my MPCNC. What I finally ended up doing was to surface a spoilboard just a bit larger than the PCB. Then I’d use double sided tape to hold the PCB to that milled surface. Worked really well. That also helped to bring the PCB closer to the height of the gantry to reduce how far the Z was brought down to the work surface.

surface a spoilboard just a bit larger than the PCB. Then I’d use double sided tape to hold the PCB to that milled surface.

That’s my intended strategy if I need to do the PCBs before I get another solution in place.

Having fewer tools is admirable. I would point out that my strategy has been, it is really hard to wear out tools, and I have found most of my tools on CL. It is not a perfect strategy, but I also justify it by saying I enjoy figuring out how they work and making them work better.

I really need to get my Diresta print framed and hung…

1 Like

(EDIT: Sorry for reviving an old topic - new to the forums here and I didn’t realize this was an older post, I guess it just showed as new for me because with a new account every old post is new to me! In any case, I probably would’ve asked a similar question soon enough anyway…)

New to the MPCNC, in fact mine is not yet built but all my parts are printed! So, full disclosure, I may not have a clue what I am talking about here. That said, I am pretty familiar with mesh-bed leveling as it pertains to 3D printing (and as utilized in Marlin FW) and there is a bit of a difference between MBL and auto-bed leveling, although ABL utilizes MBL functionality. ABL uses a probe of some type (usually optical or physical) to move to a grid of predefined points around the workspace, and usually lowers the Z-axis to test and determine what the difference is (offset from the 0-point in Z) for each point. This is an automated process that tests each point, moves to the next, and repeats. The test points are recorded as the mesh and used for MBL. For me, on my Ender-3 printer, I use MBL but not ABL - the nozzle itself is moved to each test point, and I use an encoder wheel to move the nozzle itself up or down in tiny increments (like 0.05mm) with a piece of paper between the bed and nozzle, until I can just barely feel some tension on the paper. When I am happy with that point, I record the Z offset and move to the next point. Once the mesh is recorded, the Z axis will continuously move smoothly up and down while printing (rather than just remain at the same height for each layer, which would be like a single “pass” on a CNC mill) so that it follows any curvature/warping of the bed. The more test points used, the closer the mesh will represent the actual bed.

The reason I go through the trouble explaining all of that is, I want to be able to use similar functionality with my MPCNC as well… Is there a reason that we can’t do mesh-levelling (whether manual or ABL) in a similar manner with whatever tool the CNC is being used with? For example, using a known-thickness feeler gauge and probing the surface of the workpiece with the router bit (while the router is not running of course) and jog the Z axis until it just touches the feeler gauge at each point, record that as the mesh, and do a workspace offset on the whole Z by the amount of the gauge (as obviously we would want the bit to touch, unlike a 3D printer where the nozzle distance gap is important). That all makes perfect sense in my head, but perhaps there is a reason that I am not thinking of (having not built my machine yet) that this concept is not the same crossing from 3D Printers to MPCNC?

Well, as long as you don’t mind a wavy top on what you’re milling. It’s best to mill the waste board flat so it’s parallel with the gantry.

1 Like