diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c
index 8dc8c61b453d6e73064f32e4cab5267452a93008..dd83c7a971934442d814f072813f98c221aec11d 100644
--- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c
+++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.c
@@ -36,7 +36,6 @@
 #endif
 
 #include "digipot_mcp4451_I2C_routines.h"
-#include "i2c_util.h"
 
 // These two routines are exact copies of the lpc17xx_i2c.c routines.  Couldn't link to
 // to the lpc17xx_i2c.c routines so had to copy them into this file & rename them.
diff --git a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h
index 6d6fafa8bb785960659c67cca07f6f8c8e6c1b65..db6715e2b67e476bd66bbfc8e81abca28bc45f5e 100644
--- a/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h
+++ b/Marlin/src/HAL/HAL_LPC1768/include/digipot_mcp4451_I2C_routines.h
@@ -33,6 +33,7 @@
 #include <lpc17xx_i2c.h>
 #include <lpc17xx_pinsel.h>
 #include <lpc17xx_libcfg_default.h>
+#include "i2c_util.h"
 
 uint8_t digipot_mcp4451_start(uint8_t sla);
 uint8_t digipot_mcp4451_send_byte(uint8_t data);
diff --git a/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h b/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h
index 671a1e3746f37fbe2bf57291e8b452a541ee7789..1ca3fc1844528aa12143e862053a6e1699f1749a 100644
--- a/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h
+++ b/Marlin/src/HAL/HAL_LPC1768/include/i2c_util.h
@@ -45,4 +45,12 @@
 #include <lpc17xx_pinsel.h>
 #include <lpc17xx_libcfg_default.h>
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
 void configure_i2c(const uint8_t clock_option);
+
+#ifdef __cplusplus
+  }
+#endif
diff --git a/Marlin/src/feature/digipot/digipot_mcp4451.cpp b/Marlin/src/feature/digipot/digipot_mcp4451.cpp
index 13022abad1d0d6e545ef34e31906254a271ba915..48b4d154be2a03ead247ca95d0bc44b68ec356d3 100644
--- a/Marlin/src/feature/digipot/digipot_mcp4451.cpp
+++ b/Marlin/src/feature/digipot/digipot_mcp4451.cpp
@@ -77,7 +77,7 @@ void digipot_i2c_set_current(const uint8_t channel, const float current) {
 
 void digipot_i2c_init() {
   #if MB(MKS_SBASE)
-    configure_i2c();
+    configure_i2c(16); // Setting clock_option to 16 ensure the I2C bus is initialized at 400kHz
   #else
     Wire.begin();
   #endif