I have used this circuit several times and it appears to function as intended, but looking at it I am not sure why it doesn't fail. The intention was for MCU GPIO on the NPN transistor's base to make the NPN either saturated or unsaturated and drive the PNP transistor's base which functions as a low voltage drop switch.

But I see there is no resistor on the PNP transistor's base, so why isn't there an infinite amount of current trying to flow out of the PNP's base to GND? Let's say that the base of the PNP transistor is 0.7V lower than the collector/emitter or 1.1V. With no resistance shouldn't the current be infinite?


Edit From the feedback it appears I have made two big errors with this circuit. Firstly this is not a PNP transistor it is a P channel MOSFET. Secondly there was no base resistor on the NPN transistor. I have about 4 similar circuits to this on my PCB but happened to post the one that had this error. I am grateful for this because I have made so many PCBs and not spotted this. I don't typically activate this circuit on my board via the GPIO listed so this is probably why I am reporting no errors on the NPN transistor. But my other circuits which utilize an NPN driving a P-type mosfet look like this:

circuit 2

  • 6
    \$\begingroup\$ There is no PNP transistor in your diagram. There's an NPN and a P-type MOSFET. Bipolar junction transistors have a base connection. MOSFETs have a gate. \$\endgroup\$
    – JRE
    Commented Jul 24, 2022 at 18:17
  • 3
    \$\begingroup\$ The NTR3A052 is a p-channel MOSFET. Therefore the gate current (not base current) will be very low (probably less than 1 micro-ampere at room temperature). There is a problem with the BJT (Q403, MMBT3904). The current to the base of Q403 should be limited by use of a suitable resistor. In this case maybe 10 k would be appropriate. Another way to salvage this circuit without changing the layout would be to replace Q403 with an N-channel MOSFET such as the BSS138. The BSS138 doesn't need a series resistor when driven by a GPIO. \$\endgroup\$
    – user57037
    Commented Jul 24, 2022 at 19:00
  • \$\begingroup\$ If the NPN base is connected straight to a GPIO pin without real current limiting, it’s a bad design and the MCU or similar will suffer. Some have current limiter outputs, others will just sag and run hot. \$\endgroup\$
    – winny
    Commented Jul 24, 2022 at 20:06
  • 1
    \$\begingroup\$ Your revised circuit looks OK. R430 could be much higher if you want. 10k would work fine. There are not too many P-channel mosfet's that will reliably turn on at 1.8 V. But the one you show, the NTR3A052 will turn on fully when Vgs is -1.8 V. \$\endgroup\$
    – user57037
    Commented Jul 24, 2022 at 20:48
  • 2
    \$\begingroup\$ Just to re-iterate, if you already built boards where you have a 2N3904 with no base resistor, you can almost certainly salvage those without buying new boards if you substitute a BSS138 instead of the 2N3904. Of course details matter such as what voltage do you drive the gate to, etc. But it will very likely work. \$\endgroup\$
    – user57037
    Commented Jul 24, 2022 at 20:50

3 Answers 3


First, Q402 is a P-channel MOSFET. MOSFET gates (the equivalent of a bipolar junction transistor's base) look like capacitors to the rest of the circuit -- they flow current when the gate-source or gate-drain voltage changes, but (unless they make a transition to "lump-o-slag") they do not flow appreciable DC current.

So where a PNP transistor would need a current-limit resistor, one is not needed in this circuit.

Second -- where's the current limit on the base of Q403? That circuit certainly made me sit up and take notice. If that's connected straight to the pin of a microcontroller, then unless the microcontroller is specifically set up to not drive current into Q403 then either the microcontroller pin or the transistor is going to be operating in an unhappy state.


There will be no infinite amount of current, because the MCU GPIO pins, supply pins, power supply, wiring, and base have all some resistance and can't provide infinite current.

However the current is too large and out of specs for any real world circuit, it will overheat and work for some time and it might not immediately burn up.

Mainly because the MCU GPIO pin has a limited output drive ability and impedance.


Chances are the GPIO_PONTRIG input is never directly connected to Vdd but only ever pulled up with a resistor inside the µC controlling it.


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.