diff --git .gitattributes .gitattributes
new file mode 100644
index 000000000..3c608d4a2
--- /dev/null
+++ .gitattributes
@@ -0,0 +1,3 @@
+
+# Disables line-ending conversions for *.uvprojx files.
+*.uvprojx -text
\ No newline at end of file
diff --git .gitignore .gitignore
index a4f150f48..15883d9da 100644
--- .gitignore
+++ .gitignore
@@ -1,3 +1,9 @@
 examples/**/Output/*/*
+examples/**/_build
 *.emSession
-*.jlink
\ No newline at end of file
+*.jlink
+*.uvguix.*
+EventRecorderStub.scvd
+**/RTE/*
+JLinkSettings.ini
+JLinkLog.txt
\ No newline at end of file
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..42d68dd87 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,6 +28,10 @@
 
 #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. */
+
+/* ----- NOTE -----
+  Reducing this to 3800 seems to trigger behaviour where timeslot will just unexpectedly "end" with signalling "IDLE" 
+*/
 #define TX_LEN_EXTENSION_US         (5000UL)                /**< 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. */
@@ -68,7 +72,8 @@ uint32_t request_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;
-    m_timeslot_request.params.earliest.timeout_us  = 500000;
+    /* NOTE: Reducting this timeout_us to e.g. 15000 seems to trigger the weird BLOCKED behaviour */
+    m_timeslot_request.params.earliest.timeout_us  = 15000;
     return sd_radio_request(&m_timeslot_request);
 }
 
@@ -81,7 +86,8 @@ 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;
-    m_timeslot_request.params.earliest.timeout_us  = 500000;
+    /* NOTE: Reducting this timeout_us to e.g. 15000 seems to trigger the weird BLOCKED behaviour */
+    m_timeslot_request.params.earliest.timeout_us  = 15000;
 }
 
 
@@ -104,6 +110,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 +144,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 +153,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 +184,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 +192,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 +209,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 +230,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 +238,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 +254,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 +263,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 +272,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);
 }
 
@@ -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;
 }
 
diff --git examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/config/sdk_config.h examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/config/sdk_config.h
index 6cd11d04a..872164185 100644
--- examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/config/sdk_config.h
+++ examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/config/sdk_config.h
@@ -11319,7 +11319,7 @@
 // <i> The time set aside for this connection on every connection interval in 1.25 ms units.
 
 #ifndef NRF_SDH_BLE_GAP_EVENT_LENGTH
-#define NRF_SDH_BLE_GAP_EVENT_LENGTH 6
+#define NRF_SDH_BLE_GAP_EVENT_LENGTH 7
 #endif
 
 // <o> NRF_SDH_BLE_GATT_MAX_MTU_SIZE - Static maximum MTU size. 
diff --git examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/ses/ble_app_uart_pca10040_s132.emProject examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/ses/ble_app_uart_pca10040_s132.emProject
index 55773ebdf..814a2468b 100644
--- examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/ses/ble_app_uart_pca10040_s132.emProject
+++ examples/ble_peripheral/ble_app_uart_ESB/pca10040/s132/ses/ble_app_uart_pca10040_s132.emProject
@@ -28,7 +28,7 @@
       linker_printf_width_precision_supported="Yes"
       linker_scanf_fmt_level="long"
       linker_section_placement_file="flash_placement.xml"
-      linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x10000;FLASH_START=0x26000;FLASH_SIZE=0x5a000;RAM_START=0x20002ad8;RAM_SIZE=0xd528"
+      linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x10000;FLASH_START=0x26000;FLASH_SIZE=0x5a000;RAM_START=0x200046A0;RAM_SIZE=0xb960"
       linker_section_placements_segments="FLASH RX 0x0 0x80000;RAM1 RWX 0x20000000 0x10000"
       macros="CMSIS_CONFIG_TOOL=../../../../../../external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar"
       project_directory=""