<p>I installed a BLTouch bed leveling probe on my printer which uses Marlin 2.0.5.3.</p>

<p>Now the printer seems to be of two minds when it comes to finding the origin. Homing XY moves to the lower left as it always has, but homing Z moves not only to Z=0, but also to the center of the build plate. The printer knows this is (100,100,0) and is not mistakenly thinking it is (0,0,0).</p>

<p>This causes some issues such as now the nozzle wipe at the beginning of a print happens right in the center of where the print is supposed to be.</p>

<p>Is this expected behavior?</p>

[{'answer_id': 13882, 'author': 'rgov', 'author_id': 16270, 'author_profile': 'https://3dprinting.stackexchange.com/users/16270', 'pm_score': 3, 'selected': False, 'text': '<p>This is a consequence of enabling <code>Z_SAFE_HOMING</code>:</p>\n<blockquote>\n<p>Z Safe Homing prevents Z from homing when the probe (or nozzle) is outside bed area by moving to a defined XY point (by default, the middle of the bed) before Z Homing when homing all axes with <code>G28</code>. As a side-effect, X and Y homing are required before Z homing. If stepper drivers time out, X and Y homing will be required again.</p>\n<p>Enable this option if a probe (not an endstop) is being used for Z homing. Z Safe Homing isn’t needed if a Z endstop is used for homing, but it may also be enabled just to have XY always move to some custom position after homing.</p>\n</blockquote>\n<p>My default Cura start G-code contained this sequence:</p>\n<pre><code>G28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\n</code></pre>\n<p>I changed this to</p>\n<pre><code>G28 ;safe homing\nG90 ;absolute positioning\nG0 X0 Y0 ; move to bottom-left corner for nozzle wipe\n</code></pre>\n<p>However any oozing will still happen at the center of the build plate, which is a problem.</p>\n'}, {'answer_id': 15155, 'author': 'Raahs', 'author_id': 26029, 'author_profile': 'https://3dprinting.stackexchange.com/users/26029', 'pm_score': 2, 'selected': False, 'text': '<p>I had the same problem, solved it by inserting</p>\n<pre><code>// Move X and Y to 0 after homing\nprocess_subcommands_now_P(&quot;G1 X0 Y0 F5000&quot;);\n</code></pre>\n<p>at the end of <code>G28.cpp</code>, just before <code>ui.refresh();</code></p>\n<p>This moves the print head to X0, Y0 and leaves Z untouched after the homing procedure. This way any oozing that might happen while the extruder heats up will be outside of the bed.</p>\n'}]
['https://3dprinting.stackexchange.com/questions/13880', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/16270/']