diff --git a/src/boards/Groundstation/Automated/SMController/SMController.cpp b/src/boards/Groundstation/Automated/SMController/SMController.cpp
deleted file mode 100644
index c4966d5d649bff3a2170247ee3e30779fb73ecdc..0000000000000000000000000000000000000000
--- a/src/boards/Groundstation/Automated/SMController/SMController.cpp
+++ /dev/null
@@ -1,639 +0,0 @@
-/* Copyright (c) 2024 Skyward Experimental Rocketry
- * Author: Federico Lolli
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include "SMController.h"
-
-#include <common/Events.h>
-#include <drivers/timer/TimestampTimer.h>
-
-#include "SMControllerData.h"
-
-using namespace Boardcore;
-using namespace Common;
-using namespace miosix;
-
-namespace Antennas
-{
-
-SMController::SMController() : HSM(&SMController::state_config)
-{
-    EventBroker::getInstance().subscribe(this, TOPIC_ARP);
-    EventBroker::getInstance().subscribe(this, TOPIC_TMTC);
-}
-
-// Super state
-Boardcore::State SMController::state_config(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::CONFIG);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_top);
-        }
-        case EV_INIT:
-        {
-            return transition(&SMController::state_init);
-        }
-        case TMTC_ARP_RESET_BOARD:
-        {
-            reboot();
-            return HANDLED;
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-// Super state
-Boardcore::State SMController::state_feedback(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::FEEDBACK);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_top);
-        }
-        case EV_INIT:
-        {
-            return transition(&SMController::state_armed);
-        }
-        case TMTC_ARP_DISARM:
-        {
-            return transition(&SMController::state_init_done);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-// Super state
-Boardcore::State SMController::state_no_feedback(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::NO_FEEDBACK);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_top);
-        }
-        case EV_INIT:
-        {
-            return transition(&SMController::state_armed_nf);
-        }
-        case TMTC_ARP_DISARM:
-        {
-            return transition(&SMController::state_insert_info);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_init(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::INIT);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_config);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case ARP_INIT_OK:
-        {
-            return transition(&SMController::state_init_done);
-        }
-        case ARP_INIT_ERROR:
-        {
-            return transition(&SMController::state_init_error);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_init_error(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::INIT_ERROR);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_config);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_FORCE_NO_FEEDBACK:
-        {
-            return transition(&SMController::state_insert_info);
-        }
-        case TMTC_ARP_FORCE_INIT:
-        {
-            return transition(&SMController::state_init_done);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_init_done(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::INIT_DONE);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_config);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_FORCE_NO_FEEDBACK:
-        {
-            return transition(&SMController::state_insert_info);
-        }
-        case TMTC_ARP_ARM:
-        {
-            return transition(&SMController::state_feedback);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_insert_info(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::INSERT_INFO);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_config);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_ARM:
-        {
-            return transition(&SMController::state_no_feedback);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_armed(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::ARMED);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_ENTER_TEST_MODE:
-        {
-            return transition(&SMController::state_test);
-        }
-        case TMTC_ARP_CALIBRATE:
-        {
-            return transition(&SMController::state_calibrate);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_test(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::TEST);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_EXIT_TEST_MODE:
-        {
-            return transition(&SMController::state_armed);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_calibrate(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::CALIBRATE);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case ARP_CAL_DONE:
-        {
-            return transition(&SMController::state_fix_antennas);
-        }
-        case TMTC_ARP_RESET_ALGORITHM:
-        {
-            return transition(&SMController::state_armed);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_fix_antennas(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::FIX_ANTENNAS);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case ARP_FIX_ANTENNAS:
-        {
-            return transition(&SMController::state_fix_rocket);
-        }
-        case TMTC_ARP_RESET_ALGORITHM:
-        {
-            return transition(&SMController::state_armed);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_fix_rocket(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::FIX_ROCKET);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case ARP_FIX_ROCKET:
-        {
-            return transition(&SMController::state_active);
-        }
-        case TMTC_ARP_RESET_ALGORITHM:
-        {
-            return transition(&SMController::state_armed);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_active(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::ACTIVE);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_RESET_ALGORITHM:
-        {
-            return transition(&SMController::state_armed);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_armed_nf(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::ARMED_NF);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_no_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_ENTER_TEST_MODE:
-        {
-            return transition(&SMController::state_test_nf);
-        }
-        case TMTC_ARP_CALIBRATE:
-        {
-            return transition(&SMController::state_fix_rocket_nf);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_test_nf(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::TEST_NF);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_no_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_EXIT_TEST_MODE:
-        {
-            return transition(&SMController::state_armed_nf);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_fix_rocket_nf(
-    const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::FIX_ROCKET_NF);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_no_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case ARP_FIX_ROCKET:
-        {
-            return transition(&SMController::state_active_nf);
-        }
-        case TMTC_ARP_RESET_ALGORITHM:
-        {
-            return transition(&SMController::state_armed_nf);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-Boardcore::State SMController::state_active_nf(const Boardcore::Event& event)
-{
-    switch (event)
-    {
-        case EV_ENTRY:
-        {
-            logStatus(SMControllerState::ACTIVE_NF);
-            return HANDLED;
-        }
-        case EV_EXIT:
-        {
-            return HANDLED;
-        }
-        case EV_EMPTY:
-        {
-            return tranSuper(&SMController::state_no_feedback);
-        }
-        case EV_INIT:
-        {
-            return HANDLED;
-        }
-        case TMTC_ARP_RESET_ALGORITHM:
-        {
-            return transition(&SMController::state_armed_nf);
-        }
-        default:
-        {
-            return UNHANDLED;
-        }
-    }
-}
-
-void SMController::logStatus(SMControllerState state)
-{
-    {
-        PauseKernelLock lock;
-        status.timestamp = TimestampTimer::getTimestamp();
-        status.state     = state;
-    }
-
-    Logger::getInstance().log(status);
-}
-
-}  // namespace Antennas
diff --git a/src/boards/Groundstation/Automated/SMController/SMController.h b/src/boards/Groundstation/Automated/SMController/SMController.h
deleted file mode 100644
index f48e7957b86f5e62ff8cdc22b0f528344e4a3394..0000000000000000000000000000000000000000
--- a/src/boards/Groundstation/Automated/SMController/SMController.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright (c) 2024 Skyward Experimental Rocketry
- * Author: Federico Lolli
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#pragma once
-
-#include <events/EventBroker.h>
-#include <events/HSM.h>
-
-#include <utils/ModuleManager/ModuleManager.hpp>
-
-#include "SMControllerData.h"
-
-namespace Antennas
-{
-
-class SMController : public Boardcore::Module,
-                     public Boardcore::HSM<SMController>
-{
-public:
-    SMController();
-
-    // FSM States
-    Boardcore::State state_config(const Boardcore::Event& event);
-    Boardcore::State state_feedback(const Boardcore::Event& event);
-    Boardcore::State state_no_feedback(const Boardcore::Event& event);
-    Boardcore::State state_init(const Boardcore::Event& event);
-    Boardcore::State state_init_error(const Boardcore::Event& event);
-    Boardcore::State state_init_done(const Boardcore::Event& event);
-    Boardcore::State state_insert_info(const Boardcore::Event& event);
-    Boardcore::State state_armed(const Boardcore::Event& event);
-    Boardcore::State state_test(const Boardcore::Event& event);
-    Boardcore::State state_calibrate(const Boardcore::Event& event);
-    Boardcore::State state_fix_antennas(const Boardcore::Event& event);
-    Boardcore::State state_fix_rocket(const Boardcore::Event& event);
-    Boardcore::State state_active(const Boardcore::Event& event);
-    Boardcore::State state_armed_nf(const Boardcore::Event& event);
-    Boardcore::State state_test_nf(const Boardcore::Event& event);
-    Boardcore::State state_fix_rocket_nf(const Boardcore::Event& event);
-    Boardcore::State state_active_nf(const Boardcore::Event& event);
-
-private:
-    /**
-     * @brief Logs the current state of the FSM
-     * @param state The current FSM state
-     */
-    void logStatus(SMControllerState state);
-
-    SMControllerStatus status;
-
-    Boardcore::PrintLogger logger =
-        Boardcore::Logging::getLogger("SMController");
-};
-
-}  // namespace Antennas
diff --git a/src/boards/Groundstation/Automated/SMController/SMControllerData.h b/src/boards/Groundstation/Automated/SMController/SMControllerData.h
deleted file mode 100644
index 98b3fa259acdf35868893b9d6d784dca04d32a3c..0000000000000000000000000000000000000000
--- a/src/boards/Groundstation/Automated/SMController/SMControllerData.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (c) 2024 Skyward Experimental Rocketry
- * Author: Federico Lolli
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#pragma once
-
-#include <stdint.h>
-
-#include <iostream>
-#include <string>
-
-namespace Antennas
-{
-
-enum class SMControllerState : uint8_t
-{
-    INIT = 0,
-    INIT_ERROR,
-    INIT_DONE,
-    INSERT_INFO,
-    ARMED,
-    ARMED_NF,
-    TEST,
-    TEST_NF,
-    CALIBRATE,
-    FIX_ANTENNAS,
-    FIX_ROCKET,
-    FIX_ROCKET_NF,
-    ACTIVE,
-    ACTIVE_NF,
-    /**
-     * @brief macro state for configuration (init, init_error,
-     * init_done, state_insert_info)
-     */
-    CONFIG,
-    /**
-     * @brief macro state for feedback (armed, test, calibrate,
-     * fix_antennas, fix_rocket, active)
-     */
-    FEEDBACK,
-    /**
-     * @brief macro state for no feedback (armed_nf, test_nf,
-     * fix_rocket_nf, active_nf)
-     */
-    NO_FEEDBACK
-};
-
-struct SMControllerStatus
-{
-    uint64_t timestamp;
-    SMControllerState state;
-
-    static std::string header() { return "timestamp,state\n"; }
-
-    void print(std::ostream& os) const
-    {
-        os << timestamp << "," << (int)state << "\n";
-    }
-};
-
-}  // namespace Antennas