diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile
index dd92ba3874..647b0d7c4d 100644
--- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile
+++ b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.0.makefile
@@ -12,7 +12,7 @@
#
#
#
-#
+#
#
#
#
@@ -22,26 +22,26 @@
#
#
#
-#
+#
#
#
#
#
#
-#
+#
#
#
#
#
# imu Booz2 v1
-ap.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_b2.h\"
+ap.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/imu_b2.h\"
ap.CFLAGS += -DIMU_B2_VERSION_1_0
ap.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601
ap.CFLAGS += -DSSP_VIC_SLOT=9
-ap.srcs += $(SRC_BOOZ)/booz_imu.c \
- $(SRC_BOOZ)/imu/booz_imu_b2.c \
- $(SRC_BOOZ_ARCH)/imu/booz_imu_b2_arch.c
+ap.srcs += $(SRC_FIRMWARE)/imu.c \
+ $(SRC_FIRMWARE)/imu/imu_b2.c \
+ $(SRC_FIRMWARE)/imu/arch/$(ARCH)/imu_b2_arch.c
ap.CFLAGS += -DMAX1168_EOC_VIC_SLOT=8
ap.srcs += $(SRC_BOOZ)/peripherals/booz_max1168.c \
@@ -56,17 +56,16 @@ ap.CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=11
# Simulator
#
-sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_b2.h\"
+sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/imu_b2.h\"
sim.CFLAGS += -DIMU_B2_VERSION_1_0
sim.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601
-sim.srcs += $(SRC_BOOZ)/booz_imu.c \
- $(SRC_BOOZ)/imu/booz_imu_b2.c \
- $(SRC_BOOZ_SIM)/imu/booz_imu_b2_arch.c
-
+sim.srcs += $(SRC_FIRMWARE)/imu.c \
+ $(SRC_FIRMWARE)/imu/imu_b2.c \
+ $(SRC_FIRMWARE)/imu/imu_b2_arch.c
sim.srcs += $(SRC_BOOZ)/peripherals/booz_max1168.c \
$(SRC_BOOZ_SIM)/peripherals/booz_max1168_arch.c
sim.CFLAGS += -DUSE_AMI601
sim.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
-sim.CFLAGS += -DUSE_I2C1
\ No newline at end of file
+sim.CFLAGS += -DUSE_I2C1
diff --git a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile
index 4ffea67bc4..f2bcd4367c 100644
--- a/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile
+++ b/conf/autopilot/subsystems/rotorcraft/imu_b2_v1.1.makefile
@@ -40,18 +40,18 @@
# imu Booz2 v1.1
-imu_CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_b2.h\"
+imu_CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/imu_b2.h\"
imu_CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_MS2001
imu_CFLAGS += -DIMU_B2_VERSION_1_1
-imu_srcs += $(SRC_BOOZ)/booz_imu.c \
- $(SRC_BOOZ)/imu/booz_imu_b2.c \
- $(SRC_BOOZ_ARCH)/imu/booz_imu_b2_arch.c
+ap.srcs += $(SRC_FIRMWARE)/imu.c \
+ $(SRC_FIRMWARE)/imu/imu_b2.c \
+ $(SRC_FIRMWARE)/imu/arch/$(ARCH)/imu_b2_arch.c
imu_srcs += $(SRC_BOOZ)/peripherals/booz_max1168.c \
- $(SRC_BOOZ_ARCH)/peripherals/booz_max1168_arch.c
+ $(SRC_BOOZ_ARCH)/peripherals/booz_max1168_arch.c
imu_srcs += $(SRC_BOOZ)/peripherals/booz_ms2001.c \
- $(SRC_BOOZ_ARCH)/peripherals/booz_ms2001_arch.c
+ $(SRC_BOOZ_ARCH)/peripherals/booz_ms2001_arch.c
ifeq ($(ARCH), lpc21)
imu_CFLAGS += -DSSP_VIC_SLOT=9
@@ -72,17 +72,16 @@ ap.srcs += $(imu_srcs)
# Simulator
#
-sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_b2.h\"
+sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/imu_b2.h\"
sim.CFLAGS += -DIMU_B2_VERSION_1_1
sim.CFLAGS += -DIMU_B2_MAG_TYPE=IMU_B2_MAG_AMI601
-sim.srcs += $(SRC_BOOZ)/booz_imu.c \
- $(SRC_BOOZ)/imu/booz_imu_b2.c \
- $(SRC_BOOZ_SIM)/imu/booz_imu_b2_arch.c
-
+sim.srcs += $(SRC_FIRMWARE)/imu.c \
+ $(SRC_FIRMWARE)/imu/imu_b2.c \
+ $(SRC_FIRMWARE)/imu/imu_b2_arch.c
sim.srcs += $(SRC_BOOZ)/peripherals/booz_max1168.c \
- $(SRC_BOOZ_SIM)/peripherals/booz_max1168_arch.c
+ $(SRC_BOOZ_SIM)/peripherals/booz_max1168_arch.c
sim.CFLAGS += -DUSE_AMI601
-sim.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
+sim.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
sim.CFLAGS += -DUSE_I2C1
diff --git a/conf/autopilot/subsystems/rotorcraft/imu_crista.makefile b/conf/autopilot/subsystems/rotorcraft/imu_crista.makefile
index 575fe22e9f..944ad3794c 100644
--- a/conf/autopilot/subsystems/rotorcraft/imu_crista.makefile
+++ b/conf/autopilot/subsystems/rotorcraft/imu_crista.makefile
@@ -20,10 +20,10 @@
#
#
#
-#
+#
#
#
-#
+#
#
#
#
@@ -46,13 +46,13 @@
#
#
#
-#
+#
#
#
#
#
#
-#
+#
#
#
#
@@ -60,21 +60,22 @@
-ap.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_crista.h\"
-ap.srcs += $(SRC_BOOZ)/booz_imu.c \
- $(SRC_BOOZ)/imu/booz_imu_crista.c \
- $(SRC_BOOZ_ARCH)/imu/booz_imu_crista_arch.c
+ap.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/imu_crista.h\"
+ap.srcs += $(SRC_FIRMWARE)/imu.c \
+ $(SRC_FIRMWARE)/imu/imu_crista.c \
+ $(SRC_FIRMWARE)/imu/arch/$(ARCH)/imu_crista_arch.c
ap.CFLAGS += -DUSE_AMI601
-ap.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
+ap.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
ap.CFLAGS += -DUSE_I2C1 -DI2C1_SCLL=150 -DI2C1_SCLH=150 -DI2C1_VIC_SLOT=11 -DI2C1_BUF_LEN=16
-sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_crista.h\"
-sim.srcs += $(SRC_BOOZ)/booz_imu.c \
- $(SRC_BOOZ)/imu/booz_imu_crista.c \
- $(SRC_BOOZ_SIM)/imu/booz_imu_crista_arch.c
+sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/imu_crista.h\"
+sim.srcs += $(SRC_FIRMWARE)/imu.c \
+ $(SRC_FIRMWARE)/imu/imu_christa.c \
+ $(SRC_FIRMWARE)/imu/imu_christa_arch.c
+
sim.CFLAGS += -DUSE_AMI601
-sim.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
-sim.CFLAGS += -DUSE_I2C1
\ No newline at end of file
+sim.srcs += $(SRC_BOOZ)/peripherals/booz_ami601.c
+sim.CFLAGS += -DUSE_I2C1