diff --git a/src/entrypoints/heli-entry.cpp b/src/entrypoints/heli-entry.cpp
index 17450c9ebed185876d78cb1284f0a06d16959b43..0c5621e398940f3d62086ca0afaf113d2b7ea43e 100644
--- a/src/entrypoints/heli-entry.cpp
+++ b/src/entrypoints/heli-entry.cpp
@@ -23,6 +23,10 @@
 #include <Common.h>
 #include <stdexcept>
 
+#include <events/EventBroker.h>
+#include <scheduler/TaskScheduler.h>
+
+#include <drivers/HardwareTimer.h>
 #include "HeliTest/config.h"
 
 #include "ButtonHandler.h"
@@ -30,19 +34,13 @@
 #include "HeliTest/FlightModeManager/HeliFMM.h"
 #include "HeliTest/PinObserverWrapper.h"
 #include "HeliTest/ScreenManager.h"
+#include "HeliTest/config.h"
+#include "PinStatus.h"
 #include "SensorManager/SensorManager.h"
 #include "SharedThreadIDs.h"
 #include "SystemDiagnostics/SystemDiagnostics.h"
-#include "HeliTest/config.h"
 #include "hwmapping.h"
 
-#include "events/EventBroker.h"
-#include "scheduler/TaskScheduler.h"
-
-#include "drivers/HardwareTimer.h"
-
-#include "PinStatus.h"
-
 using std::runtime_error;
 
 using namespace miosix;
@@ -54,8 +52,9 @@ using ButtonHandler_t = ButtonHandler<interfaces::buttons::user>;
 
 ButtonHandler_t* btnHandler;
 TaskScheduler* scheduler;
-ScreenManager* screen;
 SensorManager* sensorManager;
+ScreenManager* screen;
+
 HeliFMM* fmm;
 PinObserverWrapper* pinObserver;
 Logger& logger = Logger::instance();
@@ -67,22 +66,28 @@ void onButtonPressCallback(ButtonHandler_t::ButtonPress type);
 void initComponents()
 {
     EventBroker::getInstance();
-    scheduler      = new TaskScheduler();
-    btnHandler     = new ButtonHandler_t(1, &onButtonPressCallback);
-    sensorManager  = new SensorManager(scheduler);
+
+    btnHandler = new ButtonHandler_t(1, &onButtonPressCallback);
+    scheduler  = new TaskScheduler();
+    fmm        = HeliFMM::getInstance();
+
+    sensorManager = new SensorManager(scheduler);
     screen        = new ScreenManager(sensorManager);
-    fmm           = HeliFMM::getInstance();
-    pinObserver   = new PinObserverWrapper();
 
-    PWM::Timer t{
-        TIM4, &(RCC->APB1ENR), RCC_APB1ENR_TIM4EN,
-        TimerUtils::getPrescalerInputFrequency(TimerUtils::InputClock::APB1)};
+    pinObserver = new PinObserverWrapper();
 }
 
 void initPins()
 {
-    // FastInterruptDisableLock d;
-    DETACHMENT_PIN::mode(DETACHMENT_PIN_MODE);
+    {
+        FastInterruptDisableLock d;
+
+        DETACHMENT_PIN::mode(DETACHMENT_PIN_MODE);
+        CUTTER_ENA::mode(Mode::OUTPUT);
+        CUTTER_IN::mode(Mode::ALTERNATE);
+        CUTTER_IN::alternateFunction(2);
+        //CUTTER_CSENSE::mode(Mode::INPUT);
+    }
 
     red_led::mode(Mode::OUTPUT);
     green_led::mode(Mode::OUTPUT);
@@ -137,26 +142,6 @@ int main()
     }
 }
 
-/**
- * @brief Called when the specified state change is the detected on a pin
- *
- * @param port
- * @param num
- */
-void onPinDisconnectedCallback(unsigned int port, unsigned int num)
-{
-    TRACE("Pin callback: port:%d num:%d\n", port, num);
-    if (port == pin1_port && num == pin1_num)
-    {
-        sEventBroker->post({EV_HELIPIN_DISCONNECTED}, TOPIC_FSM);
-    }
-
-    if (port == pin2_port && num == pin2_num)
-    {
-        sEventBroker->post({EV_PARACHUTEPIN_DISCONNECTED}, TOPIC_FSM);
-    }
-}
-
 void onButtonPressCallback(ButtonHandler_t::ButtonPress type)
 {