         validateAck(sendByte(ackVal));
     }
 
-    digitalWrite(heartbeatLEDPin, isCommHealthy);
+    analogWrite(heartbeatLEDGreenPin, isCommHealthy * 255);
+    analogWrite(heartbeatLEDRedPin, !isCommHealthy * 255);
 #else
     if (radio.available()) {
         byte recvByte;

Switch triggerButton = Switch(triggerButtonPin);
Switch resetButton = Switch(resetButtonPin);

uint8_t heartbeatLEDPin = 4;

unsigned long lastHeartbeat = 0;
bool isCommHealthy = false;

    radio.writeAckPayload(1, &ackVal, 1);

#if ROLE == ROLE_SENDER
    pinMode(heartbeatLEDGreenPin, OUTPUT);
    pinMode(heartbeatLEDRedPin, OUTPUT);
#else
    actuationServo.attach(servoPin);
    actuationServo.write(RESET_SERVO_ANGLE);
