super().__init__(index, baudrate=baudrate)
 
 
-class SPI_Feather_EPD(SPI):
+class SPI_Feather_CAN(SPI):
     """SPI Class for Feather EPD u2if"""
 
     def __init__(self, clock, *, baudrate=100000):
         index = None
         if clock.id == 14:
-            index = 0
+            index = 1
+        if index is None:
+            raise ValueError("No SPI port on specified pin.")
+        super().__init__(index, baudrate=baudrate)
+
+
+class SPI_Feather_EPD(SPI):
+    """SPI Class for Feather EPD u2if"""
+
+    def __init__(self, clock, *, baudrate=100000):
+        index = None
         if clock.id == 22:
+            index = 0
+        if clock.id == 14:
+            index = 1
+        if index is None:
+            raise ValueError("No SPI port on specified pin.")
+        super().__init__(index, baudrate=baudrate)
+
+
+class SPI_Feather_RFM(SPI):
+    """SPI Class for Feather EPD u2if"""
+
+    def __init__(self, clock, *, baudrate=100000):
+        index = None
+        if clock.id == 14:
             index = 1
         if index is None:
             raise ValueError("No SPI port on specified pin.")
         if index is None:
             raise ValueError("No SPI port on specified pin.")
         super().__init__(index, baudrate=baudrate)
+
+
+class SPI_KB2040(SPI):
+    """SPI Class for KB2040 u2if"""
+
+    def __init__(self, clock, *, baudrate=100000):
+        index = None
+        if clock.id == 18:
+            index = 0
+        if index is None:
+            raise ValueError("No SPI port on specified pin.")
+        super().__init__(index, baudrate=baudrate)