 
     // Require a long press to activate
     if (triggerButton.longPress()) {
-        sendByte(triggerVal);
+        validateAck(sendByte(triggerVal));
     }
     else if (resetButton.pushed()) {
-        sendByte(resetVal);
+        validateAck(sendByte(resetVal));
     }
+    else if (millis() - lastHeartbeat >= HEARTBEAT_THRESH_MILLIS) {
+        // Re-use ack byte for heartbeat
+        validateAck(sendByte(triggerVal));
+    }
+
+    digitalWrite(heartbeatLEDPin, isCommHealthy);
 #else
     if (radio.available()) {
         byte recvByte;

    }
    else {
        Serial.println("Unknown failure");
    }
}
#endif


    if (radio.write(&val, 1)) {
        if (!radio.available()) {
            Serial.println("Empty recv!");
            return 0;
        }
        else {
            radio.read(&recvByte, 1);
