<p>This has been changed in newer builds of Marlin.</p>
<p>Previous code:</p>
<pre><code>// X and Y axis travel speed (mm/m) between probes

#define XY_PROBE_SPEED 8000
</code></pre>
<p>Current code:</p>
<pre><code>// X and Y axis travel speed (mm/min) between probes

#define XY_PROBE_FEEDRATE (200*60) //define feedrate as a multiple of 60.
</code></pre>

CC BY-SA 4.0
2023-02-11T19:56:15.837Z
2023-02-11T22:51:38.630Z
2023-02-11T22:51:38.630Z
Jason Hollister
<p>There are multiple ways to achieve this:</p>
<h2>In G-code</h2>
<p>You don't necessarily need to do that in firmware, TH3D is based on Marlin firmware and is just a monolithic implementation for most popular printers and boards that helps novice users to easily configure their printer, but in the meantime it hides other options from plain sight.</p>
<p>Being a derivative fro Marlin firmware, the bed leveling speed in between probes can also be easily set in G-code. G-code <a href="https://reprap.org/wiki/G-code#G29:_Detailed_Z-Probe" rel="nofollow noreferrer"><code>G29</code></a> has a speed parameter:</p>
<p><code>S</code> : <em>Set the XY travel speed between probe points (in units/min)</em></p>
<p>From below (TH3D firmware) can be seen that a value of 12000 mm/min will speed up and is generally safe to use.</p>
<h2>In Marlin firmware</h2>
<p>In Marlin firmware, the speed setting in between probes is found in <a href="https://github.com/MarlinFirmware/Marlin/blob/2.0.x/Marlin/Configuration.h" rel="nofollow noreferrer">Configuration.h</a>:</p>
<pre><code>// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_SPEED 8000
</code></pre>
<h2>In TH3D firmware</h2>
<p>In TH3D firmware this speed is buried in the <a href="https://github.com/houseofbugs/TH3D-Unified-U1.R2/blob/master/TH3DUF_R2/Configuration_backend.h" rel="nofollow noreferrer">Configuration_backend.h</a>:</p>
<pre><code>  #if ENABLED(PROBING_MOTORS_OFF)
    #define XY_PROBE_SPEED 8000
  #else
    #if ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
      #define XY_PROBE_SPEED 8000
    #else
      #if ENABLED(EZABL_SUPERFASTPROBE)
        #define XY_PROBE_SPEED 16000
      #else
        #define XY_PROBE_SPEED 12000
      #endif
    #endif
  #endif
</code></pre>
<p>The speed is depending on setting of the <code>PROBING_MOTORS_OFF</code> in <a href="https://github.com/houseofbugs/TH3D-Unified-U1.R2/blob/master/TH3DUF_R2/Configuration.h" rel="nofollow noreferrer">Configuration.h</a>:</p>
<pre><code>// This will disable the XYE motors during probing. Can be useful if you have stepper motors causing interference issues with the EZABL sensor.
#define PROBING_MOTORS_OFF
</code></pre>
<p>or depending on the speed settings for specific setting/sensors <code>(ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)</code>:</p>
<pre><code>// If you have issues with your machine running the faster probe setting disable the #define EZABL_FASTPROBE below.
// DO NOTE: Most machines will work with the fast probe enabled. Use M48 to verify accuracy.
#define EZABL_FASTPROBE

// Superfast probing - Only works with the EZABL Pro Sensors
// DO NOTE: Not all machines will work with the fast probe enabled. Use M48 to verify accuracy and make sure the Z isn't binding with the high speeds.
//#define EZABL_SUPERFASTPROBE
</code></pre>
<p>Basically, if you have not defined one of the following: <code>PROBING_MOTORS_OFF</code>, <code>SLOWER_PROBE_MOVES</code>, <code>TH3D_EZ300</code> or <code>TIM_AM8</code>, the <code>XY_PROBE_SPEED </code> will default to a value of 4000 (depending of the definition of <code>HOMING_FEEDRATE_XY</code>) since the constant is not defined, see <a href="https://github.com/houseofbugs/TH3D-Unified-U1.R2/blob/master/TH3DUF_R2/Conditionals_post.h" rel="nofollow noreferrer">Conditionals_post.h)</a>:</p>
<pre><code>  #ifndef XY_PROBE_SPEED
    #ifdef HOMING_FEEDRATE_XY
      #define XY_PROBE_SPEED HOMING_FEEDRATE_XY
    #else
      #define XY_PROBE_SPEED 4000
    #endif
  #endif
</code></pre>
<p>In Marlin you would simply change the value of the travel between probing speed whilst in TH3D you need to sort out if one of all those conditions are met. For advanced users with a slightly different printer setup, the TH3D software might be less optimal. Do note that forks of the Marlin firmware that are heavily modified always (like TH3D) lack behind the original sources; you are dependent on the implementation schedule of the fork maintainer. But, for people that have not modified their printer, have a limited knowledge of software (C/C++ development) and firmware flashing, or their modification falls in the supported options of TH3D, the monolithic TH3D might be very helpful!</p>
<p>Most probably, your setting is overruled later.</p>

CC BY-SA 4.0
2020-07-02T06:40:37.063Z
2020-07-02T09:58:58.837Z
2020-07-02T09:58:58.837Z
0scar
<p>There's also the option to save the mesh so that you don't have to level each time you print.</p>
<p>First of all, using Cura or whatever you use to send commands, send:</p>
<pre><code>M502; Reset to factory settings 
M500; Saves (so that you may start with a clean slate)
G28; Home All
G29; Autolevel
</code></pre>
<p>After running your auto bed leveling, add</p>
<p><code>M500</code></p>
<p>And you're done.</p>
<p>P.S. don't forget to do this after bringing both extruder and bed up to temperature</p>

CC BY-SA 4.0
2021-12-30T05:54:01.127Z
2021-12-30T14:04:49.097Z
2021-12-30T14:04:49.097Z
Daniela Aguilar
<p>I was successfull in getting my ender 5 pro bltouch to work faster. I still have some tweaking to do, and I'm a noob. I did the following in configuration_backend.h:</p>
<p><strong>I changed #define HOMING_FEEDRATE_Z 4 times 60 to 20 times 60:</strong></p>
<pre><code>#if ENABLED(EZABL_SUPERFASTPROBE) &amp;&amp; DISABLED(BLTOUCH)
  #define HOMING_FEEDRATE_Z  (15*60)
#elif ENABLED(EZABL_FASTPROBE) &amp;&amp; DISABLED(BLTOUCH)
  #define HOMING_FEEDRATE_Z  (8*60)
#else
  #define HOMING_FEEDRATE_Z  (20*60)
#endif
</code></pre>
<p><strong>XY probe speed looks good, didn't have to change:</strong></p>
<pre><code>#if ENABLED(PROBING_MOTORS_OFF)
    #define XY_PROBE_SPEED 8000
  #else
    #if ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
      #define XY_PROBE_SPEED 8000
    #else
      #if ENABLED(EZABL_SUPERFASTPROBE)
        #define XY_PROBE_SPEED 16000
      #else
        #define XY_PROBE_SPEED 12000
      #endif
    #endif
  #endif
</code></pre>
<p><strong>I commented (deactivated) this, so it probes only one time:</strong></p>
<pre><code> //#define MULTIPLE_PROBING 2
</code></pre>
<p><strong>I changed the folowing from 15, 10, 10</strong>:</p>
<pre><code>#if ENABLED(BLTOUCH)
    #define Z_CLEARANCE_DEPLOY_PROBE   10
    #define Z_CLEARANCE_BETWEEN_PROBES 5
    #define Z_CLEARANCE_MULTI_PROBE    5
</code></pre>
<p>Hope this helps. Work in progress.</p>
<p>Andy</p>

CC BY-SA 4.0
2020-07-06T08:40:17.470Z
2020-07-06T09:51:30.367Z
2020-07-06T09:51:30.367Z
Andreas Orvik
<p>I dont know if you managed to solve this but if not I was facing the same issue and managed to do it just by searching all sketches for those parameters in Arduino IDE. They are not all in configuration.h like shown in the Teaching Tech video. Most of them are in configuration_backend.h and some in conditionals_LCD.h I used the values suggested in TT's video and it has speeded up levelling vastly.</p>
<p>p.s. I am using the most recent version of the TH3D unified firmware on a Creality CR-10 mini</p>

CC BY-SA 4.0
2020-07-02T06:50:59.473Z
Hi, welcome to 3DPrinting.SE! Showing which constants you would need to change would help the OP, the current state of the answer still leaves the OP in the dark...
0scar
CC BY-SA 4.0
2020-07-01T23:48:38.400Z
2020-07-01T23:48:38.400Z
user18181
<p>I have just upgraded my board to TH3D's <a href="https://www.th3dstudio.com/product/ezboard-lite/" rel="nofollow noreferrer">EZBoard Lite</a> with their <a href="https://www.th3dstudio.com/knowledgebase/ezboard-installation-guide/" rel="nofollow noreferrer">Unified Firmware (U2.R1.15)</a> and whilst dialling in all the setting I have found that using the BlTouch each time to be frustrating because of the time it takes to complete the Auto Bed Leveling, however, I cannot find the settings to increase the speed as shown in <a href="https://youtu.be/BV11-VOQjMc?t=134" rel="nofollow noreferrer">Teaching Tech's video</a>:</p>
<pre><code>#define DEFAULT_MAX_FEEDRATE          { 500, 500, 5, 25 }
</code></pre>
<p>is changed to</p>
<pre><code>#define DEFAULT_MAX_FEEDRATE          { 500, 500, 20, 25 }
</code></pre>
<p>and</p>
<pre><code>#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed
</code></pre>
<p>is changed to</p>
<pre><code>#define BLTOUCH_DELAY 100   // (ms) Enable and increase if needed
</code></pre>
<p>and</p>
<pre><code>// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000
</code></pre>
<p>is changed to</p>
<pre><code>// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 10000
</code></pre>
<p>I am not quite sure which parts to change as the two builds are organised and worded differently.</p>
<p>In the online firmware configurator, it does list an option to speed up the probing of their own EZABL but says not to do so for the BLTouch in the <a href="https://ezfirmware.th3dstudio.com/editor/" rel="nofollow noreferrer">manual configuration editor</a></p>
<pre><code>// Super fast probing - VERY EXPERIMENTAL AND ONLY TESTED WITH EZABL PRO SENSORS
// Do NOT use with EZABL_FASTPROBE (comment out above) or BL Touch Sensors
//#define EZABL_SUPERFASTPROBE
</code></pre>
<p>Would enabling this be the same as making the changes listed in Teaching Tech's video?</p>
<p>Any help you can offer will be greatly appreciated.</p>

CC BY-SA 4.0
2020-01-06T07:31:00.600Z
X -> Y Problem:
The EZBoard seems to be supported by stock Marlin too, so that would probably be the easiest solution.
towe
CC BY-SA 4.0
2020-01-06T07:55:49.860Z
It is not advised to lower `BLTOUCH_DELAY`, there is time required for the deployment. Note that the sanity check should have warned you: `"BLTOUCH_DELAY less than 200 is unsafe and is not supported."`
0scar
CC BY-SA 4.0
2020-04-11T15:00:12.397Z
I'm exactly at the same situation, trying to speed up bltouch through th3d firmware. Did you end up solving it? Did it work by enabling `#define EZABL_SUPERFASTPROBE`?
krasatos
CC BY-SA 4.0
2020-04-11T20:47:42.537Z
No, I never found out how to do it because I'm not sure if EZABL_SUPERFASTPROBE will work with the bl touch, I ended it up leaving it because speeding it up wasn't worth it enough to go through the hassle of fixing it if mucked everything up.
Liam
<bed-leveling><bltouch><th3d>
How Do I Speed up The BLTouch Auto Bed Leveling In TH3D's Unified Firmware?
Liam
# How Do I Speed up The BLTouch Auto Bed Leveling In TH3D's Unified Firmware?

(Asked by: username_0 on 2020-01-05)

I have just upgraded my board to TH3D's EZBoard Lite with their Unified Firmware (U2.R1.15) and whilst dialling in all the setting I have found that using the BlTouch each time to be frustrating because of the time it takes to complete the Auto Bed Leveling, however, I cannot find the settings to increase the speed as shown in Teaching Tech's video:
#define DEFAULT_MAX_FEEDRATE          { 500, 500, 5, 25 }

is changed to
#define DEFAULT_MAX_FEEDRATE          { 500, 500, 20, 25 }

and
#define BLTOUCH_DELAY 375   // (ms) Enable and increase if needed

is changed to
#define BLTOUCH_DELAY 100   // (ms) Enable and increase if needed

and
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 8000

is changed to
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 10000

I am not quite sure which parts to change as the two builds are organised and worded differently.
In the online firmware configurator, it does list an option to speed up the probing of their own EZABL but says not to do so for the BLTouch in the manual configuration editor
// Super fast probing - VERY EXPERIMENTAL AND ONLY TESTED WITH EZABL PRO SENSORS
// Do NOT use with EZABL_FASTPROBE (comment out above) or BL Touch Sensors
//#define EZABL_SUPERFASTPROBE

Would enabling this be the same as making the changes listed in Teaching Tech's video?
Any help you can offer will be greatly appreciated.

**Tags:** bed-leveling, bltouch, th3d
> **Comments:**
> **username_1**: X -> Y Problem: The EZBoard seems to be supported by stock Marlin too, so that would probably be the easiest solution.  
> **username_2**: It is not advised to lower `BLTOUCH_DELAY`, there is time required for the deployment. Note that the sanity check should have warned you: `"BLTOUCH_DELAY less than 200 is unsafe and is not supported."`  
> **username_3**: I'm exactly at the same situation, trying to speed up bltouch through th3d firmware. Did you end up solving it? Did it work by enabling `#define EZABL_SUPERFASTPROBE`?  
> **username_0**: No, I never found out how to do it because I'm not sure if EZABL_SUPERFASTPROBE will work with the bl touch, I ended it up leaving it because speeding it up wasn't worth it enough to go through the hassle of fixing it if mucked everything up.  

---

## 5 answers

### Answer by username_4 on 2023-02-11. Score: 2

This has been changed in newer builds of Marlin.
Previous code:
// X and Y axis travel speed (mm/m) between probes

#define XY_PROBE_SPEED 8000

Current code:
// X and Y axis travel speed (mm/min) between probes

#define XY_PROBE_FEEDRATE (200*60) //define feedrate as a multiple of 60.


---

### Answer by username_2 on 2020-07-02. Score: 1

There are multiple ways to achieve this:
In G-code
You don't necessarily need to do that in firmware, TH3D is based on Marlin firmware and is just a monolithic implementation for most popular printers and boards that helps novice users to easily configure their printer, but in the meantime it hides other options from plain sight.
Being a derivative fro Marlin firmware, the bed leveling speed in between probes can also be easily set in G-code. G-code G29 has a speed parameter:
S : Set the XY travel speed between probe points (in units/min)
From below (TH3D firmware) can be seen that a value of 12000 mm/min will speed up and is generally safe to use.
In Marlin firmware
In Marlin firmware, the speed setting in between probes is found in Configuration.h:
// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_SPEED 8000

In TH3D firmware
In TH3D firmware this speed is buried in the Configuration_backend.h:
  #if ENABLED(PROBING_MOTORS_OFF)
    #define XY_PROBE_SPEED 8000
  #else
    #if ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
      #define XY_PROBE_SPEED 8000
    #else
      #if ENABLED(EZABL_SUPERFASTPROBE)
        #define XY_PROBE_SPEED 16000
      #else
        #define XY_PROBE_SPEED 12000
      #endif
    #endif
  #endif

The speed is depending on setting of the PROBING_MOTORS_OFF in Configuration.h:
// This will disable the XYE motors during probing. Can be useful if you have stepper motors causing interference issues with the EZABL sensor.
#define PROBING_MOTORS_OFF

or depending on the speed settings for specific setting/sensors (ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8):
// If you have issues with your machine running the faster probe setting disable the #define EZABL_FASTPROBE below.
// DO NOTE: Most machines will work with the fast probe enabled. Use M48 to verify accuracy.
#define EZABL_FASTPROBE

// Superfast probing - Only works with the EZABL Pro Sensors
// DO NOTE: Not all machines will work with the fast probe enabled. Use M48 to verify accuracy and make sure the Z isn't binding with the high speeds.
//#define EZABL_SUPERFASTPROBE

Basically, if you have not defined one of the following: PROBING_MOTORS_OFF, SLOWER_PROBE_MOVES, TH3D_EZ300 or TIM_AM8, the XY_PROBE_SPEED  will default to a value of 4000 (depending of the definition of HOMING_FEEDRATE_XY) since the constant is not defined, see Conditionals_post.h):
  #ifndef XY_PROBE_SPEED
    #ifdef HOMING_FEEDRATE_XY
      #define XY_PROBE_SPEED HOMING_FEEDRATE_XY
    #else
      #define XY_PROBE_SPEED 4000
    #endif
  #endif

In Marlin you would simply change the value of the travel between probing speed whilst in TH3D you need to sort out if one of all those conditions are met. For advanced users with a slightly different printer setup, the TH3D software might be less optimal. Do note that forks of the Marlin firmware that are heavily modified always (like TH3D) lack behind the original sources; you are dependent on the implementation schedule of the fork maintainer. But, for people that have not modified their printer, have a limited knowledge of software (C/C++ development) and firmware flashing, or their modification falls in the supported options of TH3D, the monolithic TH3D might be very helpful!
Most probably, your setting is overruled later.


---

### Answer by username_5 on 2021-12-30. Score: 0

There's also the option to save the mesh so that you don't have to level each time you print.
First of all, using Cura or whatever you use to send commands, send:
M502; Reset to factory settings 
M500; Saves (so that you may start with a clean slate)
G28; Home All
G29; Autolevel

After running your auto bed leveling, add
M500
And you're done.
P.S. don't forget to do this after bringing both extruder and bed up to temperature


---

### Answer by username_6 on 2020-07-06. Score: 0

I was successfull in getting my ender 5 pro bltouch to work faster. I still have some tweaking to do, and I'm a noob. I did the following in configuration_backend.h:
I changed #define HOMING_FEEDRATE_Z 4 times 60 to 20 times 60:
#if ENABLED(EZABL_SUPERFASTPROBE) && DISABLED(BLTOUCH)
  #define HOMING_FEEDRATE_Z  (15*60)
#elif ENABLED(EZABL_FASTPROBE) && DISABLED(BLTOUCH)
  #define HOMING_FEEDRATE_Z  (8*60)
#else
  #define HOMING_FEEDRATE_Z  (20*60)
#endif

XY probe speed looks good, didn't have to change:
#if ENABLED(PROBING_MOTORS_OFF)
    #define XY_PROBE_SPEED 8000
  #else
    #if ENABLED(SLOWER_PROBE_MOVES) || ENABLED(TH3D_EZ300) || ENABLED(TIM_AM8)
      #define XY_PROBE_SPEED 8000
    #else
      #if ENABLED(EZABL_SUPERFASTPROBE)
        #define XY_PROBE_SPEED 16000
      #else
        #define XY_PROBE_SPEED 12000
      #endif
    #endif
  #endif

I commented (deactivated) this, so it probes only one time:
 //#define MULTIPLE_PROBING 2

I changed the folowing from 15, 10, 10:
#if ENABLED(BLTOUCH)
    #define Z_CLEARANCE_DEPLOY_PROBE   10
    #define Z_CLEARANCE_BETWEEN_PROBES 5
    #define Z_CLEARANCE_MULTI_PROBE    5

Hope this helps. Work in progress.
Andy


---

### Answer by username_7 on 2020-07-01. Score: 0

I dont know if you managed to solve this but if not I was facing the same issue and managed to do it just by searching all sketches for those parameters in Arduino IDE. They are not all in configuration.h like shown in the Teaching Tech video. Most of them are in configuration\_backend.h and some in conditionals\_LCD.h I used the values suggested in TT's video and it has speeded up levelling vastly.

p.s. I am using the most recent version of the TH3D unified firmware on a Creality CR-10 mini

> **Comments:**
> **username_2**: Hi, welcome to 3DPrinting.SE! Showing which constants you would need to change would help the OP, the current state of the answer still leaves the OP in the dark...  

---

