I had the BLTouch (3.1) working with stock firmware on an Ender 3 v2 but wanted to get a 5x5 mesh instead of the 3x3 so I installed the TH3D firmware. With the stock firmware my Z-offset was -2.95 mm.

After installing TH3D firmware, my Z-offset has to be in excess of -6 mm to reach the same nozzle-to-bed height. I've tried setting the Z-offset via LCD and through G-code, saving to EEPROM. I'm having 2 problems with this that I assume are connected:

  1. Z-offset seems to not be applied when setting Z axis position. When I autohome and then set Z axis to 0, even the extended probe from the BLTouch does not touch the bed (it's actually 1-2 mm away from touching). And this is with the Z-offset set to -6 mm.
  2. I tried running a print, which includes an ABL request (G29), the print head crashed into the bed immediately after finishing levelling. My hunch is that when starting to print the -6 mm Z-offset starts being correctly taken into account.

Could this be the result of something I did in the Configuration.h when compiling the firmware?

I made the following changes:


  • Line 24: uncommented #define ENDER3_V2_V422_BOARD
  • Line 43: uncommented #define CUSTOM_PROBE
  • Line 66: changed #define EZABL_POINTS from 3 to 5
  • Line 124: changed #define NOZZLE_TO_PROBE_OFFSET from { 10, 10, 0} to { -44, -6, 0 }
  • Line 233: uncommented #define BLTOUCH
  • Line 235: uncommented #define SERVO0_PIN PB0
  • Line 636: commented out #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
  • Line 636: added #define USE_PROBE_FOR_Z_HOMING

In Configuration_backend.h the only change I made was increasing Z_PROBE_OFFSET_RANGE_MIN from -5 to -20.

  • 1
    $\begingroup$ It could well be a configuration problem, but having no access to the configuration it is impossible to assess if that is the case. You could post a link to your configuration in comments to a file put on PasteBin or your own Github repository fork. Regular users can look into it and copy the relevant parts into the question for you and base their answer on this. Hope this helps! $\endgroup$ – 0scar Mar 5 at 9:57
  • 2
    $\begingroup$ @0scar I've added the configuration changes I made, confirmed with a diff between the files. Thanks! $\endgroup$ – Nate Hitze Mar 5 at 15:36
  • $\begingroup$ Even better! Thanks! Welcome to 3DPrinting.SE! $\endgroup$ – 0scar Mar 5 at 15:40
  • $\begingroup$ You can simply change the dimension of the probe grid in proper Marlin with the "GRID_MAX_POINTS_X" setting. No need to use TH3Ds obsolete copy. $\endgroup$ – towe Mar 8 at 13:23

I'm pretty sure something is wrong with the firmware I downloaded. I flashed the 3/5/21 version of Marlin firmware from https://marlin.crc.id.au/ and it is somehow working better with the LCD firmware (which I got from TH3D), the Z offset is working as it should, and the leveling process has more points and goes faster.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.