diff --git a/conf/airframes/Poine/booz2_a1.xml b/conf/airframes/Poine/booz2_a1.xml
index 37bc5c5dcd..fbf978de7a 100644
--- a/conf/airframes/Poine/booz2_a1.xml
+++ b/conf/airframes/Poine/booz2_a1.xml
@@ -220,6 +220,10 @@ ap.CFLAGS += -DUSE_ADAPT_HOVER
+
+
+
+
@@ -227,18 +231,17 @@ ap.CFLAGS += -DUSE_ADAPT_HOVER
#
#include $(PAPARAZZI_SRC)/conf/autopilot/booz2_common.makefile
#include $(CFG_BOOZ)/booz2_autopilot.makefile
-include $(CFG_BOOZ)/booz2_test_progs.makefile
+#include $(CFG_BOOZ)/subsystems/booz2_radio_control_ppm.makefile
+#include $(CFG_BOOZ)/subsystems/booz2_actuators_mkk.makefile
+#include $(CFG_BOOZ)/subsystems/booz2_imu_b2v1.makefile
+#include $(CFG_BOOZ)/subsystems/booz_gps_ublox.makefile
+#include $(CFG_BOOZ)/subsystems/booz2_ahrs_cmpl.makefile
+# FIXME: make fms a module
+include $(CFG_BOOZ)/subsystems/booz2_fms_test_signal.makefile
+include $(CFG_BOOZ)/booz2_test_progs.makefile
include $(CFG_BOOZ)/booz2_simulator_nps.makefile
-#include $(CFG_BOOZ)/subsystems/booz2_radio_control_ppm.makefile
-include $(CFG_BOOZ)/subsystems/booz2_actuators_mkk.makefile
-include $(CFG_BOOZ)/subsystems/booz2_imu_b2v1.makefile
-include $(CFG_BOOZ)/subsystems/booz_gps_ublox.makefile
-
-include $(CFG_BOOZ)/subsystems/booz2_ahrs_cmpl.makefile
-
-include $(CFG_BOOZ)/subsystems/booz2_fms_test_signal.makefile
diff --git a/conf/autopilot/subsystems/baloo/actuators_mkk.makefile b/conf/autopilot/subsystems/baloo/actuators_mkk.makefile
new file mode 100644
index 0000000000..76b9660104
--- /dev/null
+++ b/conf/autopilot/subsystems/baloo/actuators_mkk.makefile
@@ -0,0 +1,48 @@
+#
+# Booz Mikrokopter Actuators
+#
+#
+# required xml:
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+
+
+#
+ap.srcs += $(SRC_BOOZ)/actuators/booz_supervision.c
+ap.srcs += $(SRC_BOOZ)/actuators/booz_actuators_mkk.c
+ap.srcs += $(SRC_BOOZ_ARCH)/actuators/booz_actuators_mkk_arch.c
+ap.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
+
+ifeq ($(ARCHI), arm7)
+ap.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
+ap.CFLAGS += -DI2C0_STOP_HANDLER=ActuatorsMkkI2cHandler
+ap.CFLAGS += -DI2C0_STOP_HANDLER_HEADER=\"actuators/booz_actuators_mkk.h\"
+else ifeq ($(ARCHI), stm32)
+ap.CFLAGS += -DACTUATORS_MKK_DEVICE=i2c1 -DUSE_TIM2_IRQ
+ap.CFLAGS += -DUSE_I2C1
+endif
+
+# Simulator
+sim.srcs += $(SRC_BOOZ)/actuators/booz_supervision.c
+sim.srcs += $(SRC_BOOZ)/actuators/booz_actuators_mkk.c
+sim.srcs += $(SRC_BOOZ_SIM)/actuators/booz_actuators_mkk_arch.c
+sim.CFLAGS += -DUSE_I2C0 -DI2C0_SCLL=150 -DI2C0_SCLH=150 -DI2C0_VIC_SLOT=10
+sim.srcs += i2c.c $(SRC_ARCH)/i2c_hw.c
diff --git a/conf/autopilot/subsystems/baloo/ahrs_cmpl.makefile b/conf/autopilot/subsystems/baloo/ahrs_cmpl.makefile
new file mode 100644
index 0000000000..3a59457b35
--- /dev/null
+++ b/conf/autopilot/subsystems/baloo/ahrs_cmpl.makefile
@@ -0,0 +1,13 @@
+#
+# Complementary filter for attitude estimation
+#
+
+ap.CFLAGS += -DUSE_AHRS_CMPL -DAHRS_ALIGNER_LED=3 -DBOOZ_AHRS_FIXED_POINT
+ap.srcs += $(SRC_BOOZ)/booz_ahrs.c
+ap.srcs += $(SRC_BOOZ)/ahrs/booz_ahrs_aligner.c
+ap.srcs += $(SRC_BOOZ)/ahrs/booz_ahrs_cmpl_euler.c
+
+sim.CFLAGS += -DUSE_AHRS_CMPL -DAHRS_ALIGNER_LED=3 -DBOOZ_AHRS_FIXED_POINT
+sim.srcs += $(SRC_BOOZ)/booz_ahrs.c
+sim.srcs += $(SRC_BOOZ)/ahrs/booz_ahrs_aligner.c
+sim.srcs += $(SRC_BOOZ)/ahrs/booz_ahrs_cmpl_euler.c
diff --git a/conf/autopilot/subsystems/baloo/gps_ublox.makefile b/conf/autopilot/subsystems/baloo/gps_ublox.makefile
new file mode 100644
index 0000000000..e3253a966d
--- /dev/null
+++ b/conf/autopilot/subsystems/baloo/gps_ublox.makefile
@@ -0,0 +1,13 @@
+
+ap.srcs += $(SRC_BOOZ)/booz_gps.c
+ap.CFLAGS += -DBOOZ_GPS_TYPE_H=\"gps/booz_gps_ubx.h\"
+ap.srcs += $(SRC_BOOZ)/gps/booz_gps_ubx.c
+ifeq ($(ARCHI), arm7)
+ap.CFLAGS += -DUSE_UART0 -DUART0_BAUD=B38400 -DUART0_VIC_SLOT=5
+ap.CFLAGS += -DUSE_GPS -DGPS_LINK=Uart0 -DGPS_LED=4
+else ifeq ($(ARCHI), stm32)
+ap.CFLAGS += -DUSE_UART1 -DUART1_BAUD=B38400
+ap.CFLAGS += -DUSE_GPS -DGPS_LINK=Uart1 -DGPS_LED=3
+endif
+sim.CFLAGS += -DUSE_GPS
+sim.srcs += $(SRC_BOOZ)/booz_gps.c
diff --git a/conf/autopilot/subsystems/baloo/imu_b2v1.makefile b/conf/autopilot/subsystems/baloo/imu_b2v1.makefile
new file mode 100644
index 0000000000..015d04962f
--- /dev/null
+++ b/conf/autopilot/subsystems/baloo/imu_b2v1.makefile
@@ -0,0 +1,82 @@
+#
+# Booz2 IMU booz2v1
+#
+#
+# required xml:
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+#
+
+# imu Booz2 v1
+ap.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_b2.h\"
+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.CFLAGS += -DMAX1168_EOC_VIC_SLOT=8
+ap.srcs += $(SRC_BOOZ)/peripherals/booz_max1168.c \
+ $(SRC_BOOZ_ARCH)/peripherals/booz_max1168_arch.c
+
+ap.CFLAGS += -DUSE_AMI601
+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
+
+
+#
+# Simulator
+#
+
+sim.CFLAGS += -DBOOZ_IMU_TYPE_H=\"imu/booz_imu_b2.h\"
+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_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
diff --git a/conf/autopilot/subsystems/baloo/radio_control_ppm.makefile b/conf/autopilot/subsystems/baloo/radio_control_ppm.makefile
new file mode 100644
index 0000000000..b72fd4c78f
--- /dev/null
+++ b/conf/autopilot/subsystems/baloo/radio_control_ppm.makefile
@@ -0,0 +1,19 @@
+#
+# Autopilot
+#
+ap.CFLAGS += -DUSE_RADIO_CONTROL -DRADIO_CONTROL_LED=1
+ap.CFLAGS += -DRADIO_CONTROL_TYPE_H=\"radio_control/booz_radio_control_ppm.h\"
+ap.CFLAGS += -DRADIO_CONTROL_TYPE_PPM
+ap.srcs += $(SRC_BOOZ)/booz_radio_control.c \
+ $(SRC_BOOZ)/radio_control/booz_radio_control_ppm.c \
+ $(SRC_BOOZ_ARCH)/radio_control/booz_radio_control_ppm_arch.c
+
+#
+# Simulator
+#
+sim.CFLAGS += -DUSE_RADIO_CONTROL -DRADIO_CONTROL_LED=1
+sim.CFLAGS += -DRADIO_CONTROL_TYPE_H=\"radio_control/booz_radio_control_ppm.h\"
+sim.CFLAGS += -DRADIO_CONTROL_TYPE_PPM
+sim.srcs += $(SRC_BOOZ)/booz_radio_control.c \
+ $(SRC_BOOZ)/radio_control/booz_radio_control_ppm.c \
+ $(SRC_BOOZ_SIM)/radio_control/booz_radio_control_ppm_arch.c