diff --git a/hardware/abstract_hardware.py b/hardware/abstract_hardware.py
index 4082dc670dbf683f922ecbd167e3fd46cd52b4b4..57ff1c7e2d4db3d997d7617184f948f8de6b5c64 100644
--- a/hardware/abstract_hardware.py
+++ b/hardware/abstract_hardware.py
@@ -127,6 +127,7 @@ class TxAbstract(ABC):
         self.soh_logger = kwargs.pop('soh_logger', None)
         if self.soh_logger is None:
             self.soh_logger = create_stdout_logger('soh_tx')
+        self.controller = kwargs.pop('controller', None)
         #self._polarity = polarity
         self._inj_time = None
         self._dps_state = 'off'
@@ -241,8 +242,11 @@ class RxAbstract(ABC):
     def __init__(self, **kwargs):
         self.exec_logger = kwargs.pop('exec_logger', None)
         if self.exec_logger is None:
-            self.exec_logger = create_stdout_logger('exec_tx')
+            self.exec_logger = create_stdout_logger('exec_rx')
         self.soh_logger = kwargs.pop('soh_logger', None)
+        if self.soh_logger is None:
+            self.soh_logger = create_stdout_logger('soh_rx')
+        self.controller = kwargs.pop('controller', None)
         self.board_name = kwargs.pop('board_name', 'unknown RX hardware')
         self._sampling_rate = kwargs.pop('sampling_rate', 1)
         self.exec_logger.debug(f'{self.board_name} RX initialization')
diff --git a/hardware/ohmpi_card_3_15.py b/hardware/ohmpi_card_3_15.py
index 3de6a26b08ee157e50a1262e39ae7ce572737e5c..1d7cafdf760a155343c1fb7fc714edbd3e94d729 100644
--- a/hardware/ohmpi_card_3_15.py
+++ b/hardware/ohmpi_card_3_15.py
@@ -73,7 +73,8 @@ class Tx(TxAbstract):
         kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')})
         super().__init__(**kwargs)
         self._voltage = kwargs.pop('voltage', TX_CONFIG['default_voltage'])
-        self.controller = kwargs.pop('controller', controller_module.Controller())
+        if self.controller is None:
+            self.controller = controller_module.Controller()
 
         # I2C connexion to MCP23008, for current injection
         self.mcp_board = MCP23008(self.controller.bus, address=TX_CONFIG['mcp_board_address'])
@@ -208,7 +209,8 @@ class Rx(RxAbstract):
     def __init__(self, **kwargs):
         kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')})
         super().__init__(**kwargs)
-        self.controller = kwargs.pop('controller', controller_module.Controller())
+        if self.controller is None:
+            self.controller = controller_module.Controller()
 
         # ADS1115 for voltage measurement (MN)
         self._ads_voltage_address = 0x49
diff --git a/measure.py b/measure.py
index 7662f0850d9ed12876d1abf3106a1830128adbaa..2eff82fe42608f69aba220ca3413f1eab0ffc152 100644
--- a/measure.py
+++ b/measure.py
@@ -38,11 +38,11 @@ class OhmPiHardware:
         self.controller = kwargs.pop('controller',
                                      controller_module.Controller(exec_logger=self.exec_logger,
                                                                    data_logger=self.data_logger,
-                                                                   soh_logger= self.soh_logger))
+                                                                   soh_logger=self.soh_logger))
         self.rx = kwargs.pop('rx', rx_module.Rx(exec_logger=self.exec_logger,
                                                  data_logger=self.data_logger,
                                                  soh_logger=self.soh_logger,
-                                                 controller = self.controller))
+                                                 controller=self.controller))
         self.tx = kwargs.pop('tx', tx_module.Tx(exec_logger=self.exec_logger,
                                                  data_logger=self.data_logger,
                                                  soh_logger=self.soh_logger,
diff --git a/test_measure_with_ohmpi_card_3_15.py b/test_measure_with_ohmpi_card_3_15.py
index 378e328c39410df6bbc07971d52dd7e1964026b0..511c54c3ee201aefb1fad0fd776e8abe9da40102 100644
--- a/test_measure_with_ohmpi_card_3_15.py
+++ b/test_measure_with_ohmpi_card_3_15.py
@@ -13,7 +13,7 @@ k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=1)
 r = k.readings[:,4]/k.readings[:,3]
 print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
 print(f'sampling rate: {k.rx.sampling_rate:.1f} ms, mean sample spacing: {np.mean(np.diff(k.readings[:,0]))*1000.:.1f} ms')
-print('Testing negative _vab_pulse')
+print('\nTesting negative _vab_pulse')
 k._vab_pulse(vab=12, length=1., sampling_rate=k.rx.sampling_rate, polarity=-1)
 r = k.readings[:,4]/k.readings[:,3]
 print(f'Mean resistance: {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')