diff --git a/.vscode/settings.json b/.vscode/settings.json
index befe29ab75f0f5a01539623896c81d91a2676341..d64d9495c135a6f23bd27faa31950c80082b3441 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -132,10 +132,11 @@
         "Setpoint",
         "stateinitializer",
         "telecommands",
+        "TMTC",
         "UBXGPS",
         "usart",
         "VREF",
         "Xbee"
     ],
     "C_Cpp.errorSquiggles": "Enabled"
-}
\ No newline at end of file
+}
diff --git a/src/boards/Main/CanHandler/CanHandler.cpp b/src/boards/Main/CanHandler/CanHandler.cpp
index 46efa01b66847abf384611db1d498c6cfc927d9f..4fae63374a2b80b4ec2cf5fa7915c2df15db6fad 100644
--- a/src/boards/Main/CanHandler/CanHandler.cpp
+++ b/src/boards/Main/CanHandler/CanHandler.cpp
@@ -78,6 +78,24 @@ void CanHandler::sendCamOffEvent()
                            static_cast<uint8_t>(EventId::CAM_OFF));
 }
 
+void CanHandler::sendLiftoffEvent()
+{
+    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::BROADCAST),
+                           static_cast<uint8_t>(EventId::LIFTOFF));
+}
+
+void CanHandler::sendApogeeEvent()
+{
+    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::BROADCAST),
+                           static_cast<uint8_t>(EventId::APOGEE));
+}
+
 CanHandler::CanHandler()
 {
     CanbusDriver::AutoBitTiming bitTiming;
diff --git a/src/boards/Main/CanHandler/CanHandler.h b/src/boards/Main/CanHandler/CanHandler.h
index 13c4892b5830314b99b8f95730e37c318e402b65..9cddaf6d8455a30590de7562b8f1d408ee3d8520 100644
--- a/src/boards/Main/CanHandler/CanHandler.h
+++ b/src/boards/Main/CanHandler/CanHandler.h
@@ -39,16 +39,14 @@ public:
     bool isStarted();
 
     // Boardcore::Canbus::CanRXStatus getCanStatus();
-
     // void logStatus();
 
     void sendArmEvent();
-
     void sendDisarmEvent();
-
     void sendCamOnEvent();
-
     void sendCamOffEvent();
+    void sendLiftoffEvent();
+    void sendApogeeEvent();
 
 private:
     CanHandler();
diff --git a/src/boards/Main/Configs/CanHandlerConfig.h b/src/boards/Main/Configs/CanHandlerConfig.h
index eabb101659dd85b076d61b0a201001ee85cc2563..520136a11eb63a60d916f985b66d3a150d244060 100644
--- a/src/boards/Main/Configs/CanHandlerConfig.h
+++ b/src/boards/Main/Configs/CanHandlerConfig.h
@@ -34,6 +34,7 @@ namespace Main
 
 namespace CanHandlerConfig
 {
+
 static const std::map<Common::CanConfig::EventId, Common::Events> eventToEvent{
     {Common::CanConfig::EventId::ARM, Common::TMTC_ARM},
     {Common::CanConfig::EventId::DISARM, Common::TMTC_DISARM},
@@ -47,8 +48,10 @@ static const std::map<Common::Events, std::function<void(CanHandler *)>>
         {Common::TMTC_DISARM, &CanHandler::sendDisarmEvent},
         {Common::TMTC_START_RECORDING, &CanHandler::sendCamOnEvent},
         {Common::TMTC_STOP_RECORDING, &CanHandler::sendCamOffEvent},
+        {Common::FLIGHT_LIFTOFF, &CanHandler::sendLiftoffEvent},
+        {Common::FLIGHT_APOGEE_DETECTED, &CanHandler::sendApogeeEvent},
     };
 
 }  // namespace CanHandlerConfig
 
-}  // namespace Main
\ No newline at end of file
+}  // namespace Main
diff --git a/src/boards/Payload/Configs/CanHandlerConfig.h b/src/boards/Payload/Configs/CanHandlerConfig.h
index 37b09d2d8be35b7c3bfb3ef97074b0cc90908a62..00105bffa984f01457b2545fc29da3c15729b090 100644
--- a/src/boards/Payload/Configs/CanHandlerConfig.h
+++ b/src/boards/Payload/Configs/CanHandlerConfig.h
@@ -34,12 +34,14 @@ namespace Payload
 
 namespace CanHandlerConfig
 {
+
 static const std::map<Common::CanConfig::EventId, Common::Events> eventToEvent{
     {Common::CanConfig::EventId::ARM, Common::TMTC_ARM},
     {Common::CanConfig::EventId::DISARM, Common::TMTC_DISARM},
-    {Common::CanConfig::EventId::LIFTOFF, Common::TMTC_FORCE_LAUNCH},
     {Common::CanConfig::EventId::CAM_ON, Common::TMTC_START_RECORDING},
     {Common::CanConfig::EventId::CAM_OFF, Common::TMTC_STOP_RECORDING},
+    {Common::CanConfig::EventId::LIFTOFF, Common::TMTC_FORCE_LAUNCH},
+    {Common::CanConfig::EventId::APOGEE, Common::TMTC_FORCE_APOGEE},
 };
 
 static const std::map<Common::Events, std::function<void(CanHandler *)>>
@@ -52,4 +54,4 @@ static const std::map<Common::Events, std::function<void(CanHandler *)>>
 
 }  // namespace CanHandlerConfig
 
-}  // namespace Payload
\ No newline at end of file
+}  // namespace Payload