diff --git a/src/boards/Parafoil/Sensors/Sensors.cpp b/src/boards/Parafoil/Sensors/Sensors.cpp
index 2426c74fe1edf5cb39ff5e67b6641ffd7c1b0aa7..bc7286ac7c161c71a30ac74837d3b33255e3478d 100644
--- a/src/boards/Parafoil/Sensors/Sensors.cpp
+++ b/src/boards/Parafoil/Sensors/Sensors.cpp
@@ -25,6 +25,7 @@
 #include <Parafoil/Buses.h>
 #include <Parafoil/Configs/SensorsConfig.h>
 #include <common/ReferenceConfig.h>
+#include <drivers/interrupt/external_interrupts.h>
 #include <interfaces-impl/hwmapping.h>
 
 using namespace Boardcore;
@@ -113,23 +114,25 @@ BatteryVoltageSensorData Sensors::getBatteryVoltageLastSample()
 //     return data;
 // }
 
-// TODO check used task scheduler
+// check used task scheduler error due the magnetometer calibration task
 Sensors::Sensors(TaskScheduler* sched) : scheduler(sched), sensorsCounter(0) {}
 
-// TODO check calibration of gyro
+// check calibration of gyro deemed ok by giuseppe
 // TODO check axis of bmx
 
 bool Sensors::start()
 {
     // Read the magnetometer calibration from predefined file
-
+    miosix::GpioPin cs(GPIOG_BASE, 7);
+    cs.mode(miosix::Mode::OUTPUT);
+    cs.high();
     // Init all the sensors
     bmx160Init();
     bmx160WithCorrectionInit();
     lis3mdlInit();
     h3lisInit();
     lps22Init();
-    lps22DevInit();
+    // lps22DevInit();
     ubxGpsInit();
     ads131Init();
     internalADCInit();
@@ -164,7 +167,10 @@ bool Sensors::start()
         MAG_CALIBRATION_PERIOD);
 
     // Create sensor manager with populated map and configured scheduler
-    manager = new SensorManager(sensorMap, scheduler);
+    manager                      = new SensorManager(sensorMap, scheduler);
+    miosix::GpioPin interruptPin = miosix::sensors::bmx160::intr::getPin();
+    enableExternalInterrupt(interruptPin.getPort(), interruptPin.getNumber(),
+                            InterruptTrigger::FALLING_EDGE, 0);
     return manager->start() && result != 0;
 }