Marlin Firmware BLTouch Probing Failed Error – Causes & Fixes

While the BLTouch is the first upgrade we recommend adding to a 3D printer if it doesn’t have automatic bed leveling already, due to the convenience and the reliability it brings to the bed leveling process, there can be scenarios where the automatic bed leveling process doesn’t work as intended and require some troubleshooting.

In this guide, we will take a look at the possible causes behind the occurrence of the “Probing Failed” error you can come across when attempting to automatically level your 3D printer’s bed with a BLTouch sensor and go through the solutions you can apply to get things back in working order.

Marlin Firmware BLTouch Probing Failed Error – Causes & Fixes

As there are a few different factors that can cause Marlin firmware to throw out the “Probing Failed” error once you initiate the bed leveling process with your BLTouch, solving the problem comes down to ruling out each of the factors that don’t apply in your case, finding the root cause, and utilizing the corresponding solution.

Below, you can find the possible culprits that can cause the “Probing Failed” error, along with explanations of how they can contribute to the problem you’re experiencing and solutions that will help you resolve it.

Misconfigured (Incompatible) Firmware

We can consider installing misconfigured firmware to be the primary factor that causes the “Probing Failed” error in Marlin Firmware, as the probing process, just as anything else your 3D printer does, relies on the firmware having the correct configuration to accommodate the BLTouch.

So, if you experienced this error right after you installed the BLTouch and flashed new firmware to make your 3D printer compatible, we can say that a firmware-related problem is something we need to rule out.

Additionally, the likelihood of coming across an incompatible firmware file is even higher if you obtained the firmware file from a third-party source that isn’t your 3D printer manufacturer’s website (a common case with Ender 3 models), as each Marlin fork is configured explicitly for a 3D printer’s hardware.

With that in mind, our primary recommendation to rule the possibility of a firmware misconfiguration out would be to obtain the official firmware from the manufacturer’s website while also ensuring it’s the one that matches the hardware of your 3D printer completely, as this will practically guarantee that the firmware you’re flashing is created exactly for your 3D printer with all the configuration done correctly.

So, for instance, if you have a stock Ender 3 Pro, the first step would be to navigate to the related area on the Creality website, where you can find the official firmware files for your 3D printer.

ender 3 pro firmware list example

That being said, as it’s possible for an Ender 3 Pro to ship with many different Creality mainboards, such as v1.1.4, v1.1.5, v4.2.7, and v4.2.2, you’ll also need to pick out the correct firmware file that matches your Ender 3 Pro’s mainboard version, as flashing the wrong firmware file will create issues even though all of these firmware files are technically for an Ender 3 Pro.

Finally, one last thing we recommend trying before moving on to the next solution, if you still experience the same problem with the official firmware, is to flash a third-party firmware from a trusted source to your 3D printer, such as the TH3D Unified 2 Firmware, which we believe is worth a try to double confirm things before looking for the problem elsewhere, even though it’s unlikely for the official firmware to be causing such a problem in most cases.

Incorrect X and Y Probe Offsets

The X and Y probe offsets are the variables responsible for letting the firmware know of the distance between the probe and the nozzle, and their misconfiguration, which usually occurs when setting the BLTouch up for the first time, is another problem that can lead to the “Probing Failed” error.

In a case where your X and Y probe offsets are wrong, you’ll notice that the BLTouch ends up at a position that’s off the bed during probing, which is when the error will occur, as the firmware won’t know how much further it requires to move the printhead to get the probe within the bounds of the bed due to this misconfiguration.

For instance, if the BLTouch is located 40 mm to the left of the nozzle, but you have the X-axis probe offset value set to -20 mm, which would make the firmware think that the BLTouch is 20 mm to the left of the nozzle instead, it’ll create a situation where the firmware won’t move the printhead enough to the right to get the probe on top of the bed when probing a location that’s close to the left edge of the bed, causing this error.

incorrect x y probe offset example

To find out whether this is the case for you, the first step you will need to take is to find out the X and Y probe offsets your 3D printer is using by sending the M851 G-code command through the terminal, which will print the information on the screen.

m851 gcode example for checking x and y probe offsets

Next, you will need to measure the X and Y distances between the tip of the nozzle and the tip of the BLTouch (a digital caliper works best, but a ruler will also do the job) and compare these values to the ones you have obtained from M851, which will allow you to see whether there is a discrepancy regarding the probe offsets or not.

Remember to negate the distances you have measured if the probe is to the left of the nozzle on the X-axis and to the front of the nozzle on the Y-axis.

Finally, if there is indeed a discrepancy, you will need to correct the X and Y probe offsets by using the M851 Xn Ym command, where n refers to the X-axis distance and m refers to the Y-axis distance between the tip of the probe and the tip of the nozzle, and save your changes to the EEPROM with M500.

Incorrect Bed Size Configuration

Another widely encountered issue that can create the error you’re experiencing is the usage of misconfigured bed size parameters, which is the only way for the firmware to know the size of your 3D printer’s bed.

The trademark sign of probing failure due to an incorrect bed size configuration is the BLTouch ending up outside the bounds of the print bed and practically attempting to probe the empty space at some point, as the firmware doesn’t know how big the bed actually is to direct the BLTouch correctly to the probing points.

To find out the bed size configuration your firmware is using, you will need to open up the source code and find the Configuration.h file, where the bed size values, both for the X-axis and the Y-axis, are written next to the X_BED_SIZE and Y_BED_SIZE variables, respectively.

marlin x and y bed size config

Once you know the X-axis and the Y-axis bed sizes that your 3D printer is currently configured to, you can then compare it to the actual size of the bed, whether by referring to the specifications of your 3D printer or measuring the print bed itself, correct the bed size variables accordingly if necessary, and flash the updated firmware to your Ender 3.

ender 3 v2 bed measuring

Additionally, as some firmware makes it possible to directly change the X_BED_SIZE and Y_BED_SIZE variables with the LCD controller or with G-code commands, it’s also a good idea to check whether your firmware has this functionality, as this will save you from the trouble of re-compiling and re-flashing the firmware.

Incorrect Travel Limit Configuration

Similar to misconfigured bed size parameters, misconfigured travel limits can also be the reason behind your BLTouch failing to probe the print bed, as these limits allow the 3D printer to know the positions of the endstops in relation to the print bed.

Once again, the primary sign you’ll notice in this case is the BLTouch ending up outside the print bed at some point, as the firmware not knowing the distance between the endstops and the print bed effectively means that where the firmware thinks are the edges of the bed aren’t where the edges of the bed actually are.

example of incorrectly configured x and y min pos avariables

To quickly find out whether you have problems regarding the travel limit configuration, move the printhead to the X0 Y0 location after auto-homing, and look at the position of the nozzle relative to the bed.

If the nozzle is right on top of the front-left corner of the print bed at X0 Y0, it means that your X_MIN_POS and Y_MIN_POS are configured correctly (or corrected with home offsets), in which case your BLTouch attempting to probe outside bed area would point towards an issue regarding the bed size configuration or the X and Y probe offsets rather than the travel limits.

On the other hand, if the nozzle isn’t positioned at the front-left corner of the print bed at X0 Y0, we highly recommend referring to our guide on the Ender 3 auto-homing off-the-bed problem, which covers this scenario in detail and effectively applies to all 3D printers running Marlin firmware.

marlin travel limit configuration

While not directly related to the problem at hand, we highly recommend enabling Z_SAFE_HOMING as well if you do end up having to make changes to the configuration files, as this will ensure that the probe doesn’t end up outside the bed area while homing the Z-axis, which is another similar problem you can experience with your BLTouch.

marlin z safe homing configuration

Incorrect Bed Tramming

Even though the job of an automatic bed leveling probe is to compensate for the bed’s flaws, a print bed that’s trammed too incorrectly, which refers to the mechanical adjustment of the print bed with the knobs underneath that makes it possible to raise or lower each of the corners, can cause your BLTouch to fail to probe the print bed as well.

In this case, the failure of the probing process stems from the height discrepancy between different areas of the bed being large enough to possibly create a scenario where some points on the print bed are much lower than the point the BLTouch considers to be Z = 0 after the initial auto-homing of the Z-axis.

As the Z_PROBE_LOW_POINT variable in Marlin firmware limits how much further down the BLTouch can go to search for the bed below the point it has determined to be Z = 0 after homing the Z-axis, which is 2 millimeters by default, any point of the bed that’s more than 2 millimeters lower than the original Z = 0 point will cause probing to fail once the probe attempts to take readings at that point.

probing failed due to bed tramming issue example

In this case, the correct solution would be to correctly tram your 3D printer’s bed with the standard paper method, which practically consists of the steps below:

  1. Auto-home your 3D printer.
  2. Heat the nozzle and the bed to slightly below the operating temperature.
  3. Bring the printhead to one of the corners of the bed, preferably as close as possible to the leveling knobs.
  4. Slide a piece of paper under the printhead.
  5. Bring the Z-axis position to 0.
  6. Turn the bed leveling knob on the corresponding corner until there is some resistance when you pull the paper off, but not so much that the nozzle will tear the paper.
  7. Repeat for all corners.
ender 3 v2 bed tramming example

On the other hand, if you can’t seem to get the tramming to work, you can also test whether the issue you’re facing stems from this factor or not by temporarily increasing the Z_PROBE_LOW_POINT value to a much higher number, such as -10, which should prevent the “Probing Failed” error from occurring even if there are severe issues regarding the bed’s tilt.

marlin z probe low point configuration

That being said, as this feature exists for the purpose of keeping the probe safe from getting damaged by pressing too hard against the bed, we can only recommend using it for testing purposes until you find a way to correct the tramming, and not as a permanent solution.

Misconfigured Z Probe Offset

Since the Z probe offset is the only thing that lets the firmware know how much space there is between the BLTouch and the nozzle, an incorrect Z probe offset value (M851) is something we need to consider as a factor that can also lead to the probing process failing in some cases.

The most common sign of this issue, as also mentioned in the Marlin Firmware troubleshooting guide, is the probe triggering before it gets close enough to the print bed, which practically results in the pin not being able to make contact with the bed and take the necessary reading for the probing process.

Additionally, while it’s rare for a 3D printer that already has a bed leveling probe attached to it to use the Z endstop for homing, the chance of an incorrect Z probe offset value causing the issue you’re facing increases even further if this is the case for you, as there is more room for inconsistencies in such a scenario.

probe deployed in the air example

As you may predict, the best course of action to rule this problem out is to calibrate the Z probe offset value correctly for your BLTouch, which will ensure that the firmware knows the distance between the BLTouch and the nozzle, making it impossible (unless there are other problems present) for the probe to trigger earlier than expected due to the printer trying to avoid crashing the nozzle into the print bed.

Wiring Problems Regarding the BLTouch

While we have been talking about the more surface-level issues so far, as they are usually easier to fix, there is no denying that wiring problems create a considerable portion of BLTouch-related errors, including the “Probing Failed” error you’re experiencing.

Wiring-related issues are especially likely to be the cause if you set your BLTouch up for the first time or opened up to mainboard cover to make some adjustments to the wiring recently, as even a slightly loose connection or one kinked wire can prevent the probe from working as intended and create the issue you’re facing.

Regardless, our primary recommendation to rule such a scenario out would be to unplug the wire that connects the BLTouch to the mainboard and to inspect it and the connectors on both ends for any signs of damage, such as exposed wires, sharp bends that can potentially damage wires inside, and loose connectors where any of the wires aren’t sitting tightly in the connector on either side.

Once you confirm that there are no issues related to the wires and connectors themselves, the next step would be to ensure that you’re connecting the wire to the correct pins on the mainboard, and the best way to do so would be to follow the wiring diagrams on the official site, which shows you the exact pins where you’ll need to connect the wire depending on your 3D printer’s mainboard, along with any modifications you may need to make to the firmware configuration.

bltouch wiring for creality v4.2.x series mainboards
Source: Greenonline @ Stack Exchange (CC BY-SA 4.0)

Finally, the last step to take to fix wiring problems is to ensure that the connectors are sitting tightly in their places, with no wobble, as a loose connection between the connector of the wire and the pins on the mainboard or the BLTouch can result in the probe not being able to operate as intended.

bltouch probe
Source: scooter 505 @ Stack Exchange (CC BY-SA 4.0)

That being said, if you seem to be running out of options with no solution in sight after attempting all the fixes we have listed, replacing the cable that connects your BLTouch to the mainboard, just in case, can also be worth a try before replacing the BLTouch itself.

Mechanical Problems Regarding the BLTouch

Last but not least, we definitely have to consider mechanical problems regarding the BLTouch itself, as the probe not functioning as intended due to mechanical issues can result in an error scenario even when you have arranged everything else perfectly on the side of wiring and firmware configuration.

While the most common sign you’ll come across, in this case, is the pin not deploying or stowing at all, with the red LED on the BLTouch blinking to indicate that there’s a problem, other symptoms, like the BLTouch pin not being able to reach the print bed or being too close to it during deployment can also stem from mechanical issues, such as incorrect mounting of the BLTouch, which is especially likely to be the case if you experienced this error right after using it for the first time.

Regardless, the very first step we recommend taking regarding mechanical issues is to ensure that the distance between the tip of the nozzle and the tip of the BLTouch (while the pin is in the stowed position) is between 2.3 mm and 4.3 mm, as instructed in the manuals (for BLTouch Smart V3.1, the newest BLTouch at the time of writing), since this condition not being met would mean that the BLTouch is mounted incorrectly, which in turn would prevent the probe from operating.

bltouch dimensions chart

Once that’s done, the next step is to observe the BLTouch as the probing process takes place and see whether anything out of the ordinary happens regarding the movement of the pin, whether it’s the pin getting stuck halfway, not getting deployed at all, not being stowed when it should (the BLTouch should stow the pin between each probing point unless the high-speed mode is enabled), or any other erratic behavior.

If you notice any such issue, what you will need to do is to remove the pin from the case by unscrewing the magnetic screw located on the top of the BLTouch case and find out whether the pin can move up and down freely inside the case when you push it with your finger.

Provided that there are no issues, it’s likely that the magnetic screw is the problem, whether due to it being screwed too tight (which would prevent the pin from deploying), due to it being too loose (the pin wouldn’t be able to stow), or due to it losing its magnetism (once again, the pin wouldn’t stow), which makes the best course of action to re-magnetize the screw and re-adjust its tightness based on your observations.

On the other hand, if the pin doesn’t move freely without the magnetic screw at play, our recommendation would be to examine the pin for any physical damage, such as bending, and to clean both the pin and the BLTouch with some electronic cleaner to rule out the possibility of dust and dirt preventing the movement of the pin.

You can find more in-depth explanations of how to perform the necessary troubleshooting steps in our guide regarding the BLTouch red LED blinking problem.

Finally, if you haven’t been able to resolve the problem you’re facing at this point, you’ll most likely need to replace your BLTouch with a new one, as the probe itself being defective is the only remaining cause that can lead to the probing problem you’re experiencing with everything else checked off the list.


While coming across the “Probing Failed” error message can make it sound like the problem is related to the BLTouch itself, the fact that there are a few different, unrelated factors that can also be involved in this error’s occurrence usually causes the solution process to become slightly more complex.

Fortunately, as this error is usually a product of minor issues that you can resolve quite effortlessly, such as misconfigurations on the software side of things, you should be able to get things back in working order without needing to make any drastic changes, such as replacing your BLTouch a new one, in most cases.