diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 950b85cb21..690a64e590 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp
index 5166df1f57..6a55b399c1 100644
--- a/Marlin/src/Marlin.cpp
+++ b/Marlin/src/Marlin.cpp
@@ -84,6 +84,10 @@
#include "feature/leds/leds.h"
#endif
+#if ENABLED(BLTOUCH)
+ #include "feature/bltouch.h"
+#endif
+
#if HAS_SERVOS
#include "module/servo.h"
#endif
@@ -1049,7 +1053,7 @@ void setup() {
#endif
#if ENABLED(BLTOUCH)
- bltouch_init();
+ bltouch.init();
#endif
#if ENABLED(I2C_POSITION_ENCODERS)
diff --git a/Marlin/src/feature/bltouch.cpp b/Marlin/src/feature/bltouch.cpp
new file mode 100644
index 0000000000..a1cc959483
--- /dev/null
+++ b/Marlin/src/feature/bltouch.cpp
@@ -0,0 +1,93 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+#include "../inc/MarlinConfig.h"
+
+#if ENABLED(BLTOUCH)
+
+#include "bltouch.h"
+
+BLTouch bltouch;
+
+#include "../module/servo.h"
+
+void stop();
+
+#define DEBUG_OUT ENABLED(DEBUG_LEVELING_FEATURE)
+#include "../core/debug_out.h"
+
+void BLTouch::command(const BLTCommand cmd) {
+ MOVE_SERVO(Z_PROBE_SERVO_NR, cmd);
+ safe_delay(BLTOUCH_DELAY);
+}
+
+void BLTouch::init() {
+ reset(); // Clear all BLTouch error conditions
+ stow();
+}
+
+bool BLTouch::triggered() {
+ return (
+ #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
+ READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING
+ #else
+ READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING
+ #endif
+ );
+}
+
+bool BLTouch::set_deployed(const bool in_deploy) {
+ if (in_deploy && triggered()) { // If BLTouch says it's triggered
+ reset(); // try to reset it.
+ _deploy(); _stow(); // Deploy and stow to clear the "triggered" condition.
+ safe_delay(1500); // Wait for internal self-test to complete.
+ // (Measured completion time was 0.65 seconds
+ // after reset, deploy, and stow sequence)
+ if (triggered()) { // If it still claims to be triggered...
+ SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH);
+ stop(); // punt!
+ return true;
+ }
+ }
+
+ #if ENABLED(BLTOUCH_V3)
+ #if ENABLED(BLTOUCH_FORCE_5V_MODE)
+ set_5V_mode(); // Assume 5V DC logic level if endstop pullup resistors are enabled
+ #else
+ set_OD_mode();
+ #endif
+ #endif
+
+ if (in_deploy) {
+ _deploy();
+ #if ENABLED(BLTOUCH_V3)
+ set_SW_mode(); // Ensure Switch mode is activated for BLTouch V3. Ignored on V2.
+ #endif
+ }
+ else _stow();
+
+ if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("bltouch.set_deployed(", in_deploy, ")");
+
+ return false;
+}
+
+#endif // BLTOUCH
diff --git a/Marlin/src/feature/bltouch.h b/Marlin/src/feature/bltouch.h
new file mode 100644
index 0000000000..c51d1b4a14
--- /dev/null
+++ b/Marlin/src/feature/bltouch.h
@@ -0,0 +1,59 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (C) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+#pragma once
+
+#include "../inc/MarlinConfigPre.h"
+
+// BLTouch commands are sent as servo angles
+typedef unsigned char BLTCommand;
+
+#define BLTOUCH_DEPLOY 10
+#define BLTOUCH_SW_MODE 60
+#define BLTOUCH_STOW 90
+#define BLTOUCH_SELFTEST 120
+#define BLTOUCH_5V_MODE 140
+#define BLTOUCH_OD_MODE 150
+#define BLTOUCH_RESET 160
+
+class BLTouch {
+public:
+ static void init();
+ static void command(const BLTCommand cmd);
+ static bool triggered();
+
+ FORCE_INLINE static void reset() { command(BLTOUCH_RESET); }
+ FORCE_INLINE static void set_5V_mode() { command(BLTOUCH_5V_MODE); }
+ FORCE_INLINE static void set_OD_mode() { command(BLTOUCH_OD_MODE); }
+ FORCE_INLINE static void set_SW_mode() { command(BLTOUCH_SW_MODE); }
+
+ FORCE_INLINE static bool deploy() { return set_deployed(true); }
+ FORCE_INLINE static bool stow() { return set_deployed(false); }
+
+private:
+ FORCE_INLINE static void _deploy() { command(BLTOUCH_DEPLOY); }
+ FORCE_INLINE static void _stow() { command(BLTOUCH_STOW); }
+ static bool set_deployed(const bool deploy);
+};
+
+#define BLTOUCH_ANGLES { BLTOUCH_DEPLOY, BLTOUCH_STOW }
+
+extern BLTouch bltouch;
diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp
index 3cb4b9f9d1..89884f87f1 100644
--- a/Marlin/src/gcode/calibrate/G28.cpp
+++ b/Marlin/src/gcode/calibrate/G28.cpp
@@ -43,6 +43,10 @@
#include "../../module/probe.h"
#endif
+#if ENABLED(BLTOUCH)
+ #include "../../feature/bltouch.h"
+#endif
+
#include "../../lcd/ultralcd.h"
#if HAS_DRIVER(L6470) // set L6470 absolute position registers to counts
@@ -235,7 +239,7 @@ void GcodeSuite::G28(const bool always_home_all) {
#endif
#if ENABLED(BLTOUCH)
- bltouch_init();
+ bltouch.init();
#endif
// Always home with tool 0 active
diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp
index ea2c5a20eb..0f7c237f17 100644
--- a/Marlin/src/gcode/calibrate/G34_M422.cpp
+++ b/Marlin/src/gcode/calibrate/G34_M422.cpp
@@ -108,8 +108,8 @@ void GcodeSuite::G34() {
#endif
#if ENABLED(BLTOUCH)
- bltouch_command(BLTOUCH_RESET);
- set_bltouch_deployed(false);
+ bltouch.reset();
+ bltouch.stow();
#endif
// Always home with tool 0 active
diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h
index 7b173cd487..8a440d1563 100644
--- a/Marlin/src/inc/Conditionals_LCD.h
+++ b/Marlin/src/inc/Conditionals_LCD.h
@@ -460,25 +460,13 @@
#ifndef BLTOUCH_DELAY
#define BLTOUCH_DELAY 375
#endif
- #undef Z_SERVO_ANGLES
- #define Z_SERVO_ANGLES { BLTOUCH_DEPLOY, BLTOUCH_STOW }
-
- #define BLTOUCH_DEPLOY 10
- #define BLTOUCH_STOW 90
- #define BLTOUCH_SELFTEST 120
- #define BLTOUCH_RESET 160
- #define _TEST_BLTOUCH(P) (READ(P##_PIN) != P##_ENDSTOP_INVERTING)
// Always disable probe pin inverting for BLTouch
#undef Z_MIN_PROBE_ENDSTOP_INVERTING
#define Z_MIN_PROBE_ENDSTOP_INVERTING false
-
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#undef Z_MIN_ENDSTOP_INVERTING
- #define Z_MIN_ENDSTOP_INVERTING Z_MIN_PROBE_ENDSTOP_INVERTING
- #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN)
- #else
- #define TEST_BLTOUCH() _TEST_BLTOUCH(Z_MIN_PROBE)
+ #define Z_MIN_ENDSTOP_INVERTING false
#endif
#endif
diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h
index f43ee5791f..3f1cdef00a 100644
--- a/Marlin/src/lcd/language/language_en.h
+++ b/Marlin/src/lcd/language/language_en.h
@@ -867,6 +867,15 @@
#ifndef MSG_BLTOUCH_DEPLOY
#define MSG_BLTOUCH_DEPLOY _UxGT("Deploy BLTouch")
#endif
+#ifndef MSG_BLTOUCH_SW_MODE
+ #define MSG_BLTOUCH_SW_MODE _UxGT("SW Deploy BLTouch")
+#endif
+#ifndef MSG_BLTOUCH_5V_MODE
+ #define MSG_BLTOUCH_5V_MODE _UxGT("BLTouch 5V Mode")
+#endif
+#ifndef MSG_BLTOUCH_OD_MODE
+ #define MSG_BLTOUCH_OD_MODE _UxGT("BLTouch OD Mode")
+#endif
#ifndef MSG_BLTOUCH_STOW
#define MSG_BLTOUCH_STOW _UxGT("Stow BLTouch")
#endif
diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h
index 307896f9dc..061a7498a0 100644
--- a/Marlin/src/lcd/menu/menu.h
+++ b/Marlin/src/lcd/menu/menu.h
@@ -296,11 +296,11 @@ class MenuItem_bool {
++_thisItemNr; \
} while(0)
-#define MENU_ITEM_ADDON_START(X) \
+#define MENU_ITEM_ADDON_START(X) do{ \
if (ui.should_draw() && _menuLineNr == _thisItemNr - 1) { \
SETCURSOR(X, _lcdLineNr)
-#define MENU_ITEM_ADDON_END() } (0)
+#define MENU_ITEM_ADDON_END() } }while(0)
#define STATIC_ITEM(LABEL, ...) STATIC_ITEM_P(PSTR(LABEL), ## __VA_ARGS__)
diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp
index 9078f50789..8bfce59ece 100644
--- a/Marlin/src/lcd/menu/menu_advanced.cpp
+++ b/Marlin/src/lcd/menu/menu_advanced.cpp
@@ -37,9 +37,11 @@
#if HAS_BED_PROBE
#include "../../module/probe.h"
- #if ENABLED(BLTOUCH)
- #include "../../module/endstops.h"
- #endif
+#endif
+
+#if ENABLED(BLTOUCH)
+ #include "../../module/endstops.h"
+ #include "../../feature/bltouch.h"
#endif
#if ENABLED(PIDTEMP)
@@ -694,7 +696,7 @@ void menu_advanced_settings() {
//
#if ENABLED(BLTOUCH)
MENU_ITEM(gcode, MSG_BLTOUCH_SELFTEST, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SELFTEST)));
- if (!endstops.z_probe_enabled && TEST_BLTOUCH())
+ if (!endstops.z_probe_enabled && bltouch.triggered())
MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
#endif
diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp
index cb8c7f751d..2f19c22a08 100644
--- a/Marlin/src/lcd/menu/menu_configuration.cpp
+++ b/Marlin/src/lcd/menu/menu_configuration.cpp
@@ -161,6 +161,11 @@ static void lcd_factory_settings() {
MENU_ITEM(gcode, MSG_BLTOUCH_SELFTEST, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SELFTEST)));
MENU_ITEM(gcode, MSG_BLTOUCH_DEPLOY, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_DEPLOY)));
MENU_ITEM(gcode, MSG_BLTOUCH_STOW, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_STOW)));
+ #if ENABLED(BLTOUCH_V3)
+ MENU_ITEM(gcode, MSG_BLTOUCH_SW_MODE, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_SW_MODE)));
+ MENU_ITEM(gcode, MSG_BLTOUCH_5V_MODE, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_5V_MODE)));
+ MENU_ITEM(gcode, MSG_BLTOUCH_OD_MODE, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_OD_MODE)));
+ #endif
END_MENU();
}
diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp
index 0239d28255..d71c97ae23 100644
--- a/Marlin/src/module/configuration_store.cpp
+++ b/Marlin/src/module/configuration_store.cpp
@@ -2578,7 +2578,7 @@ void MarlinSettings::reset() {
#endif
#elif ENABLED(SWITCHING_NOZZLE)
case SWITCHING_NOZZLE_SERVO_NR:
- #elif defined(Z_SERVO_ANGLES) && defined(Z_PROBE_SERVO_NR)
+ #elif (ENABLED(BLTOUCH) && defined(BLTOUCH_ANGLES)) || (defined(Z_SERVO_ANGLES) && defined(Z_PROBE_SERVO_NR))
case Z_PROBE_SERVO_NR:
#endif
CONFIG_ECHO_START();
diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp
index 4eb675ddbc..2e1ed63fa9 100644
--- a/Marlin/src/module/motion.cpp
+++ b/Marlin/src/module/motion.cpp
@@ -47,6 +47,10 @@
#include "../feature/bedlevel/bedlevel.h"
#endif
+#if ENABLED(BLTOUCH)
+ #include "../feature/bltouch.h"
+#endif
+
#if EITHER(ULTRA_LCD, EXTENSIBLE_UI)
#include "../lcd/ultralcd.h"
#endif
@@ -1400,7 +1404,7 @@ void homeaxis(const AxisEnum axis) {
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
// BLTOUCH needs to be deployed every time
- if (axis == Z_AXIS && set_bltouch_deployed(true)) return;
+ if (axis == Z_AXIS && bltouch.deploy()) return;
#endif
do_homing_move(axis, 1.5f * max_length(
@@ -1414,7 +1418,7 @@ void homeaxis(const AxisEnum axis) {
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
// BLTOUCH needs to be stowed after trigger to rearm itself
- if (axis == Z_AXIS) set_bltouch_deployed(false);
+ if (axis == Z_AXIS) bltouch.stow();
#endif
// When homing Z with probe respect probe clearance
@@ -1440,14 +1444,14 @@ void homeaxis(const AxisEnum axis) {
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
// BLTOUCH needs to be deployed every time
- if (axis == Z_AXIS && set_bltouch_deployed(true)) return;
+ if (axis == Z_AXIS && bltouch.deploy()) return;
#endif
do_homing_move(axis, 2 * bump, get_homing_bump_feedrate(axis));
#if HOMING_Z_WITH_PROBE && ENABLED(BLTOUCH)
// BLTOUCH needs to be stowed after trigger to rearm itself
- if (axis == Z_AXIS) set_bltouch_deployed(false);
+ if (axis == Z_AXIS) bltouch.stow();
#endif
}
diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp
index 37ee673a90..f32b5ae4d0 100644
--- a/Marlin/src/module/probe.cpp
+++ b/Marlin/src/module/probe.cpp
@@ -56,6 +56,10 @@
float zprobe_zoffset; // Initialized by settings.load()
+#if ENABLED(BLTOUCH)
+ #include "../feature/bltouch.h"
+#endif
+
#if HAS_Z_SERVO_PROBE
#include "servo.h"
#endif
@@ -289,37 +293,6 @@ float zprobe_zoffset; // Initialized by settings.load()
}
#endif // QUIET_PROBING
-#if ENABLED(BLTOUCH)
-
- void bltouch_command(const int angle) {
- MOVE_SERVO(Z_PROBE_SERVO_NR, angle); // Give the BL-Touch the command and wait
- safe_delay(BLTOUCH_DELAY);
- }
-
- bool set_bltouch_deployed(const bool deploy) {
- if (deploy && TEST_BLTOUCH()) { // If BL-Touch says it's triggered
- bltouch_command(BLTOUCH_RESET); // try to reset it.
- bltouch_command(BLTOUCH_DEPLOY); // Also needs to deploy and stow to
- bltouch_command(BLTOUCH_STOW); // clear the triggered condition.
- safe_delay(1500); // Wait for internal self-test to complete.
- // (Measured completion time was 0.65 seconds
- // after reset, deploy, and stow sequence)
- if (TEST_BLTOUCH()) { // If it still claims to be triggered...
- SERIAL_ERROR_MSG(MSG_STOP_BLTOUCH);
- stop(); // punt!
- return true;
- }
- }
-
- bltouch_command(deploy ? BLTOUCH_DEPLOY : BLTOUCH_STOW);
-
- if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("set_bltouch_deployed(", deploy, ")");
-
- return false;
- }
-
-#endif // BLTOUCH
-
/**
* Raise Z to a minimum height to make room for a probe to move
*/
@@ -530,7 +503,7 @@ static bool do_probe_move(const float z, const float fr_mm_s) {
// Deploy BLTouch at the start of any probe
#if ENABLED(BLTOUCH)
- if (set_bltouch_deployed(true)) return true;
+ if (bltouch.deploy()) return true;
#endif
// Disable stealthChop if used. Enable diag1 pin on driver.
@@ -582,7 +555,7 @@ static bool do_probe_move(const float z, const float fr_mm_s) {
// Retract BLTouch immediately after a probe if it was triggered
#if ENABLED(BLTOUCH)
- if (probe_triggered && set_bltouch_deployed(false)) return true;
+ if (probe_triggered && bltouch.stow()) return true;
#endif
// Clear endstop flags
diff --git a/Marlin/src/module/probe.h b/Marlin/src/module/probe.h
index 8167fdd65d..4bf6941719 100644
--- a/Marlin/src/module/probe.h
+++ b/Marlin/src/module/probe.h
@@ -57,13 +57,3 @@
#if QUIET_PROBING
void probing_pause(const bool p);
#endif
-
-#if ENABLED(BLTOUCH)
- void bltouch_command(int angle);
- bool set_bltouch_deployed(const bool deploy);
- FORCE_INLINE void bltouch_init() {
- // Make sure any BLTouch error condition is cleared
- bltouch_command(BLTOUCH_RESET);
- set_bltouch_deployed(false);
- }
-#endif
diff --git a/Marlin/src/module/servo.h b/Marlin/src/module/servo.h
index c3bd05b0a1..d417cc877f 100644
--- a/Marlin/src/module/servo.h
+++ b/Marlin/src/module/servo.h
@@ -44,9 +44,18 @@
#elif ENABLED(SWITCHING_NOZZLE)
#define SADATA SWITCHING_NOZZLE_SERVO_ANGLES
#define ASRC(N,E) (SWITCHING_NOZZLE_SERVO_NR == N ? asrc[E] : 0)
- #elif defined(Z_SERVO_ANGLES) && defined(Z_PROBE_SERVO_NR)
- #define SADATA Z_SERVO_ANGLES
+ #elif defined(Z_PROBE_SERVO_NR)
#define ASRC(N,E) (Z_PROBE_SERVO_NR == N ? asrc[E] : 0)
+ #if ENABLED(BLTOUCH)
+ #include "../feature/bltouch.h"
+ #endif
+ #ifdef BLTOUCH_ANGLES
+ #define SADATA BLTOUCH_ANGLES
+ #elif defined(Z_SERVO_ANGLES)
+ #define SADATA Z_SERVO_ANGLES
+ #else
+ #error "Servo angles are needed!"
+ #endif
#endif
#if ENABLED(EDITABLE_SERVO_ANGLES)
diff --git a/buildroot/share/tests/megaatmega2560-tests b/buildroot/share/tests/megaatmega2560-tests
index e892b55c77..e8bf1eef55 100755
--- a/buildroot/share/tests/megaatmega2560-tests
+++ b/buildroot/share/tests/megaatmega2560-tests
@@ -264,7 +264,6 @@ exec_test $1 $2 "Many less common options"
# Test a full-featured CR-10S config
#
use_example_configs Creality/CR-10S
-opt_enable SHOW_CUSTOM_BOOTSCREEN
exec_test $1 $2 "Full-featured CR-10S config"
#
# BQ Hephestos 2
@@ -272,10 +271,10 @@ exec_test $1 $2 "Full-featured CR-10S config"
#use_example_configs Hephestos_2
#exec_test $1 $2 "Stuff"
#
-# Delta Config (generic) + ABL bilinear + PROBE_MANUALLY
+# Delta Config (generic) + ABL bilinear + BLTOUCH
use_example_configs delta/generic
-opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR PROBE_MANUALLY
-exec_test $1 $2 "Delta Config (generic) + ABL bilinear + PROBE_MANUALLY"
+opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER DELTA_CALIBRATION_MENU AUTO_BED_LEVELING_BILINEAR BLTOUCH BLTOUCH_V3
+exec_test $1 $2 "Delta Config (generic) + ABL bilinear + BLTOUCH"
#
# Delta Config (generic) + UBL + ALLEN_KEY + OLED_PANEL_TINYBOY2 + EEPROM_SETTINGS
#
diff --git a/config/default/Configuration.h b/config/default/Configuration.h
index 950b85cb21..690a64e590 100644
--- a/config/default/Configuration.h
+++ b/config/default/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/3DFabXYZ/Migbot/Configuration.h b/config/examples/3DFabXYZ/Migbot/Configuration.h
index 6d00fac1c1..5538470e04 100644
--- a/config/examples/3DFabXYZ/Migbot/Configuration.h
+++ b/config/examples/3DFabXYZ/Migbot/Configuration.h
@@ -823,6 +823,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/AlephObjects/TAZ4/Configuration.h b/config/examples/AlephObjects/TAZ4/Configuration.h
index 7c3f9d8756..214fd09817 100644
--- a/config/examples/AlephObjects/TAZ4/Configuration.h
+++ b/config/examples/AlephObjects/TAZ4/Configuration.h
@@ -837,6 +837,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/AliExpress/CL-260/Configuration.h b/config/examples/AliExpress/CL-260/Configuration.h
index 7de1f15765..aa7e241163 100644
--- a/config/examples/AliExpress/CL-260/Configuration.h
+++ b/config/examples/AliExpress/CL-260/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/AliExpress/UM2pExt/Configuration.h b/config/examples/AliExpress/UM2pExt/Configuration.h
index 44f8abdda5..15333458e1 100644
--- a/config/examples/AliExpress/UM2pExt/Configuration.h
+++ b/config/examples/AliExpress/UM2pExt/Configuration.h
@@ -828,6 +828,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Anet/A2/Configuration.h b/config/examples/Anet/A2/Configuration.h
index 4a2dd04693..aafc72227d 100644
--- a/config/examples/Anet/A2/Configuration.h
+++ b/config/examples/Anet/A2/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Anet/A2plus/Configuration.h b/config/examples/Anet/A2plus/Configuration.h
index 04c05d15c6..9dbea7cf33 100644
--- a/config/examples/Anet/A2plus/Configuration.h
+++ b/config/examples/Anet/A2plus/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Anet/A6/Configuration.h b/config/examples/Anet/A6/Configuration.h
index 52a09783a6..55fa6b7efb 100644
--- a/config/examples/Anet/A6/Configuration.h
+++ b/config/examples/Anet/A6/Configuration.h
@@ -864,6 +864,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Anet/A8/Configuration.h b/config/examples/Anet/A8/Configuration.h
index 44fcf8f1ac..ab30e4da48 100644
--- a/config/examples/Anet/A8/Configuration.h
+++ b/config/examples/Anet/A8/Configuration.h
@@ -830,6 +830,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/AnyCubic/i3/Configuration.h b/config/examples/AnyCubic/i3/Configuration.h
index 6d8b983cee..b065f25e02 100644
--- a/config/examples/AnyCubic/i3/Configuration.h
+++ b/config/examples/AnyCubic/i3/Configuration.h
@@ -827,6 +827,13 @@
#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/ArmEd/Configuration.h b/config/examples/ArmEd/Configuration.h
index 7aa30de626..b9c401a3c5 100644
--- a/config/examples/ArmEd/Configuration.h
+++ b/config/examples/ArmEd/Configuration.h
@@ -818,6 +818,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Azteeg/X5GT/Configuration.h b/config/examples/Azteeg/X5GT/Configuration.h
index 8e51937061..0a2e702256 100644
--- a/config/examples/Azteeg/X5GT/Configuration.h
+++ b/config/examples/Azteeg/X5GT/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/BIBO/TouchX/cyclops/Configuration.h b/config/examples/BIBO/TouchX/cyclops/Configuration.h
index 80b9975cb6..b00d02fd3e 100644
--- a/config/examples/BIBO/TouchX/cyclops/Configuration.h
+++ b/config/examples/BIBO/TouchX/cyclops/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/BIBO/TouchX/default/Configuration.h b/config/examples/BIBO/TouchX/default/Configuration.h
index 744f5832d7..21b31e9ed8 100644
--- a/config/examples/BIBO/TouchX/default/Configuration.h
+++ b/config/examples/BIBO/TouchX/default/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/BQ/Hephestos/Configuration.h b/config/examples/BQ/Hephestos/Configuration.h
index 7270c7b813..350d5b3537 100644
--- a/config/examples/BQ/Hephestos/Configuration.h
+++ b/config/examples/BQ/Hephestos/Configuration.h
@@ -805,6 +805,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/BQ/Hephestos_2/Configuration.h b/config/examples/BQ/Hephestos_2/Configuration.h
index bd670d5a18..a2bc0dd3a3 100644
--- a/config/examples/BQ/Hephestos_2/Configuration.h
+++ b/config/examples/BQ/Hephestos_2/Configuration.h
@@ -818,6 +818,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/BQ/WITBOX/Configuration.h b/config/examples/BQ/WITBOX/Configuration.h
index 4c6746eeb9..db07f8396d 100644
--- a/config/examples/BQ/WITBOX/Configuration.h
+++ b/config/examples/BQ/WITBOX/Configuration.h
@@ -805,6 +805,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Cartesio/Configuration.h b/config/examples/Cartesio/Configuration.h
index 45e7bdebe5..54cd602812 100644
--- a/config/examples/Cartesio/Configuration.h
+++ b/config/examples/Cartesio/Configuration.h
@@ -816,6 +816,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/CR-10/Configuration.h b/config/examples/Creality/CR-10/Configuration.h
index 8a84b59072..0c84bd67c4 100644
--- a/config/examples/Creality/CR-10/Configuration.h
+++ b/config/examples/Creality/CR-10/Configuration.h
@@ -827,6 +827,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/CR-10S/Configuration.h b/config/examples/Creality/CR-10S/Configuration.h
index 0fafda51e9..277bc926e7 100644
--- a/config/examples/Creality/CR-10S/Configuration.h
+++ b/config/examples/Creality/CR-10S/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/CR-10_5S/Configuration.h b/config/examples/Creality/CR-10_5S/Configuration.h
index b5c01d2f31..a09c9fb181 100644
--- a/config/examples/Creality/CR-10_5S/Configuration.h
+++ b/config/examples/Creality/CR-10_5S/Configuration.h
@@ -818,6 +818,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/CR-10mini/Configuration.h b/config/examples/Creality/CR-10mini/Configuration.h
index 120e9689a4..95816cc3bb 100644
--- a/config/examples/Creality/CR-10mini/Configuration.h
+++ b/config/examples/Creality/CR-10mini/Configuration.h
@@ -836,6 +836,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/CR-8/Configuration.h b/config/examples/Creality/CR-8/Configuration.h
index 3596d0a342..ed60bdaf9f 100644
--- a/config/examples/Creality/CR-8/Configuration.h
+++ b/config/examples/Creality/CR-8/Configuration.h
@@ -827,6 +827,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/Ender-2/Configuration.h b/config/examples/Creality/Ender-2/Configuration.h
index a9ac37fcf9..649d38b530 100644
--- a/config/examples/Creality/Ender-2/Configuration.h
+++ b/config/examples/Creality/Ender-2/Configuration.h
@@ -821,6 +821,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/Ender-3/Configuration.h b/config/examples/Creality/Ender-3/Configuration.h
index 85792f570a..2dfb44514b 100644
--- a/config/examples/Creality/Ender-3/Configuration.h
+++ b/config/examples/Creality/Ender-3/Configuration.h
@@ -821,6 +821,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Creality/Ender-4/Configuration.h b/config/examples/Creality/Ender-4/Configuration.h
index 853783836b..cdad37df89 100644
--- a/config/examples/Creality/Ender-4/Configuration.h
+++ b/config/examples/Creality/Ender-4/Configuration.h
@@ -827,6 +827,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Einstart-S/Configuration.h b/config/examples/Einstart-S/Configuration.h
index d05e31c68f..0efc7d1ed3 100644
--- a/config/examples/Einstart-S/Configuration.h
+++ b/config/examples/Einstart-S/Configuration.h
@@ -828,6 +828,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Felix/Configuration.h b/config/examples/Felix/Configuration.h
index 0456360a05..10caeab726 100644
--- a/config/examples/Felix/Configuration.h
+++ b/config/examples/Felix/Configuration.h
@@ -799,6 +799,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Felix/DUAL/Configuration.h b/config/examples/Felix/DUAL/Configuration.h
index 9f21a1e5e4..8d04683ed4 100644
--- a/config/examples/Felix/DUAL/Configuration.h
+++ b/config/examples/Felix/DUAL/Configuration.h
@@ -799,6 +799,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/FlashForge/CreatorPro/Configuration.h b/config/examples/FlashForge/CreatorPro/Configuration.h
index c945cddf4a..db76df8898 100644
--- a/config/examples/FlashForge/CreatorPro/Configuration.h
+++ b/config/examples/FlashForge/CreatorPro/Configuration.h
@@ -809,6 +809,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/FolgerTech/i3-2020/Configuration.h b/config/examples/FolgerTech/i3-2020/Configuration.h
index 1d63277148..cde0f88efe 100644
--- a/config/examples/FolgerTech/i3-2020/Configuration.h
+++ b/config/examples/FolgerTech/i3-2020/Configuration.h
@@ -823,6 +823,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Formbot/Raptor/Configuration.h b/config/examples/Formbot/Raptor/Configuration.h
index fc882cc77a..e9a720e8ca 100644
--- a/config/examples/Formbot/Raptor/Configuration.h
+++ b/config/examples/Formbot/Raptor/Configuration.h
@@ -900,6 +900,13 @@
#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Formbot/T_Rex_2+/Configuration.h b/config/examples/Formbot/T_Rex_2+/Configuration.h
index 818eba7061..7baba596f2 100644
--- a/config/examples/Formbot/T_Rex_2+/Configuration.h
+++ b/config/examples/Formbot/T_Rex_2+/Configuration.h
@@ -846,6 +846,13 @@
#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
diff --git a/config/examples/Formbot/T_Rex_3/Configuration.h b/config/examples/Formbot/T_Rex_3/Configuration.h
index 183553e8fe..55ef696fb7 100644
--- a/config/examples/Formbot/T_Rex_3/Configuration.h
+++ b/config/examples/Formbot/T_Rex_3/Configuration.h
@@ -833,6 +833,13 @@
#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/A10M/Configuration.h b/config/examples/Geeetech/A10M/Configuration.h
index ffadf82dd0..68f6b195c3 100644
--- a/config/examples/Geeetech/A10M/Configuration.h
+++ b/config/examples/Geeetech/A10M/Configuration.h
@@ -800,6 +800,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/A20M/Configuration.h b/config/examples/Geeetech/A20M/Configuration.h
index a0abc95329..9fe4501f6a 100644
--- a/config/examples/Geeetech/A20M/Configuration.h
+++ b/config/examples/Geeetech/A20M/Configuration.h
@@ -800,6 +800,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/GT2560/Configuration.h b/config/examples/Geeetech/GT2560/Configuration.h
index 33e0ba2c47..e639b11b35 100644
--- a/config/examples/Geeetech/GT2560/Configuration.h
+++ b/config/examples/Geeetech/GT2560/Configuration.h
@@ -832,6 +832,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/MeCreator2/Configuration.h b/config/examples/Geeetech/MeCreator2/Configuration.h
index a92998ca0d..c6a7622920 100644
--- a/config/examples/Geeetech/MeCreator2/Configuration.h
+++ b/config/examples/Geeetech/MeCreator2/Configuration.h
@@ -824,6 +824,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
index 1930570690..714cfb164a 100644
--- a/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
+++ b/config/examples/Geeetech/Prusa i3 Pro B/bltouch/Configuration.h
@@ -833,6 +833,13 @@
#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
index 57d150f1cf..1c8ed790f2 100644
--- a/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
+++ b/config/examples/Geeetech/Prusa i3 Pro B/noprobe/Configuration.h
@@ -832,6 +832,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
index 62e73582dd..8994c16df2 100644
--- a/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
+++ b/config/examples/Geeetech/Prusa i3 Pro C/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h b/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
index d9658c1454..459de6b242 100644
--- a/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
+++ b/config/examples/Geeetech/Prusa i3 Pro W/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Infitary/i3-M508/Configuration.h b/config/examples/Infitary/i3-M508/Configuration.h
index c317798384..992f8ecd1a 100644
--- a/config/examples/Infitary/i3-M508/Configuration.h
+++ b/config/examples/Infitary/i3-M508/Configuration.h
@@ -821,6 +821,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/JGAurora/A5/Configuration.h b/config/examples/JGAurora/A5/Configuration.h
index 1b17d4a280..328f5a827c 100644
--- a/config/examples/JGAurora/A5/Configuration.h
+++ b/config/examples/JGAurora/A5/Configuration.h
@@ -829,6 +829,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/MakerParts/Configuration.h b/config/examples/MakerParts/Configuration.h
index 81346aa0e8..fa9f5213a6 100644
--- a/config/examples/MakerParts/Configuration.h
+++ b/config/examples/MakerParts/Configuration.h
@@ -837,6 +837,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Malyan/M150/Configuration.h b/config/examples/Malyan/M150/Configuration.h
index c97cd67af2..bc922c01c9 100644
--- a/config/examples/Malyan/M150/Configuration.h
+++ b/config/examples/Malyan/M150/Configuration.h
@@ -837,6 +837,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Malyan/M200/Configuration.h b/config/examples/Malyan/M200/Configuration.h
index e502dc46d8..249eef8560 100644
--- a/config/examples/Malyan/M200/Configuration.h
+++ b/config/examples/Malyan/M200/Configuration.h
@@ -816,6 +816,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Micromake/C1/basic/Configuration.h b/config/examples/Micromake/C1/basic/Configuration.h
index 6954ffa3f5..d69bd893fc 100644
--- a/config/examples/Micromake/C1/basic/Configuration.h
+++ b/config/examples/Micromake/C1/basic/Configuration.h
@@ -821,6 +821,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Micromake/C1/enhanced/Configuration.h b/config/examples/Micromake/C1/enhanced/Configuration.h
index 6bc1768576..dc43a3f7b9 100644
--- a/config/examples/Micromake/C1/enhanced/Configuration.h
+++ b/config/examples/Micromake/C1/enhanced/Configuration.h
@@ -821,6 +821,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Mks/Robin/Configuration.h b/config/examples/Mks/Robin/Configuration.h
index 1d2659279e..10cf219015 100644
--- a/config/examples/Mks/Robin/Configuration.h
+++ b/config/examples/Mks/Robin/Configuration.h
@@ -818,6 +818,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Mks/Sbase/Configuration.h b/config/examples/Mks/Sbase/Configuration.h
index 17a645c04b..26e72a5be1 100644
--- a/config/examples/Mks/Sbase/Configuration.h
+++ b/config/examples/Mks/Sbase/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Printrbot/PrintrboardG2/Configuration.h b/config/examples/Printrbot/PrintrboardG2/Configuration.h
index 307477f79c..ee9508f56d 100644
--- a/config/examples/Printrbot/PrintrboardG2/Configuration.h
+++ b/config/examples/Printrbot/PrintrboardG2/Configuration.h
@@ -825,6 +825,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/RapideLite/RL200/Configuration.h b/config/examples/RapideLite/RL200/Configuration.h
index 1f6152ebdb..672a68fbfb 100644
--- a/config/examples/RapideLite/RL200/Configuration.h
+++ b/config/examples/RapideLite/RL200/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/RepRapPro/Huxley/Configuration.h b/config/examples/RepRapPro/Huxley/Configuration.h
index 2ac0509cdb..0be5d4c5d3 100644
--- a/config/examples/RepRapPro/Huxley/Configuration.h
+++ b/config/examples/RepRapPro/Huxley/Configuration.h
@@ -857,6 +857,13 @@ Black rubber belt(MXL), 18 - tooth aluminium pulley : 87.489 step per mm (Huxley
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/RepRapWorld/Megatronics/Configuration.h b/config/examples/RepRapWorld/Megatronics/Configuration.h
index 841336af50..e6bcfb658d 100644
--- a/config/examples/RepRapWorld/Megatronics/Configuration.h
+++ b/config/examples/RepRapWorld/Megatronics/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/RigidBot/Configuration.h b/config/examples/RigidBot/Configuration.h
index f6cb9d3eaa..5efecfe46b 100644
--- a/config/examples/RigidBot/Configuration.h
+++ b/config/examples/RigidBot/Configuration.h
@@ -815,6 +815,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/SCARA/Configuration.h b/config/examples/SCARA/Configuration.h
index a7dd893df1..d1b9df7439 100644
--- a/config/examples/SCARA/Configuration.h
+++ b/config/examples/SCARA/Configuration.h
@@ -830,6 +830,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/STM32F10/Configuration.h b/config/examples/STM32F10/Configuration.h
index edd12f9148..ed8be3a3a5 100644
--- a/config/examples/STM32F10/Configuration.h
+++ b/config/examples/STM32F10/Configuration.h
@@ -819,6 +819,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/STM32F4/Configuration.h b/config/examples/STM32F4/Configuration.h
index 7b117984dc..b2b3df4dee 100644
--- a/config/examples/STM32F4/Configuration.h
+++ b/config/examples/STM32F4/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Sanguinololu/Configuration.h b/config/examples/Sanguinololu/Configuration.h
index 7b12e1b0c8..d8221a72bb 100644
--- a/config/examples/Sanguinololu/Configuration.h
+++ b/config/examples/Sanguinololu/Configuration.h
@@ -848,6 +848,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/TheBorg/Configuration.h b/config/examples/TheBorg/Configuration.h
index 91064ea4a2..18e8f8ecc1 100644
--- a/config/examples/TheBorg/Configuration.h
+++ b/config/examples/TheBorg/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/TinyBoy2/Configuration.h b/config/examples/TinyBoy2/Configuration.h
index c9a07ed649..a580f5fe93 100644
--- a/config/examples/TinyBoy2/Configuration.h
+++ b/config/examples/TinyBoy2/Configuration.h
@@ -868,6 +868,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Tronxy/X1/Configuration.h b/config/examples/Tronxy/X1/Configuration.h
index 76d92dc41b..8a008fc03e 100644
--- a/config/examples/Tronxy/X1/Configuration.h
+++ b/config/examples/Tronxy/X1/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Tronxy/X3A/Configuration.h b/config/examples/Tronxy/X3A/Configuration.h
index 8f90631de2..52fb6d7984 100644
--- a/config/examples/Tronxy/X3A/Configuration.h
+++ b/config/examples/Tronxy/X3A/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Tronxy/X5S-2E/Configuration.h b/config/examples/Tronxy/X5S-2E/Configuration.h
index cc8fe1c7e7..b12befd0fb 100644
--- a/config/examples/Tronxy/X5S-2E/Configuration.h
+++ b/config/examples/Tronxy/X5S-2E/Configuration.h
@@ -838,6 +838,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Tronxy/X5S/Configuration.h b/config/examples/Tronxy/X5S/Configuration.h
index 9ae37dce17..445eb09bce 100644
--- a/config/examples/Tronxy/X5S/Configuration.h
+++ b/config/examples/Tronxy/X5S/Configuration.h
@@ -816,6 +816,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Tronxy/XY100/Configuration.h b/config/examples/Tronxy/XY100/Configuration.h
index fd80e6739d..cf33edcc5a 100644
--- a/config/examples/Tronxy/XY100/Configuration.h
+++ b/config/examples/Tronxy/XY100/Configuration.h
@@ -828,6 +828,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/UltiMachine/Archim1/Configuration.h b/config/examples/UltiMachine/Archim1/Configuration.h
index 89bb87be87..1e750bdcda 100644
--- a/config/examples/UltiMachine/Archim1/Configuration.h
+++ b/config/examples/UltiMachine/Archim1/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/UltiMachine/Archim2/Configuration.h b/config/examples/UltiMachine/Archim2/Configuration.h
index a30f84940a..01da81b965 100644
--- a/config/examples/UltiMachine/Archim2/Configuration.h
+++ b/config/examples/UltiMachine/Archim2/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/VORONDesign/Configuration.h b/config/examples/VORONDesign/Configuration.h
index e71cc3035d..9df9d786de 100644
--- a/config/examples/VORONDesign/Configuration.h
+++ b/config/examples/VORONDesign/Configuration.h
@@ -826,6 +826,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Velleman/K8200/Configuration.h b/config/examples/Velleman/K8200/Configuration.h
index 3542c4f45a..ecd2166fdc 100644
--- a/config/examples/Velleman/K8200/Configuration.h
+++ b/config/examples/Velleman/K8200/Configuration.h
@@ -846,6 +846,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Velleman/K8400/Configuration.h b/config/examples/Velleman/K8400/Configuration.h
index 8ba594638e..e3ae7ddc4c 100644
--- a/config/examples/Velleman/K8400/Configuration.h
+++ b/config/examples/Velleman/K8400/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Velleman/K8400/Dual-head/Configuration.h b/config/examples/Velleman/K8400/Dual-head/Configuration.h
index 788d408e99..507cf49fb5 100644
--- a/config/examples/Velleman/K8400/Dual-head/Configuration.h
+++ b/config/examples/Velleman/K8400/Dual-head/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/WASP/PowerWASP/Configuration.h b/config/examples/WASP/PowerWASP/Configuration.h
index ee838ff163..0fd8fea4be 100644
--- a/config/examples/WASP/PowerWASP/Configuration.h
+++ b/config/examples/WASP/PowerWASP/Configuration.h
@@ -836,6 +836,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/Wanhao/Duplicator 6/Configuration.h b/config/examples/Wanhao/Duplicator 6/Configuration.h
index 99bebfc166..36740548ec 100644
--- a/config/examples/Wanhao/Duplicator 6/Configuration.h
+++ b/config/examples/Wanhao/Duplicator 6/Configuration.h
@@ -827,6 +827,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/adafruit/ST7565/Configuration.h b/config/examples/adafruit/ST7565/Configuration.h
index 5f4b13200c..b5659bca71 100644
--- a/config/examples/adafruit/ST7565/Configuration.h
+++ b/config/examples/adafruit/ST7565/Configuration.h
@@ -817,6 +817,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/Anycubic/Kossel/Configuration.h b/config/examples/delta/Anycubic/Kossel/Configuration.h
index 2c1fe91d3d..132b9b2ec2 100644
--- a/config/examples/delta/Anycubic/Kossel/Configuration.h
+++ b/config/examples/delta/Anycubic/Kossel/Configuration.h
@@ -953,6 +953,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/FLSUN/auto_calibrate/Configuration.h b/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
index 50f40a49ae..60b428aa1a 100644
--- a/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
+++ b/config/examples/delta/FLSUN/auto_calibrate/Configuration.h
@@ -899,6 +899,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/FLSUN/kossel/Configuration.h b/config/examples/delta/FLSUN/kossel/Configuration.h
index 2216516bfe..f0ad8e9686 100644
--- a/config/examples/delta/FLSUN/kossel/Configuration.h
+++ b/config/examples/delta/FLSUN/kossel/Configuration.h
@@ -899,6 +899,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/FLSUN/kossel_mini/Configuration.h b/config/examples/delta/FLSUN/kossel_mini/Configuration.h
index bb7288acb2..a81433be4e 100644
--- a/config/examples/delta/FLSUN/kossel_mini/Configuration.h
+++ b/config/examples/delta/FLSUN/kossel_mini/Configuration.h
@@ -899,6 +899,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/Geeetech/Rostock 301/Configuration.h b/config/examples/delta/Geeetech/Rostock 301/Configuration.h
index 48beb424a3..c0d022fc65 100644
--- a/config/examples/delta/Geeetech/Rostock 301/Configuration.h
+++ b/config/examples/delta/Geeetech/Rostock 301/Configuration.h
@@ -889,6 +889,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/Hatchbox_Alpha/Configuration.h b/config/examples/delta/Hatchbox_Alpha/Configuration.h
index 89bc6fcd12..72f229b85c 100644
--- a/config/examples/delta/Hatchbox_Alpha/Configuration.h
+++ b/config/examples/delta/Hatchbox_Alpha/Configuration.h
@@ -904,6 +904,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/MKS/SBASE/Configuration.h b/config/examples/delta/MKS/SBASE/Configuration.h
index 11f0cd89d6..04f4188cfe 100644
--- a/config/examples/delta/MKS/SBASE/Configuration.h
+++ b/config/examples/delta/MKS/SBASE/Configuration.h
@@ -889,6 +889,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/generic/Configuration.h b/config/examples/delta/generic/Configuration.h
index e6847d5776..e92df5925b 100644
--- a/config/examples/delta/generic/Configuration.h
+++ b/config/examples/delta/generic/Configuration.h
@@ -889,6 +889,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/kossel_mini/Configuration.h b/config/examples/delta/kossel_mini/Configuration.h
index 0237ca01cc..344ca37773 100644
--- a/config/examples/delta/kossel_mini/Configuration.h
+++ b/config/examples/delta/kossel_mini/Configuration.h
@@ -889,6 +889,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/kossel_pro/Configuration.h b/config/examples/delta/kossel_pro/Configuration.h
index 5db974b946..be880cebbb 100644
--- a/config/examples/delta/kossel_pro/Configuration.h
+++ b/config/examples/delta/kossel_pro/Configuration.h
@@ -882,6 +882,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/delta/kossel_xl/Configuration.h b/config/examples/delta/kossel_xl/Configuration.h
index b72a088bb2..60a7fb32b5 100644
--- a/config/examples/delta/kossel_xl/Configuration.h
+++ b/config/examples/delta/kossel_xl/Configuration.h
@@ -892,6 +892,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/makibox/Configuration.h b/config/examples/makibox/Configuration.h
index a5660234b7..972270351e 100644
--- a/config/examples/makibox/Configuration.h
+++ b/config/examples/makibox/Configuration.h
@@ -820,6 +820,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/stm32f103ret6/Configuration.h b/config/examples/stm32f103ret6/Configuration.h
index bbed869659..398891d9e1 100644
--- a/config/examples/stm32f103ret6/Configuration.h
+++ b/config/examples/stm32f103ret6/Configuration.h
@@ -819,6 +819,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/tvrrug/Round2/Configuration.h b/config/examples/tvrrug/Round2/Configuration.h
index a7d942ce63..b190924fa6 100644
--- a/config/examples/tvrrug/Round2/Configuration.h
+++ b/config/examples/tvrrug/Round2/Configuration.h
@@ -812,6 +812,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)
diff --git a/config/examples/wt150/Configuration.h b/config/examples/wt150/Configuration.h
index 1045671d1c..249d19e24a 100644
--- a/config/examples/wt150/Configuration.h
+++ b/config/examples/wt150/Configuration.h
@@ -822,6 +822,13 @@
//#define BLTOUCH
#if ENABLED(BLTOUCH)
//#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
+
+ // BLTouch V3.0 and newer smart series
+ //#define BLTOUCH_V3
+ #if ENABLED(BLTOUCH_V3)
+ //#define BLTOUCH_FORCE_5V_MODE
+ //#define BLTOUCH_FORCE_OPEN_DRAIN_MODE
+ #endif
#endif
// A probe that is deployed and stowed with a solenoid pin (SOL1_PIN)