diff --git a/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp b/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp
index 634704a747c9482e979a21fcafb888f978f1aa46..9998ed1154846a68bffcae8c845d6946d3e9289e 100644
--- a/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp
+++ b/src/shared/sensors/H3LIS331DL/H3LIS331DL.cpp
@@ -31,8 +31,7 @@ H3LIS331DL::H3LIS331DL(SPIBusInterface& spiBus, miosix::GpioPin cs,
                        H3LIS331DLDefs::FullScaleRange fs)
     : spi(spiBus, cs, cfg), odr(odr), bdu(bdu), fs(fs), initialized(false)
 {
-    spi.config.byteOrder = SPI::Order::LSB_FIRST;
-    spi.config.mode      = SPI::Mode::MODE_3;
+    spi.config = getDefaultSPIConfig();
 }
 
 H3LIS331DL::H3LIS331DL(SPIBusInterface& spiBus, miosix::GpioPin cs,
@@ -43,6 +42,15 @@ H3LIS331DL::H3LIS331DL(SPIBusInterface& spiBus, miosix::GpioPin cs,
 {
 }
 
+SPIBusConfig H3LIS331DL::getDefaultSPIConfig()
+{
+    SPIBusConfig spiConfig;
+    spiConfig.clockDivider = SPI::ClockDivider::DIV_128;
+    spiConfig.mode         = SPI::Mode::MODE_3;
+    spiConfig.byteOrder    = SPI::Order::LSB_FIRST;
+    return spiConfig;
+}
+
 bool H3LIS331DL::init()
 {
     if (initialized)
diff --git a/src/shared/sensors/H3LIS331DL/H3LIS331DL.h b/src/shared/sensors/H3LIS331DL/H3LIS331DL.h
index b8d0c11b847fd08db923f5d083c84b84fc9ae966..947709cbd33f7ac6de0dd785578e0ec6fe4203ef 100644
--- a/src/shared/sensors/H3LIS331DL/H3LIS331DL.h
+++ b/src/shared/sensors/H3LIS331DL/H3LIS331DL.h
@@ -71,6 +71,8 @@ public:
                H3LIS331DLDefs::BlockDataUpdate bdu,
                H3LIS331DLDefs::FullScaleRange fs);
 
+    static SPIBusConfig getDefaultSPIConfig();
+
     /**
      * @brief Initializes the H3LIS331DL
      *