diff --git a/ohmpi/hardware_components/ohmpi_card_3_15.py b/ohmpi/hardware_components/ohmpi_card_3_15.py
index 58a5f0226ca64ce3506fa06f92f2c7321a4e21bb..828d9166870325802e5b7d2f485c99cf7ef48d21 100644
--- a/ohmpi/hardware_components/ohmpi_card_3_15.py
+++ b/ohmpi/hardware_components/ohmpi_card_3_15.py
@@ -48,6 +48,7 @@ TX_CONFIG['default_voltage'] = np.min([TX_CONFIG.pop('default_voltage', np.inf),
 TX_CONFIG['mcp_board_address'] = TX_CONFIG.pop('mcp_board_address', tx_mcp_board_address)
 TX_CONFIG['low_battery'] = TX_CONFIG.pop('low_battery', low_battery)
 
+
 def _gain_auto(channel):
     """Automatically sets the gain on a channel
 
@@ -83,8 +84,6 @@ class Tx(TxAbstract):
         self.current_adjustable = False
         if self.ctl is None:
             self.ctl = ctl_module.Ctl()
-        elif isinstance(self.ctl, dict):
-            self.ctl = ctl_module.Ctl(dict)
 
         # I2C connexion to MCP23008, for current injection
         self.mcp_board = MCP23008(self.ctl.bus, address=TX_CONFIG['mcp_board_address'])
@@ -207,8 +206,6 @@ class Rx(RxAbstract):
         super().__init__(**kwargs)
         if self.ctl is None:
             self.ctl = ctl_module.Ctl()
-        elif isinstance(self.ctl, dict):
-            self.ctl = ctl_module.Ctl(dict)
 
         # ADS1115 for voltage measurement (MN)
         self._ads_voltage_address = 0x49
diff --git a/ohmpi/hardware_components/raspberry_pi_i2c.py b/ohmpi/hardware_components/raspberry_pi_i2c.py
index 8f8a802c6e30edc4455f288fb6b34ce5f4fbdb3c..aa6d9a37a8eb1345642ca3d8dff3c5bc5210eb89 100644
--- a/ohmpi/hardware_components/raspberry_pi_i2c.py
+++ b/ohmpi/hardware_components/raspberry_pi_i2c.py
@@ -5,6 +5,7 @@ import os
 from ohmpi.utils import get_platform
 from gpiozero import CPUTemperature  # noqa
 
+
 class Ctl(CtlAbstract):
     def __init__(self, **kwargs):
         kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')})
diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py
index 294674f325679f19d4de95d1e5b4dee31c30ad00..ee52b4ca241b4353a1ae085ad1b2bfd9a69763d1 100644
--- a/ohmpi/hardware_system.py
+++ b/ohmpi/hardware_system.py
@@ -50,9 +50,11 @@ class OhmPiHardware:
         if self.soh_logger is None:
             self.soh_logger = create_stdout_logger('soh_hw')
         self.tx_sync = Event()
-        self.ctl = kwargs.pop('ctl', ctl_module.Ctl(exec_logger=self.exec_logger,
-                                                    data_logger=self.data_logger,
-                                                    soh_logger=self.soh_logger))
+        HARDWARE_CONFIG['ctl'].pop('model')
+        HARDWARE_CONFIG['ctl'].update({'exec_logger': self.exec_logger, 'data_logger': self.data_logger,
+                                       'soh_logger': self.soh_logger})
+        self.ctl = kwargs.pop('ctl', ctl_module.Ctl(**HARDWARE_CONFIG['ctl']))
+
         self.rx = kwargs.pop('rx', rx_module.Rx(exec_logger=self.exec_logger,
                                                 data_logger=self.data_logger,
                                                 soh_logger=self.soh_logger,