diff --git a/epicardium/ble/ble.c b/epicardium/ble/ble.c
index f35dfce7b016017aa80514f38ce6d67fbf8a461b..adc9a1dd79af007102944f7a184c6c8a3e393675 100644
--- a/epicardium/ble/ble.c
+++ b/epicardium/ble/ble.c
@@ -47,6 +47,7 @@ static wsfBufPoolDesc_t mainPoolDesc[WSF_BUF_POOLS] =
 /*! \brief  Stack initialization for app. */
 extern void StackInit(void);
 extern void AppInit(void);
+extern void bleuart_init(void);
 
 /*************************************************************************************************/
 void PalSysAssertTrap(void)
diff --git a/epicardium/ble/uart.c b/epicardium/ble/uart.c
index add1e1f10511943a6b8de9391dac23b6d013d42f..04610b1ff0548facb85f839fc87e57063e8c54f7 100644
--- a/epicardium/ble/uart.c
+++ b/epicardium/ble/uart.c
@@ -1,17 +1,9 @@
+#include "modules/modules.h"
+
 #include "wsf_types.h"
-#include "wsf_os.h"
-#include "wsf_buf.h"
-#include "wsf_timer.h"
-#include "wsf_trace.h"
-#include "app_ui.h"
-#include "ble_api.h"
-#include "hci_vs.h"
-
-#include "att_defs.h"
 #include "util/bstream.h"
 #include "att_api.h"
 
-#include "modules/modules.h"
 #include "FreeRTOS.h"
 #include "timers.h"
 
@@ -21,7 +13,7 @@
 
 
 #define UART_START_HDL                    0x800                /*!< \brief Service start handle. */
-#define UART_END_HDL                      (BATT_MAX_HDL - 1)  /*!< \brief Service end handle. */
+#define UART_END_HDL                      (UART_MAX_HDL - 1)  /*!< \brief Service end handle. */
 
 /**************************************************************************************************
  Handles
@@ -30,16 +22,17 @@
 /*! \brief UART Service Handles */
 enum
 {
-  UART_SVC_HDL = UART_START_HDL,        /*!< \brief UART service declaration */
+  UART_SVC_HDL = UART_START_HDL,       /*!< \brief UART service declaration */
   UART_RX_CH_HDL,                      /*!< \brief UART rx characteristic */
   UART_RX_HDL,                         /*!< \brief UART rx value */
   UART_TX_CH_HDL,                      /*!< \brief UART tx characteristic */
   UART_TX_HDL,                         /*!< \brief UART tx value */
   UART_TX_CH_CCC_HDL,                  /*!< \brief UART tx CCCD */
-  BATT_MAX_HDL                          /*!< \brief Maximum handle. */
+  UART_MAX_HDL                         /*!< \brief Maximum handle. */
 };
 /**@}*/
 
+/* clang-format off */
 static const uint8_t UARTSvc[] = {0x9E,0xCA,0xDC,0x24,0x0E,0xE5,0xA9,0xE0,0x93,0xF3,0xA3,0xB5,0x01,0x00,0x40,0x6E};
 
 static const uint8_t uartRxCh[] = {ATT_PROP_WRITE, UINT16_TO_BYTES(UART_RX_HDL), 0x9E,0xCA,0xDC,0x24,0x0E,0xE5,0xA9,0xE0,0x93,0xF3,0xA3,0xB5,0x02,0x00,0x40,0x6E};
@@ -47,7 +40,7 @@ const uint8_t attUartRxChUuid[] = {0x9E,0xCA,0xDC,0x24,0x0E,0xE5, 0xA9,0xE0,0x93
 
 static const uint8_t uartTxCh[] = {ATT_PROP_READ | ATT_PROP_NOTIFY, UINT16_TO_BYTES(UART_TX_HDL), 0x9E,0xCA,0xDC,0x24,0x0E,0xE5,0xA9,0xE0,0x93,0xF3,0xA3,0xB5,0x03,0x00,0x40,0x6E};
 const uint8_t attUartTxChUuid[] = {0x9E,0xCA,0xDC,0x24,0x0E,0xE5, 0xA9,0xE0,0x93,0xF3,0xA3,0xB5,0x03,0x00,0x40,0x6E};
-/* Battery level client characteristic configuration */
+/* clang-format on */
 
 
 
@@ -55,7 +48,6 @@ static void *SvcUARTAddGroupDyn(void)
 {
   void *pSHdl;
   uint8_t initCcc[] = {UINT16_TO_BYTES(0x0000)};
-  uint8_t initUARTVal[] = {0x20};
 
   /* Create the service */
   pSHdl = AttsDynCreateGroup(UART_START_HDL, UART_END_HDL);
@@ -79,7 +71,7 @@ static void *SvcUARTAddGroupDyn(void)
     AttsDynAddAttrConst(pSHdl, attChUuid, uartTxCh, sizeof(uartTxCh), 0, ATTS_PERMIT_READ);
     /* UART tx value */
     /* TODO: do we need ATTS_SET_READ_CBACK ? */
-    AttsDynAddAttr(pSHdl, attUartTxChUuid, initUARTVal, sizeof(uint8_t), sizeof(uint8_t),
+    AttsDynAddAttr(pSHdl, attUartTxChUuid, NULL, 0, sizeof(uint8_t),
                    ATTS_SET_READ_CBACK, ATTS_PERMIT_READ);
     /* UART tx CCC descriptor */
     AttsDynAddAttr(pSHdl, attCliChCfgUuid, initCcc, sizeof(uint16_t), sizeof(uint16_t),
@@ -94,7 +86,6 @@ dmConnId_t active_connection = 0;
 static uint8_t UARTReadCback(dmConnId_t connId, uint16_t handle, uint8_t operation,
                      uint16_t offset, attsAttr_t *pAttr)
 {
-  //AppHwBattRead(pAttr->pValue);
   printf("read callback\n");
   return ATT_SUCCESS;
 }
diff --git a/epicardium/modules/modules.h b/epicardium/modules/modules.h
index ac6186ad9193cf374527b26c59b4fdc9b73b7741..5dbda13c1af2b98a863077e8813fda66c3fbede2 100644
--- a/epicardium/modules/modules.h
+++ b/epicardium/modules/modules.h
@@ -1,6 +1,7 @@
 #ifndef MODULES_H
 #define MODULES_H
 
+#include <stdint.h>
 /* ---------- FAT fs ------------------------------------------------------ */
 /* Number of bits to use for indexing into our internal pool of files/directories
  * This indirectly specifies the size of the pool as 2^EPIC_FAT_FD_INDEX_BITS