Sign up ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

In my experimentation, I've used only BJTs as switches (for turning on and off things like LEDs and such) for my MCU outputs. I've been repeatedly told, however, that N-channel enhancement-mode MOSFETs are a better choice for switches (see here and here, for examples), but I'm not sure I understand why. I do know that a MOSFET wastes no current on the gate, where a BJT's base does, but this is not an issue for me, as I'm not running on batteries. A MOSFET also requires no resistor in series with the gate, but generally DOES require a pulldown resistor so the gate doesn't float when the MCU is rebooted (right?). No reduction in parts count, then.

There doesn't seem to be a great surplus of logic-level MOSFETs that can switch the current that cheap BJTs can (~600-800mA for a 2N2222, for example), and the ones that do exist (TN0702, for example) are hard to find and significantly more expensive.

When is a MOSFET more appropriate than a BJT? Why am I continually being told that I should be using MOSFETs?

share|improve this question
Battery limitations aren't the only reason to conserve power. What about heat dissipation? What about cost to operate? What about product lifetime (that can be limited by heat)? – gallamine Apr 15 '11 at 14:16
Going back decades, when MOSFETs were still new devices, I remember seeing one article where a MOSFET manufacturer pointed out that they'd made a real accomplishment, to show the parts were really coming on: They'd built and were shipping the VN10KM, that was specifically designed and intended to fit in the usual ecological niche currently occupied by the venerable 2N2222. – John R. Strohm Jun 12 '11 at 17:43

5 Answers 5

up vote 6 down vote accepted

BJTs are much more suitable than MOSFETs for driving low-power LEDs and similar devices from MCUs. MOSFETs are better for high-power applications because they can switch faster than BJTs, enabling them to use smaller inductors in switch-mode supplies, which increases efficiency.

share|improve this answer
Would you say, then, that the suggestions I've gotten to use MOSFETs are just plain wrong? Specifically, the answer to my question about LEDs? – Mark Apr 14 '11 at 21:58
Yes. You don't see many LED drivers using MOSFETs. – Leon Heller Apr 14 '11 at 22:04
what exactly makes a BJT 'much more suitable' for LED driving? There are tons of LED drivers that use MOSFET switches. – Mark Apr 14 '11 at 23:52
Power Darlingtons are slow compared to MOSFETs! Fast switching is desirable to minimise inductor size and increase efficiency. – Leon Heller Apr 15 '11 at 14:27
@Mark: In some applications, 2.5% may be a big deal, but in many applications one will be far more worried about the 10mA consumed by a LED than the 250uA consumed in the base of the transistor controlling it. I myself wouldn't have used the term "much" more suitable, but BJT's are often a little cheaper than MOSFETs, and that in and of itself makes them "more suitable", all else being equal. Also, in some applications, it may be easier to wire BJT's for a constant-current circuit than MOSFETs. – supercat Jun 13 '11 at 15:17

BJT's waste some current whenever they're switched on, regardless of whether the load is drawing anything. In a battery-powered device, using a BJT to power something whose load is highly variable but is often low will end up wasting a lot of energy. If a BJT is used to power something with a predictable current draw, though (like a LED), this problem isn't as bad; one can simply set the base-emitter current to be a small fraction of the LED current.

share|improve this answer

A good N-channel MOSFET will have a very low \$R_{ds(on)}\$ (drain-source equivalent resistance) when properly biased, which means that it behaves very much like an actual switch when turned on. You will find that the voltage across the MOSFET when on will be lower than the \$V_{ce(sat)}\$(collector-emitter saturation voltage) of a BJT.

A 2N2222 has \$V_{ce(sat)}\$ from \$ 0.4V - 1V \$ depending on biasing current.

A VN2222 MOSFET has a maximum \$R_{ds(on)}\$ of \$ 1.25 \Omega\$.

You can see that the VN2222 will dissipate much less across the drain-source.

Also, as previously explained, the MOSFET is a transconductance device - voltage on the gate allows current through the device. Since the gate is high-impedance to the source, you do not require constant gate current to bias the device on - you need only overcome the inherent capacitance to get the gate charged up then the gate consumption becomes miniscule.

share|improve this answer
Difficult to drive a VN2222 from a 3.3v MCU, though, and they're not exactly readily available. – Mark Apr 15 '11 at 14:18
\$R_{DS(ON)}\$ for the VN2222 is \$7.5\Omega\$, not 1.25. Even \$1.25\Omega\$ wouldn't be spectacular, you can find dozens of logic FETs with \$R_{DS(ON)}\$ less than \$100 m\Omega\$ – stevenvh Jun 12 '11 at 17:02
@Mark - Supertex may not be a Fairchild or NXP, but the VN2222 is readily available from DigiKey and Mouser. – stevenvh Jun 12 '11 at 17:03

BJT's are more suitable in some situations because they are often cheaper. I can buy TO92 BJT's for 0.8p each but MOSFET's don't start until 2p each - it might not sound like much but it can make a big difference if you're dealing with a cost sensitive product with many of these.

share|improve this answer

FET devices having almost no input current (gate current) are the best choice for the LEDs driven by the micro-controller as micro-controller doesn't need to provide much current through its die, keeping itself cool (less heat dissipation on chip) while LED current is almost all driven through the external FET channel. Yes, it is also true that the Ron of the typical FET devices are very low keeping low voltage drop across FET which is advantageous for low power application.

However, there is some disadvantage when it comes to noise immunity at the gate of the MOSFET, which may not be the case for the BJTs. Any potential (noise) applied at gate of the MOSFET will make the channel conduct upto some extent. It is not highly (but still adequate) to use the Mosfet to drive the relay coils with low Vt (threshold). In that case, if your Microcontroller is driving the FET, you might want to get a FET with higher Vt (threshold).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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