diff --git a/drivers/sensor/stts751/stts751.c b/drivers/sensor/stts751/stts751.c
index ce075e2..a0282ea 100644
--- a/drivers/sensor/stts751/stts751.c
+++ b/drivers/sensor/stts751/stts751.c
@@ -175,10 +175,9 @@
 
 	data->dev = dev;
 
-	data->bus = device_get_binding(config->master_dev_name);
-	if (!data->bus) {
-		LOG_DBG("bus master not found: %s", config->master_dev_name);
-		return -EINVAL;
+	if (!device_is_ready(config->i2c.bus)) {
+		LOG_ERR("Bus device is not ready");
+		return -ENODEV;
 	}
 
 	config->bus_init(dev);
@@ -201,7 +200,7 @@
 static struct stts751_data stts751_data;
 
 static const struct stts751_config stts751_config = {
-	.master_dev_name = DT_INST_BUS_LABEL(0),
+	COND_CODE_1(DT_INST_ON_BUS(0, i2c), (.i2c = I2C_DT_SPEC_INST_GET(0),), ())
 #ifdef CONFIG_STTS751_TRIGGER
 	.event_port	= DT_INST_GPIO_LABEL(0, drdy_gpios),
 	.event_pin	= DT_INST_GPIO_PIN(0, drdy_gpios),
@@ -209,7 +208,6 @@
 #endif
 #if DT_ANY_INST_ON_BUS_STATUS_OKAY(i2c)
 	.bus_init = stts751_i2c_init,
-	.i2c_slv_addr = DT_INST_REG_ADDR(0),
 #else
 #error "BUS MACRO NOT DEFINED IN DTS"
 #endif
diff --git a/drivers/sensor/stts751/stts751.h b/drivers/sensor/stts751/stts751.h
index 8ea73be..e6a3084 100644
--- a/drivers/sensor/stts751/stts751.h
+++ b/drivers/sensor/stts751/stts751.h
@@ -20,21 +20,19 @@
 #include "stts751_reg.h"
 
 struct stts751_config {
-	char *master_dev_name;
+#if DT_ANY_INST_ON_BUS_STATUS_OKAY(i2c)
+	struct i2c_dt_spec i2c;
+#endif
 	int (*bus_init)(const struct device *dev);
 #ifdef CONFIG_STTS751_TRIGGER
 	const char *event_port;
 	uint8_t event_pin;
 	uint8_t int_flags;
 #endif
-#if DT_ANY_INST_ON_BUS_STATUS_OKAY(i2c)
-	uint16_t i2c_slv_addr;
-#endif
 };
 
 struct stts751_data {
 	const struct device *dev;
-	const struct device *bus;
 	int16_t sample_temp;
 
 	stmdev_ctx_t *ctx;
diff --git a/drivers/sensor/stts751/stts751_i2c.c b/drivers/sensor/stts751/stts751_i2c.c
index c56651b..567ba19 100644
--- a/drivers/sensor/stts751/stts751_i2c.c
+++ b/drivers/sensor/stts751/stts751_i2c.c
@@ -23,21 +23,17 @@
 static int stts751_i2c_read(const struct device *dev, uint8_t reg_addr, uint8_t *value,
 			    uint16_t len)
 {
-	struct stts751_data *data = dev->data;
 	const struct stts751_config *cfg = dev->config;
 
-	return i2c_burst_read(data->bus, cfg->i2c_slv_addr,
-			      reg_addr, value, len);
+	return i2c_burst_read_dt(&cfg->i2c, reg_addr, value, len);
 }
 
 static int stts751_i2c_write(const struct device *dev, uint8_t reg_addr, uint8_t *value,
 			     uint16_t len)
 {
-	struct stts751_data *data = dev->data;
 	const struct stts751_config *cfg = dev->config;
 
-	return i2c_burst_write(data->bus, cfg->i2c_slv_addr,
-			       reg_addr, value, len);
+	return i2c_burst_write_dt(&cfg->i2c, reg_addr, value, len);
 }
 
 int stts751_i2c_init(const struct device *dev)
