What is bed mesh levelling? A plain guide for 3D printer owners
Bed mesh levelling builds a height map of your printer's build surface so the nozzle compensates for warps and bumps during the first layer, giving consistent prints without making the bed perfectly flat.
Bed mesh levelling is one of those features that sounds more complicated than it is. If your prints stick well in the middle of the bed but peel up at the corners, or you keep fiddling with thumbwheels print after print, this is the calibration that quietly solves most of those problems. Here is what it actually does and how to use it sensibly.
What bed mesh levelling actually is
Bed mesh levelling (also called mesh bed levelling, automatic bed levelling, or ABL) is a calibration technique that builds a height map of your printer's build surface. Instead of trying to make the bed perfectly flat, the printer measures how high or low the surface sits at many points across the print area, then adjusts the nozzle height on the fly during the first few layers.
The result is a consistent first layer even when the bed is slightly warped, the gantry is not perfectly parallel to the surface, or the build plate has a thicker patch in one corner. It does not fix the underlying mechanical issue — it compensates for it in software.
Why it matters
Most consumer 3D printer beds are not perfectly flat. Heated aluminium plates warp slightly as they reach temperature. PEI sheets can have small high spots from manufacturing. Glass beds are usually flatter but can still sit at a slight angle in the frame.
Without compensation, the gap between the nozzle and the bed varies across the print. Where the gap is too small, the nozzle drags through the filament, leaving a thin, smeared, or transparent first layer. Where it is too large, the extruded line does not stick and curls up. Bed mesh levelling deals with that variation everywhere on the surface, not just at the corners.
Levelling vs tramming
The terminology is confusing. "Levelling" is technically the wrong word. What you actually want is the bed parallel to the X-Y plane the nozzle moves through, not level relative to gravity. Making the bed parallel to the gantry is called tramming. You do this manually with the thumbwheels under the bed, or some printers do it automatically by probing the four corners and adjusting motorised screws.
Bed mesh levelling is the next step. After tramming, the mesh deals with the local variation across the surface — the bumps, dips, and warps tramming cannot fix.
You generally need to tram first, then mesh. If the bed is significantly out of tramming, the mesh has to compensate over a huge range and the first layer will still look uneven.
How printers probe the bed
Printers measure the surface in several ways:
- Inductive sensors detect metal. They work through a PEI sheet on a steel plate but not through glass or non-magnetic build plates.
- BLTouch, CRTouch, 3DTouch use a small deployable pin that physically touches the surface. The pin retracts when it hits the bed, the firmware records the height, and the toolhead moves to the next point. These work on almost any surface.
- Strain-gauge or load-cell probes (Bambu Lab X1, P1, A1 series; some Prusa models) use the nozzle itself as the probe. The toolhead presses gently against the bed, and a sensor detects the moment of contact. This is more accurate because it measures from the nozzle tip — which is the thing actually printing.
- Piezo and capacitive sensors turn up in some custom and older builds.
The probe takes readings on a grid — commonly 5x5, 7x7, or 9x9 — and stores the differences as a mesh. Klipper, Marlin, and Bambu's firmware all handle this slightly differently, but the principle is the same.
What happens during a print
When the mesh is enabled, the printer reads the height map and adds a small Z-axis adjustment to every move during the first layer, fading out gradually as the print gets taller. If the bed dips 0.05 mm at one point, the nozzle moves 0.05 mm lower as it crosses that point. After the fade height (typically 5-10 mm) the compensation stops. By then the print is tall enough that small bed variations no longer matter.
Running a mesh on common printers
The exact steps depend on the firmware and model, but the workflow is similar:
1. Clean the build surface. Grease, dust, or old glue stick will throw readings off. 2. Heat the bed to your usual printing temperature. Aluminium expands when hot. A cold mesh does not reflect what the bed actually looks like during a print. 3. If your printer uses a nozzle-touch probe, heat the nozzle just enough to soften any plastic on the tip (around 150 C for PLA residue). Bambu and Prusa handle this automatically. 4. Run the mesh routine from the printer menu. On Klipper this is usually BED_MESH_CALIBRATE. On Marlin it is G29. Bambu and Prusa run it as part of the start-print sequence. 5. Save the mesh. On Klipper, SAVE_CONFIG; on Marlin, M500. Bambu and Prusa save automatically. 6. Enable it in your start G-code if it is not already (BED_MESH_PROFILE LOAD=default on Klipper, M420 S1 on Marlin).
When to re-run the mesh
You do not need to mesh before every print. Many users mesh once and leave it. Re-run it if:
- You change the build plate (different sheet, different thickness).
- You move the printer to a new spot.
- You bend or replace a probe.
- The first layer starts looking uneven after months of good prints.
- You significantly change the bed temperature for a new material.
Some printers — notably Bambu's strain-gauge systems — re-mesh at the start of every print because the reading is fast and reliable. There is no harm in doing this if your printer offers it.
Common problems
- Mesh is wildly different each time. Usually a loose probe, a dirty bed, or filament stuck to the nozzle tip.
- Probe Z offset is wrong. The mesh tells the printer the shape of the bed, not the absolute distance to the nozzle. You still need to set Z offset correctly. That is a separate calibration on most machines.
- First layer is good in the centre but bad at the corners. The mesh is helping, but the bed is so warped that the compensation runs out near the edges. Check tramming and bed flatness.
- Probe reports bad readings or the nozzle crashes into the bed. Stop the print immediately and inspect the probe wiring and mounting.
Risks and warranty notes
Mesh levelling itself is a software routine and carries little risk if the probe and offsets are set correctly. The danger comes from a misconfigured probe driving the nozzle into the bed. On a strain-gauge machine this usually just throws an error. On a printer with a BLTouch and a wrong Z offset, you can gouge the build plate or bend the bed.
Modifying firmware to add or change probes will usually void the manufacturer's warranty. Stock probes on Creality, Bambu, and Prusa machines as supplied are fine.
When to mail it in
If your printer is still producing inconsistent first layers after you have cleaned the bed, re-trammed, and re-meshed, the problem is usually mechanical rather than software: a worn probe, a bent gantry, a warped build plate beyond what a mesh can correct, or loose Z-axis lead screws.
Hark Tech offers mail-in 3D printer diagnostics and repair. Send the machine in and I will check the probe, the bed flatness, the tramming, and the gantry, then return it with a working mesh and a documented first-layer result. Get in touch via the contact page for current turnaround and a no-obligation assessment.