diff --git a/boards/iotlab-m3/Makefile.dep b/boards/iotlab-m3/Makefile.dep
index a72a7aafb883a09608100d868db6e1784052bb6b..76e00fddaec989beb9f76acd91a15192b24d362e 100644
--- a/boards/iotlab-m3/Makefile.dep
+++ b/boards/iotlab-m3/Makefile.dep
@@ -2,3 +2,11 @@ ifneq (,$(filter gnrc_netif_default,$(USEMODULE)))
   USEMODULE += at86rf231
   USEMODULE += gnrc_nomac
 endif
+
+ifneq (,$(filter saul_default,$(USEMODULE)))
+  USEMODULE += saul_gpio
+  USEMODULE += isl29020
+  USEMODULE += lps331ap
+  USEMODULE += l3g4200d
+  USEMODULE += lsm303dlhc
+endif
diff --git a/boards/iotlab-m3/include/gpio_params.h b/boards/iotlab-m3/include/gpio_params.h
new file mode 100644
index 0000000000000000000000000000000000000000..bc970675b321699cd6956171e2e9571ed9052ca8
--- /dev/null
+++ b/boards/iotlab-m3/include/gpio_params.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup   boards_iotlab-m3
+ * @{
+ *
+ * @file
+ * @brief     Board specific configuration of direct mapped GPIOs
+ *
+ * @author    Hauke Petersen <hauke.petersen@fu-berlin.de>
+ */
+
+#ifndef GPIO_PARAMS_H
+#define GPIO_PARAMS_H
+
+#include "board.h"
+#include "saul/periph.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief    LED configuration
+ */
+static const  saul_gpio_params_t saul_gpio_params[] =
+{
+    {
+        .name = "LED(red)",
+        .pin = LED_RED_GPIO,
+        .dir = GPIO_DIR_OUT,
+    },
+    {
+        .name = "LED(green)",
+        .pin = LED_GREEN_GPIO,
+        .dir = GPIO_DIR_OUT,
+    },
+    {
+        .name = "LED(orange)",
+        .pin = LED_ORANGE_GPIO,
+        .dir = GPIO_DIR_OUT,
+    },
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GPIO_PARAMS_H */
+/** @} */
diff --git a/boards/iotlab-m3/include/isl29020_params.h b/boards/iotlab-m3/include/isl29020_params.h
new file mode 100644
index 0000000000000000000000000000000000000000..66c3a2ca387e972580b4074bf2c5e37ade16155e
--- /dev/null
+++ b/boards/iotlab-m3/include/isl29020_params.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup   boards_iotlab-m3
+ * @{
+ *
+ * @file
+ * @brief     ISL29020 board specific configuration
+ *
+ * @author    Hauke Petersen <hauke.petersen@fu-berlin.de>
+ */
+
+#ifndef ISL29020_PARAMS_H
+#define ISL29020_PARAMS_H
+
+#include "board.h"
+#include "saul_reg.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief    ISL29020 parameter configuration
+ */
+static const  isl29020_params_t isl29020_params[] =
+{
+    {
+        .i2c = ISL29020_I2C,
+        .addr = ISL29020_ADDR,
+        .range = ISL29020_RANGE_16K,
+        .mode = ISL29020_MODE_AMBIENT,
+    },
+};
+
+/**
+ * @brief   Additional meta information to keep in the SAUL registry
+ */
+static const saul_reg_info_t isl29020_saul_info[] =
+{
+    {
+        .name = "isl29020",
+    },
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ISL29020_PARAMS_H */
+/** @} */
diff --git a/boards/iotlab-m3/include/l3g4200d_params.h b/boards/iotlab-m3/include/l3g4200d_params.h
new file mode 100644
index 0000000000000000000000000000000000000000..889e7708508d9fee809c13fd05029f912a505871
--- /dev/null
+++ b/boards/iotlab-m3/include/l3g4200d_params.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup   boards_iotlab-m3
+ * @{
+ *
+ * @file
+ * @brief     L3G4200D board specific configuration
+ *
+ * @author    Hauke Petersen <hauke.petersen@fu-berlin.de>
+ */
+
+#ifndef L3G4200D_PARAMS_H
+#define L3G4200D_PARAMS_H
+
+#include "board.h"
+#include "saul_reg.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief    L3G4200D configuration
+ */
+static const  l3g4200d_params_t l3g4200d_params[] =
+{
+    {
+        .i2c = L3G4200D_I2C,
+        .addr = L3G4200D_ADDR,
+        .int1_pin = L3G4200D_INT,
+        .int2_pin = L3G4200D_DRDY,
+        .mode = L3G4200D_MODE_200_25,
+        .scale = L3G4200D_SCALE_500DPS,
+    },
+};
+
+/**
+ * @brief   Additional meta information to keep in the SAUL registry
+ */
+static const saul_reg_info_t l3g4200d_saul_info[] =
+{
+    {
+        .name = "l3g4200d",
+    },
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* L3G4200D_PARAMS_H */
+/** @} */
diff --git a/boards/iotlab-m3/include/lps331ap_params.h b/boards/iotlab-m3/include/lps331ap_params.h
new file mode 100644
index 0000000000000000000000000000000000000000..3a8c9e5710dba1e06df6f1848331772571b07e35
--- /dev/null
+++ b/boards/iotlab-m3/include/lps331ap_params.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup   boards_iotlab-m3
+ * @{
+ *
+ * @file
+ * @brief     LPS331AP board specific configuration
+ *
+ * @author    Hauke Petersen <hauke.petersen@fu-berlin.de>
+ */
+
+#ifndef LPS331AP_PARAMS_H
+#define LPS331AP_PARAMS_H
+
+#include "board.h"
+#include "saul_reg.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief    LPS331AP configuration
+ */
+static const  lps331ap_params_t lps331ap_params[] =
+{
+    {
+        .i2c = LPS331AP_I2C,
+        .addr = LPS331AP_ADDR,
+        .rate = LPS331AP_RATE_7HZ,
+    },
+};
+
+/**
+ * @brief   Additional meta information to keep in the SAUL registry
+ */
+static const saul_reg_info_t lps331ap_saul_info[] =
+{
+    {
+        .name = "lps331ap",
+    },
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* LPS331AP_PARAMS_H */
+/** @} */
diff --git a/boards/iotlab-m3/include/lsm303dlhc_params.h b/boards/iotlab-m3/include/lsm303dlhc_params.h
new file mode 100644
index 0000000000000000000000000000000000000000..2d1dc6cdf691cf3cfca11dbcc7e0c7d1b1ccc6b7
--- /dev/null
+++ b/boards/iotlab-m3/include/lsm303dlhc_params.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2015 Freie Universität Berlin
+ *
+ * This file is subject to the terms and conditions of the GNU Lesser
+ * General Public License v2.1. See the file LICENSE in the top level
+ * directory for more details.
+ */
+
+/**
+ * @ingroup   boards_iotlab-m3
+ * @{
+ *
+ * @file
+ * @brief     LSM303DLHC board specific configuration
+ *
+ * @author    Hauke Petersen <hauke.petersen@fu-berlin.de>
+ */
+
+#ifndef LSM303DLHC_PARAMS_H
+#define LSM303DLHC_PARAMS_H
+
+#include "board.h"
+#include "saul_reg.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @brief    LSM303DLHC configuration
+ */
+static const  lsm303dlhc_params_t lsm303dlhc_params[] =
+{
+    {
+        .i2c = LSM303DLHC_I2C,
+        .acc_addr = LSM303DLHC_ACC_ADDR,
+        .acc_pin = LSM303DLHC_INT1,
+        .acc_rate = LSM303DLHC_ACC_SAMPLE_RATE_10HZ,
+        .acc_scale = LSM303DLHC_ACC_SCALE_4G,
+        .mag_addr = LSM303DLHC_MAG_ADDR,
+        .mag_pin = LSM303DLHC_DRDY,
+        .mag_rate = LSM303DLHC_MAG_SAMPLE_RATE_15HZ,
+        .mag_gain = LSM303DLHC_MAG_GAIN_450_400_GAUSS,
+    },
+};
+
+/**
+ * @brief   Additional meta information to keep in the SAUL registry
+ */
+static const saul_reg_info_t lsm303dlhc_saul_info[] =
+{
+    {
+        .name = "lsm303dlhc",
+    },
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* LSM303DLHC_PARAMS_H */
+/** @} */