diff --git a/drivers/pid_controller/pidcontroller.py b/drivers/pid_controller/pidcontroller.py
new file mode 100644
index 0000000000000000000000000000000000000000..34f4e49603d7721286a1b15aea88cac531338588
--- /dev/null
+++ b/drivers/pid_controller/pidcontroller.py
@@ -0,0 +1,33 @@
+import serial
+import time
+
+class PidController:
+    def __init__(self, port):
+        self.port = port
+        try:
+            self.ser = serial.Serial(self.port, baudrate=9600, timeout=2)
+            print("PID Controller Connected Successfully")
+            self.connected = True
+        except:
+            self.ser = None
+            print(f"Failed to open Serial Port {self.port}.")
+            self.connected = False
+    
+    def connect(self, port):
+        self.port = port
+        try:
+            self.ser = serial.Serial(self.port, baudrate=9600, timeout=2)
+        except:
+            self.ser = None
+            print(f"Failed to open Serial Port {self.port}.")
+    
+    def disconnect(self):
+        self.ser.close()
+    
+    def _sendCommand(self, command):
+        self.ser.write(command.encode())
+        time.sleep(0.5)
+        text = ""
+        while(self.ser.in_waiting):
+            text += self.ser.read().decode()
+        return text
\ No newline at end of file