diff --git a/config/json_parser.py b/config/json_parser.py
index 4e26f74aba8d2bfdf2c548f52ed71b8d1359ca2a..fdea1dd42fdd8daa29df72f0b125591a268d0852 100644
--- a/config/json_parser.py
+++ b/config/json_parser.py
@@ -1,7 +1,7 @@
 import json
 
 com_port_data = {
-    "com1": "test"
+    "COM_PORT": "name"
 }
 
 with open("tmtcc_config.json", "w") as write:
diff --git a/config/tmtcc_com_config.py b/config/tmtcc_com_config.py
index 79ad40209c1166bcc469a4d1dc00f4584e828353..759f78082a99c7467b431e3b1c3f46d4cc247aad 100644
--- a/config/tmtcc_com_config.py
+++ b/config/tmtcc_com_config.py
@@ -1,9 +1,14 @@
 """
 Set-up function. Initiates the communication interface.
 """
+import json
+import os
 import sys
 from typing import Union
 
+import serial
+import serial.tools.list_ports
+
 from tmtc_core.comIF.obsw_com_interface import CommunicationInterface
 from tmtc_core.comIF.obsw_dummy_com_if import DummyComIF
 from tmtc_core.comIF.obsw_ethernet_com_if import EthernetComIF
@@ -33,8 +38,22 @@ def set_communication_interface(tmtc_printer: TmTcPrinter) -> Union[Communicatio
         elif g.G_COM_IF == g.ComInterfaces.Serial:
             serial_baudrate = g.G_SERIAL_BAUDRATE
             serial_timeout = g.G_SERIAL_TIMEOUT
+            com_port = ""
+            if g.G_COM_PORT is None:
+                if os.path.isfile("config/tmtcc_config.json"):
+                    with open("config/tmtcc_config.json", "r") as write:
+                        load_data = json.load(write)
+                        com_port = load_data["COM_PORT"]
+
+                else:
+                    com_port = prompt_com_port()
+                    save_to_json = input("Do you want to store serial port to configuration? (y/n)")
+                    if save_to_json.lower() == 'y':
+                        with open("config/tmtcc_config.json", "w") as write:
+                            json.dump(dict(COM_PORT=com_port), write, indent=4)
+
             communication_interface = SerialComIF(
-                tmtc_printer=tmtc_printer, com_port=g.G_COM_PORT, baud_rate=serial_baudrate,
+                tmtc_printer=tmtc_printer, com_port=com_port, baud_rate=serial_baudrate,
                 serial_timeout=serial_timeout,
                 ser_com_type=SerialCommunicationType.DLE_ENCODING)
             communication_interface.set_dle_settings(
@@ -55,3 +74,15 @@ def set_communication_interface(tmtc_printer: TmTcPrinter) -> Union[Communicatio
         LOGGER.error("Error setting up communication interface")
         LOGGER.exception("Error")
         sys.exit()
+
+
+def prompt_com_port() -> str:
+    com_port = input(
+        "Serial Commuinication specified without COM port. Please enter COM Port"
+        "(enter h to display list of COM ports): ")
+    if com_port == 'h':
+        ports = serial.tools.list_ports.comports()
+        for port, desc, hwid in sorted(ports):
+            print("{}: {} [{}]".format(port, desc, hwid))
+        com_port = prompt_com_port()
+    return com_port
diff --git a/core/tmtc_client_core.py b/core/tmtc_client_core.py
index 4ef4aec1e4c29b5f9bcd5bfb7c4ef317b40fdff7..4fbee70b4b9a4a4406505b06cab79ab9e0e8ea5f 100755
--- a/core/tmtc_client_core.py
+++ b/core/tmtc_client_core.py
@@ -5,6 +5,7 @@
 @manual
 @author     R. Mueller
 """
+import json
 import sys
 
 from config.tmtcc_version import SW_VERSION, SW_SUBVERSION
diff --git a/tmtc_core b/tmtc_core
index 2407697ea25ec1479df5f1308183f7c9f0d01a90..d550621a799b9836f8bbb1c0760ef3a20cac99af 160000
--- a/tmtc_core
+++ b/tmtc_core
@@ -1 +1 @@
-Subproject commit 2407697ea25ec1479df5f1308183f7c9f0d01a90
+Subproject commit d550621a799b9836f8bbb1c0760ef3a20cac99af
diff --git a/utility/tmtcc_args_parser.py b/utility/tmtcc_args_parser.py
index 777f7e6bd0b156e96499a80b873aca94124b9f27..736797bf93180a64d7efba8ce1576785a97662e9 100644
--- a/utility/tmtcc_args_parser.py
+++ b/utility/tmtcc_args_parser.py
@@ -63,9 +63,11 @@ def parse_input_arguments():
         print("No Input Arguments specified.")
         arg_parser.print_help()
     args, unknown = arg_parser.parse_known_args()
-    # for argument in vars(args):
-    #     LOGGER.debug(argument + ": " + str(getattr(args, argument)))
+
+    #for argument in vars(args):
+    #   LOGGER.debug(argument + ": " + str(getattr(args, argument)))
     handle_args(args, unknown)
+
     return args