diff --git a/Marlin/pins_RIGIDBOARD_V2.h b/Marlin/pins_RIGIDBOARD_V2.h
index 3fb575142b61d26e0eded9482ffd0b26c7e1061e..3085577f11b46980f751ea1f54aab2adef06c4a0 100644
--- a/Marlin/pins_RIGIDBOARD_V2.h
+++ b/Marlin/pins_RIGIDBOARD_V2.h
@@ -44,3 +44,4 @@
#define DAC_STEPPER_GAIN 1 // value of 1 here sets gain of 2
#define DAC_DISABLE_PIN 42 // set low to enable DAC
#define DAC_OR_ADDRESS 0x01
+#define DAC_STEPPER_DFLT { 70, 80, 90, 80 } // Default values for drive strength percent
diff --git a/Marlin/stepper_dac.cpp b/Marlin/stepper_dac.cpp
index 4ce2abc614cc4481d21816e2b37caa65ba1f496a..798768ebfadb6f55fee8d228fa3e92fa4a241bd9 100644
--- a/Marlin/stepper_dac.cpp
+++ b/Marlin/stepper_dac.cpp
@@ -49,7 +49,7 @@
bool dac_present = false;
const uint8_t dac_order[NUM_AXIS] = DAC_STEPPER_ORDER;
- uint16_t dac_channel_pct[XYZE];
+ uint16_t dac_channel_pct[XYZE] = DAC_STEPPER_DFLT;
int dac_init() {
#if PIN_EXISTS(DAC_DISABLE)
@@ -64,6 +64,11 @@
mcp4728_setVref_all(DAC_STEPPER_VREF);
mcp4728_setGain_all(DAC_STEPPER_GAIN);
+
+ if (mcp4728_getDrvPct(0) < 1 || mcp4728_getDrvPct(1) < 1 || mcp4728_getDrvPct(2) < 1 || mcp4728_getDrvPct(3) < 1 ) {
+ mcp4728_setDrvPct(dac_channel_pct);
+ mcp4728_eepromWrite();
+ }
return 0;
}