diff --git a/aos/events/ping_lib.cc b/aos/events/ping_lib.cc
index 900ed0d..f9958ff 100644
--- a/aos/events/ping_lib.cc
+++ b/aos/events/ping_lib.cc
@@ -30,6 +30,10 @@
 }
 
 void Ping::SendPing() {
+  if (last_pong_value_ != count_ && (!quiet_ || VLOG_IS_ON(1))) {
+    LOG(WARNING) << "Did not receive response to " << count_ << " within "
+                 << FLAGS_sleep_ms << "ms.";
+  }
   ++count_;
   aos::Sender<examples::Ping>::Builder builder = sender_.MakeBuilder();
   examples::Ping::Builder ping_builder = builder.MakeBuilder<examples::Ping>();
@@ -50,15 +54,17 @@
       monotonic_now - monotonic_send_time;
 
   if (last_pong_value_ + 1 != pong.value() && (!quiet_ || VLOG_IS_ON(1))) {
-    LOG(WARNING) << "Pong message lost";
+    LOG(WARNING) << "Unexpected pong value, wanted " << last_pong_value_ + 1
+                 << ", got " << pong.value();
   }
 
   if (pong.value() == count_) {
     VLOG(1) << "Elapsed time " << round_trip_time.count() << " ns "
             << FlatbufferToJson(&pong);
   } else if (!quiet_ || VLOG_IS_ON(1)) {
-    LOG(WARNING) << "Missmatched pong message, got " << FlatbufferToJson(&pong)
-                 << " expected " << count_;
+    LOG(WARNING) << "Unexpected pong response, got " << FlatbufferToJson(&pong)
+                 << " expected " << count_ << ", elapsed time "
+                 << round_trip_time.count() << " ns ";
   }
 
   last_pong_value_ = pong.value();
diff --git a/aos/events/pong_lib.cc b/aos/events/pong_lib.cc
index 9f1c855..77bd8d9 100644
--- a/aos/events/pong_lib.cc
+++ b/aos/events/pong_lib.cc
@@ -11,6 +11,12 @@
     : event_loop_(event_loop),
       sender_(event_loop_->MakeSender<examples::Pong>("/test")) {
   event_loop_->MakeWatcher("/test", [this](const examples::Ping &ping) {
+    if (last_value_ == ping.value()) {
+      LOG(WARNING) << "Duplicate ping value at " << last_value_
+                   << " time difference " << ping.send_time() - last_send_time_;
+    }
+    last_value_ = ping.value();
+    last_send_time_ = ping.send_time();
     aos::Sender<examples::Pong>::Builder builder = sender_.MakeBuilder();
     examples::Pong::Builder pong_builder =
         builder.MakeBuilder<examples::Pong>();
diff --git a/aos/events/pong_lib.h b/aos/events/pong_lib.h
index 17d779c..0b50599 100644
--- a/aos/events/pong_lib.h
+++ b/aos/events/pong_lib.h
@@ -15,6 +15,8 @@
  private:
   EventLoop *event_loop_;
   aos::Sender<examples::Pong> sender_;
+  int32_t last_value_ = 0;
+  int32_t last_send_time_ = 0;
 };
 
 }  // namespace aos
