diff --git a/conf/airframes/examples/microjet_imu_xsens.xml b/conf/airframes/examples/microjet_imu_xsens.xml
index 1ab3a1316b..92d91d3b86 100644
--- a/conf/airframes/examples/microjet_imu_xsens.xml
+++ b/conf/airframes/examples/microjet_imu_xsens.xml
@@ -21,10 +21,10 @@
-
-
-
-
+
+
+
+
diff --git a/conf/firmwares/subsystems/fixedwing/imu_xsens.makefile b/conf/firmwares/subsystems/fixedwing/imu_xsens.makefile
index 0c057ddc86..67d4ac948e 100644
--- a/conf/firmwares/subsystems/fixedwing/imu_xsens.makefile
+++ b/conf/firmwares/subsystems/fixedwing/imu_xsens.makefile
@@ -1,70 +1 @@
-# Hey Emacs, this is a -*- makefile -*-
-
-# XSens Mti just providing IMU measurements
-
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-
-
-#########################################
-## IMU
-
-ap.CFLAGS += -DUSE_IMU
-ap.CFLAGS += -DIMU_TYPE_H=\"modules/ins/imu_xsens.h\"
-ap.srcs += $(SRC_MODULES)/ins/xsens.c
-ap.srcs += $(SRC_MODULES)/ins/xsens_common.c
-ap.srcs += $(SRC_MODULES)/ins/imu_xsens.c
-ap.srcs += $(SRC_SUBSYSTEMS)/imu.c
-
-ifndef XSENS_UART_BAUD
- XSENS_UART_BAUD = B115200
-endif
-
-ap.CFLAGS += -DUSE_UART$(XSENS_UART_NR)
-ap.CFLAGS += -DXSENS_LINK=uart$(XSENS_UART_NR)
-ap.CFLAGS += -DUART$(XSENS_UART_NR)_BAUD=$(XSENS_UART_BAUD)
-ap.CFLAGS += -DXSENS_OUTPUT_MODE=0x1836
+$(error Error: The imu xsens subsystem has been converted to a module, replace by )
diff --git a/conf/modules/imu_xsens.xml b/conf/modules/imu_xsens.xml
new file mode 100644
index 0000000000..8e464f0d13
--- /dev/null
+++ b/conf/modules/imu_xsens.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+ XSens IMU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ap.CFLAGS += -DIMU_TYPE_H=\"modules/ins/imu_xsens.h\"
+
+
+
+
+
+
+
+
+ sim.CFLAGS += -DAHRS_TYPE_H=\"subsystems/ahrs/ahrs_sim.h\"
+
+
+
+
+
+
+
+ nps.CFLAGS += -DIMU_TYPE_H=\"subsystems/imu/imu_nps.h\"
+
+
+
+