On our robot, we have several 1.5 kW DC motors (either <350 Vdc @ 5 A max, or <650 Vdc @ 3 A max : the PCB I'm designing should accept both options). The command logic is embedded into the motors (isolated logic voltage and communication, which is outside the scope of this question), so no PWM to be done one the DC supply. The speed is controlled through the communication. NB : the motors have an extra wire for protective earth (connected to the chassis of the motors). Protective earth is isolated (> 2000 V isolation) from 0 Vdc and 600 Vdc. I would like to add a switching mechanism for three purposes : 1) ensure there is no voltage on the motor connectors when speed is set to 0 2) switch off the motors in some emergency/fault conditions (like over-current, emergency stop, communication loss, ...) 3) disconnect the motor in case of detected earth leakage in the motor (i.e. current leakage between chassis and 0 Vdc or 600 Vdc). The isolation is measured with a line monitor by applying a +/-50Vdc voltage for 2 seconds between protective earth and either 0 Vdc rail or 600 Vdc rail. Any measurement bellow 20 MΩ (ie leakage current > 2.5 µA) is considered abnormal. So the isolation/withstanding requirements when off are : - 0 Vdc rail : < 2.5 µA leakage between -50 V dc and +50 Vdc ; withstanding +700 Vdc - 600 Vdc rail : <2.5 µA leakage between 600 V - 50 V dc and 600 + 50 Vdc ; withstanding 0 Vdc A simple solution would be an elector-mechanical relay with two poles. The problem is that at those voltage ratings, they are HUGE. The smallest I found so far is [G7L-2A-X-SI DC12 ][1], which is 52.5 x 35.5 mm. Without the line isolation measurements going outside the voltage rail, one MOSFET to switch each rail (with isolated driver for the high side) could do the job. But the inverse diode will be an issue when the relative voltage is negative. **Is there any solution more compact than using a big relay as the one I identified?** NB : if needed, one can assume that switching on is always performed at 0 A. For switching off, if "frequent" switching under load is allowed (let's say more than 10<sup>4</sup> times during lifetime) it's a plus ; but if needed, I can restrain it to real emergencies, and accept a lifetime of only 20 switching off under load. [1]: https://www.mouser.fr/datasheet/2/307/Omron_6_25_2023_G7L_X_SI_Datasheet_EN-3223450.pdf