diff --git a/src/boards/Groundstation/Automated/Leds/Leds.cpp b/src/boards/Groundstation/Automated/Leds/Leds.cpp
index ca775eb36398b4e1a30ce6c3791a5adeb9af876a..95a9f13efaf05ffd5dd84e597227648684512195 100644
--- a/src/boards/Groundstation/Automated/Leds/Leds.cpp
+++ b/src/boards/Groundstation/Automated/Leds/Leds.cpp
@@ -30,6 +30,7 @@ namespace Antennas
 Leds::Leds(TaskScheduler* scheduler) : scheduler(scheduler)
 {
     leds_state.fill(LedState::OFF);
+    led_toggles.fill(false);
     led_steps.fill(0);
 }
 
@@ -54,7 +55,7 @@ void Leds::update()
     LedState state;
     LedColor color;
 
-    for (size_t i = 0; i < leds_state.size(); i++)
+    for (uint8_t i = 0; i < leds_state.size(); i++)
     {
         state = leds_state[i];
         color = static_cast<LedColor>(i);
@@ -62,7 +63,7 @@ void Leds::update()
         switch (state)
         {
             case LedState::BLINK_SLOW:
-                if (led_steps[i]++ == 1)
+                if (led_steps[i]++ >= 1)
                 {
                     ledToggle(color);
                     led_steps[i] = 0;
@@ -109,7 +110,7 @@ void Leds::endlessBlink(LedColor color)
 
 void Leds::ledToggle(LedColor color)
 {
-    size_t i = static_cast<size_t>(color);
+    uint8_t i = static_cast<uint8_t>(color);
     led_toggles[i] ? ledOn(color) : ledOff(color);
     led_toggles[i] = !led_toggles[i];
 }
@@ -131,22 +132,24 @@ void Leds::ledOn(LedColor color)
         case LedColor::GREEN:
             miosix::led1On();
             break;
+        case LedColor::BLUE:
+            break;
     }
 #else
     switch (color)
     {
         case LedColor::RED:
-            miosix::ledOn();
+            miosix::led3On();
             break;
-        case LedColor::YELLOW:
+        case LedColor::BLUE:
             miosix::led2On();
             break;
-        case LedColor::ORANGE:
-            miosix::led3On();
-            break;
         case LedColor::GREEN:
             miosix::led1On();
             break;
+        case LedColor::ORANGE:
+        case LedColor::YELLOW:
+            break;
     }
 #endif
 }
@@ -168,22 +171,24 @@ void Leds::ledOff(LedColor color)
         case LedColor::GREEN:
             miosix::led1Off();
             break;
+        case LedColor::BLUE:
+            break;
     }
 #else
     switch (color)
     {
         case LedColor::RED:
-            miosix::ledOff();
+            miosix::led3Off();
             break;
-        case LedColor::YELLOW:
+        case LedColor::BLUE:
             miosix::led2Off();
             break;
-        case LedColor::ORANGE:
-            miosix::led3Off();
-            break;
         case LedColor::GREEN:
             miosix::led1Off();
             break;
+        case LedColor::ORANGE:
+        case LedColor::YELLOW:
+            break;
     }
 #endif
 }
diff --git a/src/boards/Groundstation/Automated/Leds/Leds.h b/src/boards/Groundstation/Automated/Leds/Leds.h
index 1c81ea9f2c04f2278a411b5ea82d47c181578cb7..3d51048195e0108fb0583da78dcbaf0aad9dab7f 100644
--- a/src/boards/Groundstation/Automated/Leds/Leds.h
+++ b/src/boards/Groundstation/Automated/Leds/Leds.h
@@ -40,6 +40,7 @@ enum class LedColor : uint8_t
     RED = 0,
     YELLOW,
     ORANGE,
+    BLUE,
     GREEN
 };
 
@@ -110,11 +111,11 @@ private:
     // scheduler to run the update blink function
     Boardcore::TaskScheduler* scheduler;
     // toggles to allow led to blink
-    std::array<bool, 4> led_toggles;
+    std::array<bool, 5> led_toggles;
     // counter to keep track of slow blink
-    std::array<uint32_t, 4> led_steps;
+    std::array<uint32_t, 5> led_steps;
     // state of the leds
-    std::array<LedState, 4> leds_state;
+    std::array<LedState, 5> leds_state;
 };
 
 }  // namespace Antennas