diff --git a/examples/platform/silabs/SiWx917/BUILD.gn b/examples/platform/silabs/SiWx917/BUILD.gn
index bbfeee1..9214e97 100644
--- a/examples/platform/silabs/SiWx917/BUILD.gn
+++ b/examples/platform/silabs/SiWx917/BUILD.gn
@@ -223,7 +223,7 @@
     "SiWx917/wfx_rsi_host.c",
   ]
 
-  if (chip_enable_pw_rpc || chip_build_libshell) {
+  if (chip_enable_pw_rpc || chip_build_libshell || sl_uart_log_output) {
     sources += [ "uart.cpp" ]
   }
 
diff --git a/examples/platform/silabs/SiWx917/uart.cpp b/examples/platform/silabs/SiWx917/uart.cpp
index ee6f9ab..91df5d5 100644
--- a/examples/platform/silabs/SiWx917/uart.cpp
+++ b/examples/platform/silabs/SiWx917/uart.cpp
@@ -26,6 +26,7 @@
 #endif
 #include "assert.h"
 #include "rsi_board.h"
+#include "rsi_debug.h"
 #include "uart.h"
 #include <stddef.h>
 #include <string.h>
@@ -118,6 +119,30 @@
     return BufLength;
 }
 
+/**
+ * @brief Write Logs to the Uart. Appends a return character
+ *
+ * @param log pointer to the logs
+ * @param length number of bytes to write
+ * @return int16_t Amount of bytes written or ERROR (-1)
+ */
+int16_t uartLogWrite(const char * log, uint16_t length)
+{
+    if (log == NULL || length == 0)
+    {
+        return UART_CONSOLE_ERR;
+    }
+    for (uint16_t i = 0; i < length; i++)
+    {
+        Board_UARTPutChar(log[i]);
+    }
+    // To print next log in new line with proper formatting
+    Board_UARTPutChar('\r');
+    Board_UARTPutChar('\n');
+
+    return length + 2;
+}
+
 /*
  *   @brief Read the data available from the console Uart
  *   @param Buffer for the data to be read, number bytes to read.
diff --git a/src/platform/silabs/Logging.cpp b/src/platform/silabs/Logging.cpp
index 353c647..71f377f 100644
--- a/src/platform/silabs/Logging.cpp
+++ b/src/platform/silabs/Logging.cpp
@@ -140,7 +140,7 @@
         PigweedLogger::putString(msg, sz);
 #else
         SEGGER_RTT_WriteNoLock(LOG_RTT_BUFFER_INDEX, msg, sz);
-#endif
+#endif // SILABS_LOG_OUT_UART
 
 #if SILABS_LOG_OUT_RTT || PW_RPC_ENABLED
         const char * newline = "\r\n";
diff --git a/third_party/silabs/SiWx917_sdk.gni b/third_party/silabs/SiWx917_sdk.gni
index f3bf92d..0853c03 100644
--- a/third_party/silabs/SiWx917_sdk.gni
+++ b/third_party/silabs/SiWx917_sdk.gni
@@ -282,6 +282,13 @@
       }
     }
 
+    if (sl_uart_log_output) {
+      defines += [
+        "SILABS_LOG_OUT_UART=1",
+        "SILABS_LOG_OUT_RTT=0",
+      ]
+    }
+
     if (chip_build_libshell) {  # matter shell
       defines += [ "ENABLE_CHIP_SHELL" ]
     }
