diff --git a/ohmpi/hardware_components/pwr_batt.py b/ohmpi/hardware_components/pwr_batt.py
index dc67c8b88a742df803691446e0474d5f9c557e83..2ec52c57d0f1def5fdb30eb69dcbb8ab03f184db 100644
--- a/ohmpi/hardware_components/pwr_batt.py
+++ b/ohmpi/hardware_components/pwr_batt.py
@@ -26,6 +26,7 @@ class Pwr(PwrAbstract):
             self.exec_logger.event(f'{self.model}\tpwr_init\tbegin\t{datetime.datetime.utcnow()}')
         self._voltage = kwargs['voltage']
         self._current = np.nan
+        self._switch_pwr_on_zero = True
         # self._state = 'on'
         if not subclass_init:
             self.exec_logger.event(f'{self.model}\tpwr_init\tend\t{datetime.datetime.utcnow()}')
@@ -37,12 +38,6 @@ class Pwr(PwrAbstract):
     @current.setter
     def current(self, value, **kwargs):
         self.exec_logger.debug(f'Current cannot be set on {self.model}')
-    #
-    # def turn_off(self):
-    #     self.exec_logger.debug(f'{self.model} cannot be turned off')
-    #
-    # def turn_on(self):
-    #     self.exec_logger.debug(f'{self.model} is always on')
 
     @property
     def voltage(self):
@@ -51,3 +46,9 @@ class Pwr(PwrAbstract):
     @voltage.setter
     def voltage(self, value):
         PwrAbstract.voltage.fset(self, value)
+
+    # def voltage_pulse(self, voltage=0., length=None, polarity=1):
+    #     self.voltage_pulse(voltage=voltage, length=length, polarity=polarity, switch_pwr=self._switch_pwr_on_zero)
+
+    def inject(self, polarity=1, injection_duration=None):
+        self.inject(polarity=polarity, injection_duration=injection_duration, switch_pwr=self._switch_pwr_on_zero)
diff --git a/ohmpi/hardware_components/pwr_dps5005_fixed.py b/ohmpi/hardware_components/pwr_dps5005_fixed.py
new file mode 100644
index 0000000000000000000000000000000000000000..e73f2c23f5c95d0f10cde6255901b0796bf6bee5
--- /dev/null
+++ b/ohmpi/hardware_components/pwr_dps5005_fixed.py
@@ -0,0 +1,42 @@
+from ohmpi.hardware_components.abstract_hardware_components import PwrAbstract
+import numpy as np
+import datetime
+import os
+import time
+from ohmpi.utils import enforce_specs
+from minimalmodbus import Instrument  # noqa
+from ohmpi.hardware_components.pwr_batt import Pwr as Pwr_batt
+
+# hardware characteristics and limitations
+SPECS = {'model': {'default': os.path.basename(__file__).rstrip('.py')},
+         'voltage': {'default': 12., 'max': 50., 'min': 0.},
+         'voltage_min': {'default': 0},
+         'voltage_max': {'default': 0},
+         'current_max': {'default': 60.},
+         'current_adjustable': {'default': False},
+         'voltage_adjustable': {'default': False},
+         'pwr_latency': {'default': .5}
+         }
+
+
+class Pwr(Pwr_batt):
+    def __init__(self, **kwargs):
+        if 'model' not in kwargs.keys():
+            for key in SPECS.keys():
+                kwargs = enforce_specs(kwargs, SPECS, key)
+            subclass_init = False
+        else:
+            subclass_init = True
+        super().__init__(**kwargs)
+        if not subclass_init:
+            self.exec_logger.event(f'{self.model}\tpwr_init\tbegin\t{datetime.datetime.utcnow()}')
+        assert isinstance(self.connection, Instrument)
+        self._voltage = kwargs['voltage']
+        self._current_max = kwargs['current_max']
+        self.voltage_adjustable = False
+        self.current_adjustable = False
+        self._current = np.nan
+        self._pwr_state = 'off'
+        self._pwr_latency = kwargs['pwr_latency']
+        if not subclass_init:
+            self.exec_logger.event(f'{self.model}\tpwr_init\tend\t{datetime.datetime.utcnow()}')