diff --git a/src/boards/Auxiliary/CanHandler/CanHandler.cpp b/src/boards/Auxiliary/CanHandler/CanHandler.cpp
index 63783384f54594fb17d1b53bc47724b0415932d7..598c720ff755b6d14af886c0299b4c6158a88523 100644
--- a/src/boards/Auxiliary/CanHandler/CanHandler.cpp
+++ b/src/boards/Auxiliary/CanHandler/CanHandler.cpp
@@ -104,10 +104,12 @@ void CanHandler::handleCanEvent(const CanMessage &msg)
         case EventId::ARM:
         {
             Actuators::getInstance().ledArmed();
+            break;
         }
         case EventId::DISARM:
         {
             Actuators::getInstance().ledDisarmed();
+            break;
         }
 
         default:
diff --git a/src/boards/Main/CanHandler/CanHandler.cpp b/src/boards/Main/CanHandler/CanHandler.cpp
index 4dbe13711bd9d4d996cb919614c949ef6e54776a..080c43b782c2cc886fbcac32bede9acf502f313e 100644
--- a/src/boards/Main/CanHandler/CanHandler.cpp
+++ b/src/boards/Main/CanHandler/CanHandler.cpp
@@ -87,6 +87,15 @@ void CanHandler::sendCamOffEvent()
                            static_cast<uint8_t>(EventId::CAM_OFF));
 }
 
+void CanHandler::sendErrorEvent()
+{
+    protocol->enqueueEvent(static_cast<uint8_t>(Priority::CRITICAL),
+                           static_cast<uint8_t>(PrimaryType::EVENTS),
+                           static_cast<uint8_t>(Board::MAIN),
+                           static_cast<uint8_t>(Board::AUXILIARY),
+                           static_cast<uint8_t>(EventId::ERROR));
+}
+
 void CanHandler::sendLiftoffEvent()
 {
     protocol->enqueueEvent(static_cast<uint8_t>(Priority::CRITICAL),
diff --git a/src/boards/Main/CanHandler/CanHandler.h b/src/boards/Main/CanHandler/CanHandler.h
index 447a0bcdfb808d6ed9fd5ba44f93d6a7d9bd5734..8169f1e458a850957d3b6ecacdffa726e2e1c3b8 100644
--- a/src/boards/Main/CanHandler/CanHandler.h
+++ b/src/boards/Main/CanHandler/CanHandler.h
@@ -46,6 +46,7 @@ public:
     void sendCalibrateEvent();
     void sendCamOnEvent();
     void sendCamOffEvent();
+    void sendErrorEvent();
     void sendLiftoffEvent();
     void sendApogeeEvent();
     void sendLandingEvent();
diff --git a/src/boards/Main/Configs/CanHandlerConfig.h b/src/boards/Main/Configs/CanHandlerConfig.h
index 15c618408c7a54aedce11eaea13f937b95cfaefb..63d13fa9419b9fa62b41e35d7848117ffd8d9de2 100644
--- a/src/boards/Main/Configs/CanHandlerConfig.h
+++ b/src/boards/Main/Configs/CanHandlerConfig.h
@@ -45,11 +45,12 @@ static const std::map<Common::CanConfig::EventId, Common::Events> eventToEvent{
 
 static const std::map<Common::Events, std::function<void(CanHandler *)>>
     eventToFunction{
-        {Common::TMTC_ARM, &CanHandler::sendArmEvent},
-        {Common::TMTC_DISARM, &CanHandler::sendDisarmEvent},
+        {Common::FLIGHT_ARMED, &CanHandler::sendArmEvent},
+        {Common::FLIGHT_DISARMED, &CanHandler::sendDisarmEvent},
         {Common::TMTC_CALIBRATE, &CanHandler::sendCalibrateEvent},
         {Common::TMTC_START_RECORDING, &CanHandler::sendCamOnEvent},
         {Common::TMTC_STOP_RECORDING, &CanHandler::sendCamOffEvent},
+        {Common::FLIGHT_ERROR_DETECTED, &CanHandler::sendErrorEvent},
         {Common::FLIGHT_LIFTOFF, &CanHandler::sendLiftoffEvent},
         {Common::FLIGHT_APOGEE_DETECTED, &CanHandler::sendApogeeEvent},
         {Common::FLIGHT_LANDING_DETECTED, &CanHandler::sendLandingEvent},
diff --git a/src/boards/Main/StateMachines/FlightModeManager/FlightModeManager.cpp b/src/boards/Main/StateMachines/FlightModeManager/FlightModeManager.cpp
index c8dc26784eb71092b19b6db37c7388d847941b96..326f26e3295768d6db9ba9129a4fca6449433024 100644
--- a/src/boards/Main/StateMachines/FlightModeManager/FlightModeManager.cpp
+++ b/src/boards/Main/StateMachines/FlightModeManager/FlightModeManager.cpp
@@ -128,6 +128,8 @@ State FlightModeManager::state_init_error(const Event& event)
         {
             Actuators::getInstance().buzzerError();
             logStatus(FlightModeManagerState::INIT_ERROR);
+            EventBroker::getInstance().post(FLIGHT_ERROR_DETECTED,
+                                            TOPIC_FLIGHT);
             return HANDLED;
         }
         case EV_EXIT:
diff --git a/src/boards/Payload/Configs/CanHandlerConfig.h b/src/boards/Payload/Configs/CanHandlerConfig.h
index c0971d828dd1678fac0d1f313ced25221eebe3c7..c5b38443467b5f8176303ca31005b23311c716ad 100644
--- a/src/boards/Payload/Configs/CanHandlerConfig.h
+++ b/src/boards/Payload/Configs/CanHandlerConfig.h
@@ -47,8 +47,8 @@ static const std::map<Common::CanConfig::EventId, Common::Events> eventToEvent{
 
 static const std::map<Common::Events, std::function<void(CanHandler *)>>
     eventToFunction{
-        {Common::TMTC_ARM, &CanHandler::sendArmEvent},
-        {Common::TMTC_DISARM, &CanHandler::sendDisarmEvent},
+        {Common::FLIGHT_ARMED, &CanHandler::sendArmEvent},
+        {Common::FLIGHT_DISARMED, &CanHandler::sendDisarmEvent},
         {Common::TMTC_CALIBRATE, &CanHandler::sendCalibrateEvent},
         {Common::TMTC_START_RECORDING, &CanHandler::sendCamOnEvent},
         {Common::TMTC_STOP_RECORDING, &CanHandler::sendCamOffEvent},
diff --git a/src/boards/Payload/StateMachines/FlightModeManager/FlightModeManager.cpp b/src/boards/Payload/StateMachines/FlightModeManager/FlightModeManager.cpp
index 07ffd78a0e8474d611001b7a7271bcf91669b344..433cde9dc7a9639a3dfa4327898674c93eb251a1 100644
--- a/src/boards/Payload/StateMachines/FlightModeManager/FlightModeManager.cpp
+++ b/src/boards/Payload/StateMachines/FlightModeManager/FlightModeManager.cpp
@@ -139,6 +139,8 @@ State FlightModeManager::state_init_error(const Event& event)
         {
             logStatus(FlightModeManagerState::INIT_ERROR);
             Actuators::getInstance().ledError();
+            EventBroker::getInstance().post(FLIGHT_ERROR_DETECTED,
+                                            TOPIC_FLIGHT);
             return HANDLED;
         }
         case EV_EXIT:
diff --git a/src/boards/common/events/Events.h b/src/boards/common/events/Events.h
index 9cc614df8bce5d497950296e5222085934e67d7b..297ccbdf9905544c53b2c3a71021408c495cd969 100644
--- a/src/boards/common/events/Events.h
+++ b/src/boards/common/events/Events.h
@@ -57,6 +57,7 @@ enum Events : uint8_t
     FLIGHT_ARMED,
     FLIGHT_DISARMED,
     FLIGHT_DPL_ALT_DETECTED,
+    FLIGHT_ERROR_DETECTED,
     FLIGHT_LANDING_DETECTED,
     FLIGHT_LAUNCH_PIN_DETACHED,
     FLIGHT_LIFTOFF,