by Oscar

For many people who aren’t familiar with electronics often struggle to decide whether to use BJT or MOSFET in their projects. In this article I will explain the differences between BJT and MOSFET and help you decide which one is more suitable for your application.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.


As explained in my previous articles, BJT is current-controlled device where MOSFET is voltage-controlled, both with unique characteristics and their pros and cons. There isn’t a straight-forward and definite answer to the question which one is better.

When choosing which one to use in your application, one needs to consider many factors including power level, drive voltage, load voltage,switching speed, efficiency, cost, etc.

I will mainly focus on low power consumption applications e.g. driving a few LEDs or 5V DC motor etc, since most of the readers on this blog are of Arduino and Raspberry Pi hobbyists.

Load Driving

When used with Arduino which can only produce an DC output voltage of 5V, we are limited to using logic level MOSFET. They are not as common as standard MOSFET that requires at least 10V or more Vgs (gate-source voltage) to fully turn on.

On the other hand, BJTs that can be driven by Arduino (~5V DC) are easier to find, and generally cheaper.

Therefore BJTs are more suitable than MOSFETs for driving low-power LEDs and similar devices from Micro Controllers Unit (e.g. Arduino).

BJT can switch faster than MOSFET due to the less capacitance at the control pin. However MOSFET is more tolerant to heat (stable to thermal changes) and can simulate a good resistor.

At low power and voltages application – e.g. less than 10V and around 1A, small BJT could be a good choice. Bipolar have on state voltage drops (Vsat) dependant on load current, drive current & specific device type. A MOSFET has an on resistance Rdson rather than Vsat. Rdson is dependant on drive voltage, load current. Rdson increases with temperature and may double over ambient temperature values.

Power Consumption Efficiency

MOSFET is usually more efficient switches for power supplies. BJT will consume more power because it’s wasting current when it’s switch on. Also the BJT generally has a 0.3v voltage drop in the input pin, and it takes a lot of base current to do that.

Transistors are often connected together to form useful circuits. For instance the MOSFETs can be easily placed in parallel, but the BJT cannot unless external emitter resistors are added. The external resistance generates additional efficiency losses.

In a battery-powered device where you have limited power and the load is variable and often low, using BJT is a bad idea. If a BJT is used to power something with a predictable current draw like LEDs, using BJT isn’t as bad. Bcause you can simply set the base-emitter current to be a small fraction of the LED current to achive better efficiency.


Carefully selected transistor can enhance the performance of your project. Also it doesn’t has to be either BJT or MOSFET, they can as well be combined together to create innovative circuits that take advantage of the high-input-impedance and low-power operation of MOSFETs and the very-high-frequency operation and high-current-driving capability of bipolar transistors.

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.


Amir AfsharNoori 8th May 2020 - 9:15 pm

Mosfets are so faster than the BJTs. Mosfets can switch more than 200khz, they are the fastest electronic device.
Please edit the text.
Best regards

cristodospactos 12th May 2017 - 6:01 pm

Excellent web site, excellent tutorials. Keep up the good work.

Rick 27th January 2016 - 11:38 am

Hi Oscar,
I’m a hobbyist working on a battery operated Arduino + ESP8266 project, and want to be able to switch the ESP completely off when not in use. Given that the ESP has 3 pull up pins, I’m thinking I should switch the + side of the ESP using a PNP transistor or p-channel MOSFET. After reading your article it seems the MOSFET would be the best low power solution.