diff --git a/include/driver/nrf24l01.h b/include/driver/nrf24l01.h
index ecf4bc23110f6b08a62c0829246efbb694fb4aa7..3a1f1456557e2a10d47201f0bc1c20079104d947 100644
--- a/include/driver/nrf24l01.h
+++ b/include/driver/nrf24l01.h
@@ -193,6 +193,13 @@ public:
    */
    uint8_t flushRx(void);
 
+     /**
+   * Get observe value.
+   *
+   * @return Current Observe TX value. 7:4 counts lost packets since last channel change, 3:0 gives retransmission count of latest packet.
+   */
+  uint8_t getObserveTx(void);
+
    void setup();
    /**
    * Set Power Amplifier (PA) level to one of four levels:
diff --git a/src/driver/nrf24l01.cc b/src/driver/nrf24l01.cc
index 937831bf21baff55cd95839456684ea75f2f7e8f..9433534bf6df6d7b67952b9c8ab57ec5c2c6124c 100644
--- a/src/driver/nrf24l01.cc
+++ b/src/driver/nrf24l01.cc
@@ -135,6 +135,11 @@ void Nrf24l01::powerDown(void)
 	writeRegister(NRF_CONFIG, readRegister(NRF_CONFIG) & ~(1 << PWR_UP));
 }
 
+uint8_t Nrf24l01::getObserveTx(void)
+{
+	return readRegister(OBSERVE_TX);
+}
+
 void Nrf24l01::setRetries(uint8_t delay, uint8_t count)
 {
 	writeRegister(SETUP_RETR, (delay & 0xf) << ARD | (count & 0xf) << ARC);