<p>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.</p>
<p>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:</p>
<ol>
<li>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.</li>
<li>I tried running a print, which includes an ABL request (<code>G29</code>), 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.</li>
</ol>
<p>Could this be the result of something I did in the Configuration.h when compiling the firmware?</p>
<p>I made the following changes:</p>
<p><a href="https://github.com/th3dstudio/UnifiedFirmware/blob/2.0.x/Board%20Configuration%20Files/CrealityV42X/Firmware/Marlin/Configuration.h" rel="nofollow noreferrer">CrealityV42X/Firmware/Marlin/Configuration.h</a></p>
<ul>
<li>Line 24: uncommented <code>#define ENDER3_V2_V422_BOARD</code></li>
<li>Line 43: uncommented <code>#define CUSTOM_PROBE</code></li>
<li>Line 66: changed <code>#define EZABL_POINTS</code> from 3 to 5</li>
<li>Line 124: changed <code>#define NOZZLE_TO_PROBE_OFFSET</code> from <code>{ 10, 10, 0}</code> to <code>{ -44, -6, 0 }</code></li>
<li>Line 233: uncommented <code>#define BLTOUCH</code></li>
<li>Line 235: uncommented <code>#define SERVO0_PIN PB0</code></li>
<li>Line 636: commented out <code>#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN</code></li>
<li>Line 636: added <code>#define USE_PROBE_FOR_Z_HOMING</code></li>
</ul>
<p>In <a href="https://github.com/th3dstudio/UnifiedFirmware/blob/2.0.x/Firmware/Marlin/Configuration_backend.h" rel="nofollow noreferrer">Configuration_backend.h</a> the only change I made was increasing <code>Z_PROBE_OFFSET_RANGE_MIN</code> from -5 to -20.</p>

[{'answer_id': 15804, 'author': 'Nate Hitze', 'author_id': 27181, 'author_profile': 'https://3dprinting.stackexchange.com/users/27181', 'pm_score': 2, 'selected': False, 'text': '<p>I\'m pretty sure something is wrong with the firmware I downloaded. I flashed the 3/5/21 version of Marlin firmware from <a href="https://marlin.crc.id.au/" rel="nofollow noreferrer">https://marlin.crc.id.au/</a> 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.</p>\n'}, {'answer_id': 19316, 'author': 'Martin Viljoen TheTechTinker T', 'author_id': 34001, 'author_profile': 'https://3dprinting.stackexchange.com/users/34001', 'pm_score': 0, 'selected': False, 'text': "<p>Do you still have this issue? My Ender with a BLTouch won't respect the Z-off set setting in <strong>Motion</strong> &gt; <strong>Control</strong> &gt; <strong>ZOffset</strong>. You can change it to -10 and it will still start printing about 1\xa0cm above the bed.</p>\n<p>All of this started to happen after I used <strong>Bed Leveling</strong> from the prepare menu. To work around the issue, I reset the settings <strong>Initialize EPROM</strong> in the control menu.</p>\n<ol>\n<li>Reset All settings <strong>Initialize EPROM</strong></li>\n<li>Set the Z-offset (In my case -3.3)</li>\n<li>Store settings in the control menu</li>\n<li>Switch off the printer (settings won't take effect even if you select to load settings)</li>\n</ol>\n<p>Then start printing. This doesn't solve the issue because it defeats the purpose of having a BLTouch in the first place. but at least I'm able to print again.</p>\n<p>In a nutshell, avoiding auto bed leveling does the trick (or at least in my case)</p>\n<p>Hope it helps.</p>\n"}, {'answer_id': 20229, 'author': 'Greasy Geek', 'author_id': 36152, 'author_profile': 'https://3dprinting.stackexchange.com/users/36152', 'pm_score': 0, 'selected': False, 'text': "<p>A friend and I ran into this problem with TH3D and this was the workaround for <strong>our</strong> situation. Pretty sure I know what's causing it, but I haven't had the chance to rebuild the firmware yet to test it.</p>\n<p>Autohome, update your bed mesh, either through the menu or via the terminal with <code>G28</code> &amp; <code>G29</code>. Store settings via menu or <code>M500</code> via terminal.</p>\n<p>Reboot/power cycle the printer, autohome/<code>G28</code>, and insert <code>M420 S</code> into your print file G-code <strong>after</strong> <code>G28</code>.</p>\n<p>Let me know if it works.</p>\n"}]
['https://3dprinting.stackexchange.com/questions/15797', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/27181/']