diff --git a/comIF/obsw_com_interface.py b/comIF/obsw_com_interface.py
index cf4447b544b8bd864932d159a22d37340aae765b..dc511097375e15e566902fe2cc57b63037c49a0f 100644
--- a/comIF/obsw_com_interface.py
+++ b/comIF/obsw_com_interface.py
@@ -67,7 +67,7 @@ class CommunicationInterface:
     @abstractmethod
     def data_available(self, parameters: any) -> bool:
         """
-        Check whether _tm_data is available
+        Check whether TM data is available
         :param parameters:
         :return:
         """
diff --git a/comIF/obsw_dummy_com_if.py b/comIF/obsw_dummy_com_if.py
index 6730a5ba07bfc291e9b35860bbc60964fb7a24fe..ac4acc34e7d53c580020770efecc98deb665601d 100644
--- a/comIF/obsw_dummy_com_if.py
+++ b/comIF/obsw_dummy_com_if.py
@@ -10,9 +10,9 @@ from typing import Tuple
 from comIF.obsw_com_interface import CommunicationInterface
 from tc.obsw_pus_tc_base import PusTelecommand, PusTcInfoT, TcDictionaryKeys
 from tm.obsw_pus_tm_factory import PusTelemetryFactory
-from tm.obsw_pus_tm_creator import PusTelemetryCreator
 from tm.obsw_tm_service_1 import Service1TmPacked
 
+
 class DummyComIF(CommunicationInterface):
     def __init__(self, tmtc_printer):
         super().__init__(tmtc_printer)
@@ -31,7 +31,7 @@ class DummyComIF(CommunicationInterface):
         pass
 
     def receive_telemetry(self, parameters: any = 0):
-        if self.service_sent == 17 and self.reply_pending:
+        if self.service_sent == 17 or self.service_sent == 5 and self.reply_pending:
             tm_packer = Service1TmPacked(subservice=1, ssc=0)
             tm_packet_raw = tm_packer.pack()
             tm_packet = PusTelemetryFactory.create(tm_packet_raw)
diff --git a/comIF/obsw_serial_com_if.py b/comIF/obsw_serial_com_if.py
index 14617c58cfd4469c6d6d221d9811b6ed063cb219..29371c183f1fb0899520f8f962367d0405f672b1 100644
--- a/comIF/obsw_serial_com_if.py
+++ b/comIF/obsw_serial_com_if.py
@@ -47,7 +47,6 @@ class SerialComIF(CommunicationInterface):
             sys.exit()
 
     def send_telecommand(self, tc_packet: bytearray, tc_packet_info: PusTcInfoT = None) -> None:
-        # self.tmtc_printer.print_telecommand(tc_packet, tc_packet_info)
         self.serial.write(tc_packet)
 
     def receive_telemetry(self, parameters: any = 0) -> PusTmListT:
diff --git a/obsw_tmtc_client.py b/obsw_tmtc_client.py
index 167165ad7178b8dff5ec5e29471eec50f32771db..f4974460f5f609d5ac0ad37812f192df076136e3 100644
--- a/obsw_tmtc_client.py
+++ b/obsw_tmtc_client.py
@@ -124,7 +124,6 @@ class TmTcHandler:
             logger.info("TMTC Client in idle mode")
             time.sleep(5)
 
-
     def handle_action(self):
         tmtc_printer = TmTcPrinter(g.G_DISPLAY_MODE, g.G_PRINT_TO_FILE, True)
         if self.mode == g.ModeList.GUIMode:
diff --git a/sendreceive/obsw_sequential_sender_receiver.py b/sendreceive/obsw_sequential_sender_receiver.py
index 952b54aab6a4e00ac67c38bd21b292e5e66f9592..f0b044a5377555cca6a6d4c93e7d434eb26bf462 100644
--- a/sendreceive/obsw_sequential_sender_receiver.py
+++ b/sendreceive/obsw_sequential_sender_receiver.py
@@ -12,8 +12,11 @@ from sendreceive.obsw_command_sender_receiver import CommandSenderReceiver
 from sendreceive.obsw_tm_listener import TmListener
 from comIF.obsw_com_interface import CommunicationInterface
 from utility.obsw_tmtc_printer import TmTcPrinter
+from utility.obsw_logger import get_logger
 from tc.obsw_pus_tc_base import TcQueueT
 
+logger = get_logger()
+
 
 class SequentialCommandSenderReceiver(CommandSenderReceiver):
     """
@@ -61,9 +64,9 @@ class SequentialCommandSenderReceiver(CommandSenderReceiver):
             if not self.__mode_op_finished:
                 self._tm_listener.mode_op_finished.set()
                 self.__mode_op_finished = True
-        print("Sequential SenderReceiver: All replies received!")
+        logger.info("Sequential SenderReceiver: All replies received!")
         if g.G_PRINT_TO_FILE:
-            print("Sequential SenderReceiver: Exporting output to log file.")
+            logger.info("Sequential SenderReceiver: Exporting output to log file.")
             self._tmtc_printer.print_to_file("log/tmtc_log.txt", True)
 
     def __perform_next_tc_send(self):
diff --git a/sendreceive/obsw_tm_listener.py b/sendreceive/obsw_tm_listener.py
index 2020545c1859eb20c85aa3fee9000c0ce0d16bca..43ab5ec2e99276872247a10f682efd585b7618a0 100644
--- a/sendreceive/obsw_tm_listener.py
+++ b/sendreceive/obsw_tm_listener.py
@@ -123,6 +123,7 @@ class TmListener:
             self.__tm_packet_queue.append(self.com_interface.receive_telemetry())
             start_time = time.time()
             elapsed_time = 0
+            logger.info("TmListener: Listening for " + str(self.tm_timeout) + " seconds")
             while elapsed_time < self.tm_timeout:
                 tm_ready = self.com_interface.data_available(1.0)
                 if tm_ready:
diff --git a/tc/obsw_pus_tc_packer.py b/tc/obsw_pus_tc_packer.py
index 8a68bd7fe7c91d06b85efe99e23639153b9bd028..81ea745b20f45c1340a419c1454eacde01aed845 100644
--- a/tc/obsw_pus_tc_packer.py
+++ b/tc/obsw_pus_tc_packer.py
@@ -107,20 +107,19 @@ def pack_service9_test_into(tc_queue: TcQueueT) -> TcQueueT:
 
 
 def pack_service17_test_into(tc_queue: TcQueueT) -> TcQueueT:
-    tc_queue.appendleft(("print", "Testing Service 17"))
+    tc_queue.appendleft(("print", "Testing Service 17."))
     # ping test
-    tc_queue.appendleft(("print", "\n\rTesting Service 17: Ping Test"))
+    tc_queue.appendleft(("print", "Testing Service 17: Ping Test"))
     command = PusTelecommand(service=17, subservice=1, ssc=1700)
     tc_queue.appendleft(command.pack_command_tuple())
     # enable event
-    tc_queue.appendleft(("print", "\n\rTesting Service 17: Enable Event"))
+    tc_queue.appendleft(("print", "Testing Service 17: Enable Event"))
     command = PusTelecommand(service=5, subservice=5, ssc=52)
     tc_queue.appendleft(command.pack_command_tuple())
     # test event
-    tc_queue.appendleft(("print", "\n\rTesting Service 17: Trigger event"))
+    tc_queue.appendleft(("print", "Testing Service 17: Trigger event"))
     command = PusTelecommand(service=17, subservice=128, ssc=1701)
     tc_queue.appendleft(command.pack_command_tuple())
-    tc_queue.appendleft(("print", "\r"))
     tc_queue.appendleft(("export", "log/tmtc_log_service17.txt"))
     return tc_queue
 
diff --git a/tm/obsw_pus_tm_base.py b/tm/obsw_pus_tm_base.py
index 609b447a0c9987dbb4c98bc1ac2223ded6c48237..0a93bfd011ac7f6e4da306e565750133a4d73709 100644
--- a/tm/obsw_pus_tm_base.py
+++ b/tm/obsw_pus_tm_base.py
@@ -189,6 +189,12 @@ class PusTelemetry:
         """
         logger.info(self.return_data_string(self._tm_data, len(self._tm_data)))
 
+    def return_source_data(self):
+        """
+        Returns the source data string
+        """
+        return self.return_data_string(self._tm_data, len(self._tm_data))
+
     @staticmethod
     def return_data_string(byte_array: bytearray, length: int) -> str:
         """
diff --git a/utility/obsw_tmtc_printer.py b/utility/obsw_tmtc_printer.py
index 7b0117e923087512e79184d8f6b8018a6268a757..4f69c89bd8e797551488d218311f2c246e7e117e 100644
--- a/utility/obsw_tmtc_printer.py
+++ b/utility/obsw_tmtc_printer.py
@@ -72,7 +72,7 @@ class TmTcPrinter:
     def __handle_short_print(self, tm_packet: PusTelemetry):
         self.print_buffer = "Received TM[" + str(tm_packet.get_service()) + "," + str(
             tm_packet.get_subservice()) + "]"
-        print(self.print_buffer)
+        logger.info(self.print_buffer)
         self.add_print_buffer_to_file_buffer()
 
     def __handle_long_print(self, tm_packet: PusTelemetry):
@@ -166,7 +166,7 @@ class TmTcPrinter:
                     break
                 else:
                     self.print_buffer = self.print_buffer + ", "
-        print(self.print_buffer)
+        logger.info(self.print_buffer)
         self.add_print_buffer_to_file_buffer()
 
     def __handle_wiretapping_packet(self, wiretapping_packet: PusTelemetry):
@@ -179,8 +179,8 @@ class TmTcPrinter:
             self.print_buffer = "Wiretapping Packet or Raw Reply from TM [" + \
                                 str(wiretapping_packet.get_service()) + "," + \
                                 str(wiretapping_packet.get_subservice()) + "]: "
-            self.print_buffer = self.print_buffer + wiretapping_packet.return_data_string()
-            print(self.print_buffer)
+            self.print_buffer = self.print_buffer + wiretapping_packet.return_source_data()
+            logger.info(self.print_buffer)
             self.add_print_buffer_to_file_buffer()
 
     def __handle_data_reply_packet(self, tm_packet: PusTelemetry):
@@ -192,7 +192,7 @@ class TmTcPrinter:
         if tm_packet.get_service() == 8 and tm_packet.get_subservice() == 130:
             self.print_buffer = "Service 8 Direct Command Reply TM[8,130] with TM data: " \
                                 + tm_packet.return_data_string()
-            print(self.print_buffer)
+            logger.info(self.print_buffer)
 
     def print_data(self, byte_array: bytearray):
         """
@@ -200,7 +200,7 @@ class TmTcPrinter:
         :return: None
         """
         string = self.return_data_string(byte_array)
-        print(string)
+        logger.info(string)
 
     @staticmethod
     def return_data_string(byte_array: bytearray) -> str:
@@ -224,7 +224,7 @@ class TmTcPrinter:
         :return:
         """
         self.print_buffer = string
-        print(self.print_buffer)
+        logger.info(self.print_buffer)
         if self.do_print_to_file:
             self.add_print_buffer_to_file_buffer()
 
@@ -244,13 +244,13 @@ class TmTcPrinter:
         try:
             file = open(log_name, 'w')
         except FileNotFoundError:
-            print("Log directory does not exists, creating log folder.")
+            logger.info("Log directory does not exists, creating log folder.")
             os.mkdir('log')
             file = open(log_name, 'w')
         file.write(self.file_buffer)
         if clear_file_buffer:
             self.file_buffer = ""
-        print("Log file written to " + log_name)
+        logger.info("Log file written to " + log_name)
         file.close()
 
     @staticmethod
@@ -273,10 +273,10 @@ class TmTcPrinter:
         """
         if self.print_tc:
             if len(tc_packet) == 0:
-                print("TMTC Printer: Empty packet was sent, configuration error")
-                sys.exit()
+                logger.error("TMTC Printer: Empty packet was sent, configuration error")
+                return
             if tc_packet_info is None:
-                print("TMTC Printer: No packet info supplied to print")
+                logger.error("TMTC Printer: No packet info supplied to print")
                 return
             if self.display_mode == DisplayMode.SHORT:
                 self.__handle_short_tc_print(tc_packet_info)
@@ -310,5 +310,5 @@ class TmTcPrinter:
 
             logger.info(self.print_buffer)
             self.add_print_buffer_to_file_buffer()
-        except TypeError:
-            print("TMTC Printer: Type Error !")
+        except TypeError as e:
+            logger.error("TMTC Printer: Type Error! Traceback: " + str(e))