diff --git examples/ble_peripheral/ble_app_uart_ESB/ESB_Timeslot/esb_timeslot.c examples/ble_peripheral/ble_app_uart_ESB/ESB_Timeslot/esb_timeslot.c
index 7b4fa7758..57dd6ad88 100644
--- examples/ble_peripheral/ble_app_uart_ESB/ESB_Timeslot/esb_timeslot.c
+++ examples/ble_peripheral/ble_app_uart_ESB/ESB_Timeslot/esb_timeslot.c
@@ -28,7 +28,11 @@
 
 #define MAX_TX_ATTEMPTS             10                      /**< Maximum attempt before discarding the packet (the number of trial = MAX_TX_ATTEMPTS x retransmit_count, if timeslot is large enough) */
 #define TS_LEN_US                   (5000UL)                /**< Length of timeslot to be requested. */
-#define TX_LEN_EXTENSION_US         (5000UL)                /**< Length of timeslot to be extended. */
+
+/* ----- NOTE -----
+  Reducing this to 3800 seems to trigger behaviour where timeslot will just unexpectedly "end" with signalling "IDLE" 
+*/
+#define TX_LEN_EXTENSION_US         (3800UL)                /**< Length of timeslot to be extended. */
 #define TS_SAFETY_MARGIN_US         (700UL)                 /**< The timeslot activity should be finished with this much to spare. */
 #define TS_EXTEND_MARGIN_US         (2000UL)                /**< Margin reserved for extension processing. */
 
@@ -67,7 +71,7 @@ uint32_t request_next_event_earliest(void)
     m_timeslot_request.request_type                = NRF_RADIO_REQ_TYPE_EARLIEST;
     m_timeslot_request.params.earliest.hfclk       = NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED;
     m_timeslot_request.params.earliest.priority    = NRF_RADIO_PRIORITY_NORMAL;
-    m_timeslot_request.params.earliest.length_us   = TS_LEN_US;
+    m_timeslot_request.params.earliest.length_us   = TX_LEN_EXTENSION_US;
     m_timeslot_request.params.earliest.timeout_us  = 500000;
     return sd_radio_request(&m_timeslot_request);
 }
@@ -81,6 +85,7 @@ void configure_next_event_earliest(void)
     m_timeslot_request.params.earliest.hfclk       = NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED;
     m_timeslot_request.params.earliest.priority    = NRF_RADIO_PRIORITY_NORMAL;
     m_timeslot_request.params.earliest.length_us   = TS_LEN_US;
+    /* NOTE: Reducting this timeout_us to e.g. 15000 seems to trigger the weird BLOCKED behaviour */
     m_timeslot_request.params.earliest.timeout_us  = 500000;
 }
 
@@ -104,6 +109,14 @@ void nrf_evt_signal_handler(uint32_t evt_id)
 {
     uint32_t err_code;
 
+    for (int i = 0; i < evt_id; i++)
+    {
+      nrf_gpio_pin_set(30);
+      nrf_gpio_pin_clear(30);
+    }
+
+    nrf_gpio_pin_set(30);
+
     switch (evt_id)
     {
         case NRF_EVT_RADIO_SIGNAL_CALLBACK_INVALID_RETURN:
@@ -130,6 +143,8 @@ void nrf_evt_signal_handler(uint32_t evt_id)
         default:
             break;
     }
+
+    nrf_gpio_pin_clear(30);
 }
 
 NRF_SDH_SOC_OBSERVER(m_esb_evt_observer, 0, nrf_evt_signal_handler, NULL);
@@ -137,7 +152,14 @@ NRF_SDH_SOC_OBSERVER(m_esb_evt_observer, 0, nrf_evt_signal_handler, NULL);
  */
 nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
 {
+    for (int i = 0; i < signal_type; i++)
+    {
+      nrf_gpio_pin_set(4);
+      nrf_gpio_pin_clear(4);
+    }
+
     //Initialize with default action = NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE:
+    nrf_gpio_pin_set(4);
     signal_callback_return_param.params.request.p_next = NULL;
     signal_callback_return_param.callback_action       = NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE;
     switch(signal_type)
@@ -161,6 +183,7 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
             /* Call TIMESLOT_BEGIN_IRQHandler later. */
             NVIC_EnableIRQ(TIMER0_IRQn); 
             NVIC_SetPendingIRQ(TIMESLOT_BEGIN_IRQn);
+            nrf_gpio_pin_set(3);
             break;
 
         case NRF_RADIO_CALLBACK_SIGNAL_TYPE_RADIO:
@@ -168,9 +191,11 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
             break;
 
         case NRF_RADIO_CALLBACK_SIGNAL_TYPE_TIMER0:
+            nrf_gpio_pin_set(29);
             if (NRF_TIMER0->EVENTS_COMPARE[0] &&
                 (NRF_TIMER0->INTENSET & (TIMER_INTENSET_COMPARE0_Enabled << TIMER_INTENCLR_COMPARE0_Pos)))
             {
+                nrf_gpio_pin_set(31);
                 NRF_TIMER0->TASKS_STOP        = 1;
                 NRF_TIMER0->EVENTS_COMPARE[0] = 0;
                 /* Workaround for issue that Softdevice doesn't reinitialize CC[1]&CC[2]*/
@@ -183,17 +208,19 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
                     NRF_RADIO->INTENCLR      = 0xFFFFFFFF;
                     NRF_RADIO->TASKS_DISABLE = 1;
                 }
-		//nrf_gpio_pin_toggle(29);	
+		//nrf_gpio_pin_toggle(29);
                 /* Schedule next timeslot. */
                 configure_next_event_earliest();
                 signal_callback_return_param.params.request.p_next = &m_timeslot_request;
                 signal_callback_return_param.callback_action       = NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END;
+                nrf_gpio_pin_clear(31);
+                nrf_gpio_pin_clear(3);
             }
 
             if (NRF_TIMER0->EVENTS_COMPARE[1] &&
                 (NRF_TIMER0->INTENSET & (TIMER_INTENSET_COMPARE1_Enabled << TIMER_INTENCLR_COMPARE1_Pos)))
             {
-                //nrf_gpio_pin_toggle(30);	
+                //nrf_gpio_pin_toggle(30);
                 NRF_TIMER0->EVENTS_COMPARE[1] = 0;
 
                 /* This is the "Time to extend timeslot" timeout. */
@@ -202,6 +229,7 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
                     /* Request timeslot extension if total length does not exceed 128 seconds. */
                     signal_callback_return_param.params.extend.length_us = TX_LEN_EXTENSION_US;
                     signal_callback_return_param.callback_action         = NRF_RADIO_SIGNAL_CALLBACK_ACTION_EXTEND;
+                    nrf_gpio_pin_set(28);
                 }
                 else
                 {
@@ -209,9 +237,12 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
                 
                 }
             }
+            nrf_gpio_pin_clear(29);
             break;
 
         case NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_SUCCEEDED:
+            nrf_gpio_pin_clear(28);
+            nrf_gpio_pin_set(25);
             //nrf_gpio_pin_toggle(31);	
             NRF_TIMER0->TASKS_STOP          = 1;
             NRF_TIMER0->EVENTS_COMPARE[0]   = 0;
@@ -222,7 +253,8 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
 
             m_total_timeslot_length += TX_LEN_EXTENSION_US;
             NVIC_SetPendingIRQ(TIMESLOT_BEGIN_IRQn);
-        
+            nrf_gpio_pin_clear(25);
+            
             break;
 
         case NRF_RADIO_CALLBACK_SIGNAL_TYPE_EXTEND_FAILED:
@@ -230,6 +262,7 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
             /* Disabling UESB is done in a lower interrupt priority. */
             /* Call TIMESLOT_END_IRQHandler later. */
             NVIC_SetPendingIRQ(TIMESLOT_END_IRQn);
+            nrf_gpio_pin_clear(28);
             //nrf_gpio_pin_toggle(29);	
             break;
 
@@ -238,6 +271,8 @@ nrf_radio_signal_callback_return_param_t * radio_callback(uint8_t signal_type)
             break;
     }
     //default return action is NRF_RADIO_SIGNAL_CALLBACK_ACTION_NONE
+
+    nrf_gpio_pin_clear(4);
     return (&signal_callback_return_param);
 }
 
@@ -252,7 +287,8 @@ uint32_t esb_timeslot_sd_start(void)
         return err_code;
     }
 
-    err_code = request_next_event_earliest();
+    configure_next_event_earliest();
+    err_code = sd_radio_request(&m_timeslot_request);
     if (err_code != NRF_SUCCESS)
     {
         (void)sd_radio_session_close();
@@ -453,17 +489,23 @@ uint32_t esb_timeslot_init(ut_data_handler_t evt_handler)
     NVIC_SetPriority(UESB_RX_HANDLE_IRQn, 2);
     NVIC_EnableIRQ(UESB_RX_HANDLE_IRQn);
 
-
-    /*
+    nrf_gpio_cfg_output(3);
+    nrf_gpio_cfg_output(4);
     nrf_gpio_cfg_output(28);
     nrf_gpio_cfg_output(29);
     nrf_gpio_cfg_output(30);
     nrf_gpio_cfg_output(31);
+    nrf_gpio_cfg_output(24);
+    nrf_gpio_cfg_output(25);
+    nrf_gpio_pin_clear(3);
+    nrf_gpio_pin_clear(4);
     nrf_gpio_pin_clear(28);
     nrf_gpio_pin_clear(29);
     nrf_gpio_pin_clear(30);
     nrf_gpio_pin_clear(31);
-    */
+    nrf_gpio_pin_clear(24);
+    nrf_gpio_pin_clear(25);
+
     return NRF_SUCCESS;
 }
 