I mainly use this high-side switch design for 5V and with low current loads (under 100mA).

enter image description here

Based on the VDSS (-50V), I thought I could energize this design with 24V as well. Apparently, I am making a mistake by interpreting the VDSS. Even there is no load attached (Drain is only connected to voltmeter), when I connect to 24V source, Mosfet doesn't response to I/O input change (High or Low) anymore and always stays ON. Even I connect to a 5V source again, it still stays ON, another saying I believe the mosfet is gone.

Would you please tell me what is wrong here?

  • \$\begingroup\$ Let me guess: Vgs is 24V, what the datasheet says about Vgs_max? Usually the Vgs is 15V when using gate driver. \$\endgroup\$ Commented Sep 14, 2018 at 21:24
  • \$\begingroup\$ VGSS (Gate-Source Voltage): +/- 20V and VGS(th) (Gate Threshold Voltage): Max -2V \$\endgroup\$
    – Sener
    Commented Sep 14, 2018 at 21:28
  • 3
    \$\begingroup\$ Absolute maximum rating for Vgs is -20V, and you have applied -24V so you probably fried the gate. Did you try testing it with 5V again? EDIT: ah you did, and that didn't work. Yea the FET is dead. \$\endgroup\$
    – Linkyyy
    Commented Sep 14, 2018 at 21:32
  • 3
    \$\begingroup\$ But there is even more: A solenoid needs a fast recovery freewheeling diode, to dump the kickback energy. \$\endgroup\$ Commented Sep 14, 2018 at 21:39
  • 1
    \$\begingroup\$ @Sener - what would happen if you replaced your 10k to +24 with two 5k resistors in series, then drove the gate from the junction of the two resistors? Just asking. \$\endgroup\$ Commented Sep 14, 2018 at 22:12

2 Answers 2


While the comments are correct that you have exceeded the VGS(max) of the BSS84, there are indeed plenty of P-Chan Mosfets that will withstand more than 24V VGS(max).

This link to Digikey shows they are both available, and cheap.

If you want to move to a newer device, then you should consider the ONSemi NUD3160 low side relay drivers which are fully self protecting (alas they don't make a high side driver). These save you components, board space and can be directly MCU port driven.

enter image description here

OnSemi also have a smartFET high side driver. the NCV8460 which might be of use. I've not used these, but they include overvoltage, overcurrent and thermal shutdown along with open circuit load detection. Quite a capability for the price, though bigger than a SOT23.

  • \$\begingroup\$ I knew Digikey would be better for finding things other than Mouser. Thanks for the link. I need SOT23 packages due to lack of space and DMP510DL looks promising. Besides this, going with new drivers are OK with me, even better. The one you pointed is not suitable as I need command ground solution where high-side switches are for it. But, maybe there is one if I look carefully. \$\endgroup\$
    – Sener
    Commented Sep 14, 2018 at 23:33
  • \$\begingroup\$ @Sener There are high side drivers but most I've seen are the newer smartFET structures and not in SOT23. \$\endgroup\$ Commented Sep 14, 2018 at 23:36
  • \$\begingroup\$ Thanks a lot for your valuable inputs. I am going to order couple of different components including smart ones. But, I have already made some improvements thanks to you, Marko, Linky and Beast. \$\endgroup\$
    – Sener
    Commented Sep 14, 2018 at 23:46

I'll offer a different approach that is designed with relay inductance in mind and your apparent requirement of \$100\:\text{mA}\$ output current compliance. (Despite the fact that \$24\:\text{V}\$ relays usually don't require \$2.4\:\text{W}\$ to operate.) It's also BJT-only and cheap.


simulate this circuit – Schematic created using CircuitLab

This also includes the free-wheeling diode (\$D_3\$.) \$Q_2\$ has to be able to support your current (most small signal devices can handle that.) This requires about \$1\:\text{mA}\$ I/O drive current (most MCU's can handle that, as well.)


  • \$V_\text{CC}\approx +24\:\text{V}\$, rail for switched relay supply rail.
  • \$I_{\text{C}_2} \le 100\:\text{mA}\$, circuit current compliance.
  • \$V_\text{IO}\approx +5\:\text{V}\$, I/O line from MCU.
  • \$I_{\text{B}_1}\ge 1\:\text{mA}\$, MCU I/O line current compliance.
  • \$V_{\text{IO}_\text{DROP}}\le 200\:\text{mV}\$ @ \$1\:\text{mA}\$ I/O output current compliance.


When both BJTs are operating saturated:

  1. \$I_{\text{C}_1}=I_{\text{B}_2}=\frac{I_{\text{C}_2}=100\:\text{mA}}{\beta=10}\approx 10\:\text{mA}\$
  2. \$I_{\text{B}_1}=\frac{I_{\text{C}_1}=10\:\text{mA}}{\beta=10}\approx 1\:\text{mA}\$
  3. \$V_{\text{BE}_2}\approx 900\:\text{mV}\$ (estimate)
  4. \$V_{\text{BE}_1}\approx 800\:\text{mV}\$ (estimate)
  5. \$V_{\text{D}_1}\approx 700\:\text{mV}\$ (estimate)
  6. \$R_2=\frac{V_\text{CC}-V_{\text{BE}_2}-V_{\text{BE}_1}-V_{\text{D}_1}}{I_{\text{C}_1}=I_{\text{B}_2}}\approx 2.2\:\text{k}\Omega\$
  7. \$R_1=50\cdot\frac{V_{\text{BE}_2}}{I_{\text{C}_1}=I_{\text{B}_2}}\approx 4.7\:\text{k}\Omega\$ (\$R_1\$ as a pull-up doesn't need to be any stiffer)
  8. \$R_4=\frac{V_\text{IO}-V_{\text{BE}_1}-V_{\text{D}_1}-V_{\text{IO}_\text{DROP}}}{I_{\text{B}_1}}\approx 3.3\:\text{k}\Omega\$
  9. \$R_3=10\:\text{k}\Omega\$ (arbitrary, for now)
  • \$\begingroup\$ Interesting, wouldn't work with a 240 ohm resistive load. but if the edge sharp enough should work for inductive loads of that size. \$\endgroup\$ Commented Sep 15, 2018 at 6:01
  • \$\begingroup\$ @Jasen LTspice seems to show it working with a \$240\:\Omega\$ load. Of course, that's just simulation and I only just tested it at a slow frequency to observe its output. Did I miss something that made you say it won't work on \$240\:\Omega\$? \$\endgroup\$
    – jonk
    Commented Sep 15, 2018 at 10:33
  • \$\begingroup\$ current through D2 pulls Q1 base down to about 0.9v which given the diode in series with the emitter may not be enough to turn Q1 on \$\endgroup\$ Commented Sep 15, 2018 at 10:58
  • \$\begingroup\$ @Jasen I thought to add it as a rapid base pull-down (close to ground and fast) or "speed-up" when the ungrounded node of the inductance drives negative. But it isn't important here and the question you present means it is unnecessarily complicated. I'll just remove it. Thanks for the comments. \$\endgroup\$
    – jonk
    Commented Sep 16, 2018 at 1:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.