Bed Leveling (Linear) (2024)

Bed Leveling (Linear) (1)

calibration Probe the bed and enable leveling compensation. AUTO_BED_LEVELING_LINEAR

Related codes: M420

Description

Automatic (Linear) Bed Leveling probes the bed in a grid and enables bed leveling compensation using a matrix to compensate for bed tilt, applying a “least-squares” approximation.

The printer must be homed with G28 before G29.

Automatic Probing

Using an electronic probe Marlin can probe the entire grid with a single G29 command. See parameter descriptions and examples below for details.

Manual Probing

Click for Details

Auto Bed Leveling now includes a PROBE_MANUALLY option for systems lacking a probe.

PROBE_MANUALLY adds these parameters to G29:

  • Q : Query leveling and G29 state
  • A : Abort current leveling procedure

To do manual probing simply repeat G29 until the procedure is complete.

The first G29 accepts the same parameters , shown in the Usage section below. The exact parameters available will depend on which style of bed leveling is enabled. (Note: UBL parameters are not covered on this page unless they coincide. See the G29 for UBL page for a full list of its options.)

Before probing the bed:

  1. Use G29 Q to get the current status. If G29 isn’t idle, abort with G29 A.
  2. Use M420 V to view leveling data. You can send M420 S1 to use the existing data.

To probe the bed using G-code:

  1. Use G29 to move to the first point for Z adjustment.
  2. Adjust Z so a piece of paper can just pass under the nozzle.
  3. Use G29 to save the Z value and move to the next point.
  4. Repeat steps 3-4 until completed.
  5. Use M500 to save the leveling data to EEPROM, if desired.

To probe the bed using your LCD controller: (Requires LCD_BED_LEVELING)

  1. Select the Level Bed sub-menu, then choose Level Bed (not Cancel).
  2. Wait for Homing XYZ to complete.
  3. When Click to Begin appears, press the controller button to move to the first point.
  4. Use the controller wheel to adjust Z so that a piece of paper can just pass under the nozzle.
  5. Press the controller button to save the Z value and move to the next point.
  6. Repeat steps 4-5 until completed.
  7. Use Control > Store memory to save the mesh to EEPROM, if desired.

Notes

  • Any arguments left out of G29 will use the default values set in Configuration.h.
  • By default G28 disables bed leveling. Follow G28 with M420 S to turn leveling on.
    • With ENABLE_LEVELING_AFTER_G28 leveling will always be enabled after G28.
    • With RESTORE_LEVELING_AFTER_G28 leveling is restored to whatever state it was in before G28.
  • To save time and machine wear, save your matrix to EEPROM with M500 and in your slicer’s “Starting G-code” replace G29 with M420 S1 to enable your last-saved matrix.

Usage

G29 [A<bool>] [B<linear>] [C<bool>] [D<bool>] [E<bool>] [F<linear>] [H<linear>] [J<bool>] [L<linear>] [O] [P<int>] [Q<bool>] [R<linear>] [S<rate>] [T<bool>] [V<0-4>] [X<int>] [Y<int>]

Parameters

[A<bool>]

Abort leveling procedure in-progress (PROBE_MANUALLY)

    [B<linear>]

    Set the back limit of the probing grid.

      [C<bool>]

      Create a fake grid for testing. (DEBUG_LEVELING_FEATURE)

        [D<bool>]

        Dry-Run mode. Just probe the grid but don’t update the bed leveling data

          [E<bool>]
          • By default G29 will engage the Z probe, test the bed, then disengage.
          • Include “E” to engage/disengage the Z probe for each sample.
          • There’s no extra effect if you have a fixed Z probe. (without PROBE_MANUALLY)
            [F<linear>]

            Set the front limit of the probing grid.

              [H<linear>]

              Set the square width and height of the area to probe.

                [J<bool>]

                Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected.

                  [L<linear>]

                  Set the left limit of the probing grid.

                    [O]

                    Optional. If leveling is already enabled then exit without leveling. (1.1.9)

                    [P<int>]

                    Set the size of the square grid that will be probed - P x P points

                      [Q<bool>]

                      Query the current leveling state (PROBE_MANUALLY, DEBUG_LEVELING_FEATURE)

                        [R<linear>]

                        Set the right limit of the probing grid.

                          [S<rate>]

                          Set the XY travel speed between probe points.

                            [T<bool>]

                            Generate a Bed Topology Report

                              [V<0-4>]

                              Set the verbose level. Level 2 and up act like ‘T’.

                                [X<int>]

                                Set the number of columns (in X) that will be probed.

                                  [Y<int>]

                                  Set the number of rows (in Y) that will be probed.

                                    Examples

                                    Automatic Probing examples

                                    G29 ; probe and enable

                                    G29 is most commonly used without any arguments. This uses the defaults set in Configuration.h.

                                    G29 P5 ; 5x5 matrix

                                    Probe a 5x5 matrix.

                                    G29 X4 Y8 L50 R150 F50 B150 T V4

                                    Probe a 4x8 matrix from X50 Y50 to X150 Y150, printing a full report.

                                    Manual Probing example

                                    G29 V1 ; Ready! Go to Point 1, wait...G29 V1 ; Store Z, go to Point 2, wait...G29 V1 ; Store Z, go to Point 3, wait...G29 V1 ; Store Z, go to Point 4, wait...G29 V1 ; Store Z, go to Point 5, wait...G29 V1 ; Store Z, go to Point 6, wait...G29 V1 ; Store Z, go to Point 7, wait...G29 V1 ; Store Z, go to Point 8, wait...G29 V1 ; Store Z, go to Point 9, wait...G29 V1 ; Store Z. Calculate matrix. Activate.

                                    Each G29 command goes to the next step until the whole procedure is done. The V1 parameter provides a progress report.

                                    Bed Leveling (Linear) (2024)

                                    FAQs

                                    How do you read a bed level test? ›

                                    Evaluate the Test Print
                                    1. Uniform and solid: Well-leveled.
                                    2. Stringy material or the lines don't connect completely to the outer circle: Bed low.
                                    3. Flattened or overly pressed down: Bed high.
                                    4. Inconsistently or not entirely laid down: Bed very high.
                                    Sep 14, 2022

                                    What is the Gcode for auto bed leveling? ›

                                    After a G29 bed leveling is automatically enabled, but in all other situations you must use M420 S1 to enable bed leveling. It is essential to include the command M420 S1 in the “Start G-code” in your slicer settings. If you have no bed leveling, or if there is no leveling data, then this command is simply ignored.

                                    How do you calibrate a bed level? ›

                                    The primary bed calibration mechanism is the "paper test". It involves placing a regular piece of "copy machine paper" between the printer's bed and nozzle, and then commanding the nozzle to different Z heights until one feels a small amount of friction when pushing the paper back and forth.

                                    What feeler gauge for bed leveling? ›

                                    Use a Feeler Gauge (or alternate link) to gauge to set the Z offset. With a 0.4mm nozzle it is recommended to gauge 0.25 0.20mm using a 0.4mm First Layer Height. With a 0.6mm nozzle it is recommended to gauge 0.35mm. Doing a Y Axis Roller Adjustment might help with more consistent Bed Leveling.

                                    Should you level before every print? ›

                                    I do this before every print job. You should always level the bed at working temperature, because it expands with heat.

                                    Does G28 erase bed leveling? ›

                                    By default G28 disables bed leveling. Follow with M420 S to turn leveling on. With ENABLE_LEVELING_AFTER_G28 leveling will always be enabled after G28 . With RESTORE_LEVELING_AFTER_G28 leveling is restored to whatever state it was in before G28 .

                                    How is auto level level calculated? ›

                                    In the auto level machine, the difference in the stadia hair reading is set at the 1: 100 ratio. i.e. if the reading difference is 1cm, that represents 1m. over the ground. So, to get the measurement over the ground, you have to multiply the difference in the stadia hair readings by 100.

                                    What is the G-code for straight line? ›

                                    This G code provides for straight line (linear) motion from point to point. Motion can occur in 1 or more axes. You can command a G01 with 3 or more axes All axes will start and finish motion at the same time.

                                    How far should my nozzle be from bed? ›

                                    This way you can adjust the gap between the nozzle tip and the glass surface: -0.1mm means the nozzle will be closer to the glass bed, +0.1mm means it will be further away from the bed. Typical you adjust only 0.05mm to maximum 0.2mm.

                                    How high should Ender 3 bed be leveled? ›

                                    Unfortunately, there isn't one specific measurement that can be applied to any and all printers, most users aim for between 0.06-0.2 mm, with 0.1 mm being a good starting point. The Ender 3s don't have an auto-leveling feature, so you have to level the bed manually.

                                    What is the magic number on Ender 3? ›

                                    These magic numbers are essentially the layer heights that work best on a particular printer. For the Ender 3 models, the magic numbers are in increments of 0.04 mm (e.g., 0.08, 0.12, 0.16, 0.20, 0.24 mm). Simply put, this is because the Z-axis stepper motor on the Ender 3 will raise the hot end 0.04 mm per step.

                                    What does bad bed leveling look like? ›

                                    Here are a few common signs of an unlevel bed: Filament doesn't stick to the build surface in certain areas. Filament doesn't leave the nozzle in some places. The filament's height and width vary across the build surface.

                                    What is universal bed leveling? ›

                                    Unified Bed Leveling (UBL) - similar to bilinear leveling except it adds various tools such as matrix editing to fine-tune the probing results. Another great feature is you can save multiple meshes if you have different build plates you use.

                                    What is bed leveling 5000? ›

                                    Bed Leveler 5000 provides a simple method for paper and feeler gauge-free manual FDB bed leveling. No firmware, setting, configuration, or hardware changes are required to use Bed Leveler 5000.

                                    What bed level means? ›

                                    In this case, the definition of bed level is related to the velocity profile and it is located by extending the velocity profiles below the lowest velocity reading to reach zero velocity as indicated in Figure 1.

                                    What is the bed level? ›

                                    The term “bed level” is widely used in the industry to refer to different settling phases in the thickener (figure 1). Some people use this term to describe the mud level, others use it to refer to the interface level or layer.

                                    References

                                    Top Articles
                                    Latest Posts
                                    Article information

                                    Author: Nathanial Hackett

                                    Last Updated:

                                    Views: 5871

                                    Rating: 4.1 / 5 (52 voted)

                                    Reviews: 83% of readers found this page helpful

                                    Author information

                                    Name: Nathanial Hackett

                                    Birthday: 1997-10-09

                                    Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

                                    Phone: +9752624861224

                                    Job: Forward Technology Assistant

                                    Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

                                    Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.