MOSFETS
22 JUNE 2025
Recently, I needed a low-power circuit for one of my battery-operated projects.
Much of the system’s power savings depended on its ability to switch off power
to components, such as servos, electronically when not needed. That’s how I
stumbled upon MOSFETs, transistors capable of controlling circuits operating at
voltages far above their own.
Acknowledgments
This article is a summary of what I learnt about using transistors as switches.
I’m not an electronics engineer, and this is not an authoritative guide. The
circuits in this post must be considered within the context in which I’ve used
them. All credits for the schematics belong to Simon Fitch.
Preamble
For a typical MOSFET-based switch, we can connect a GPIO pin of a
microcontroller to the gate of a logic-level N-channel MOSFET placed on the low
side of the load and tie the gate and the drain pins of the MOSFET with a
pull-down resistor. This would work as long as the power supplies of the
microcontroller and the load don’t share a common ground. Things become more
complicated when they do (e.g., controlling power to a component driven by the
same microcontroller).
In that scenario, the source potential visible to the load is the difference
between the gate and the threshold potentials of the MOSFET. For example, when
the gate and the threshold potentials are 3.3 V and 1.5 V, the potential the
load sees is 1.8 V. So, to use a low-side N-channel MOSFET, we need the gate
potential to be higher than the source potential, which may not always be
practical. The alternative would be a hide-side switch.
P-channel high-side switch
The following schematic shows how a high-side P-channel MOSFET (M1) could
switch power to a 6 V servo driven by a 3.3 V MCU.

When the microcontroller outputs low, the M2 N-channel MOSFET stops conducting.
The R1 resistor pulls the gate of the M1 P-channel MOSFET up to +6 V, switching
the servo off. When the microcontroller outputs high on the GPIO pin, M2’s
source-drain connection starts conducting, causing M1’s gate potential to drop
to 0 V, which switches on power to the servo.
N-channel high-side switch
The P-channel high-side switch would be the typical architecture for our use
case. However, if we have access to a potential high enough to safely raise the
gate potential above the threshold such that their difference outputs the source
potential required to drive the load, we can switch on the high side using an
N-channel MOSFET:

In the schematic, both M1 and M2 are N-channel MOSFETs. When the
microcontroller output is low, M2 stops conducting. This causes the M1’s gate
potential to rise above the threshold, turning the servo on. Conversely, a high
output on the GPIO line switches M2 on, which lowers M1’s gate potential. This
switches the servo off. The R2 pull-up resistor prevents the high impedance of
the output pins at power-up from switching the servo on.
Both topologies require M2 to act as a level converter between circuits
containing the microcontroller and the servo, converting between 0 V and +6 V
or +9 V. M2 is a low-power signal converter carrying less than a milliamp of
current. The gate-source threshold voltage of M2 must be lower than the MCU’s
supply voltage. 2N7000, 2N7002, and BSS138 are popular choices for M2.
The D1 flyback diodes used in the two topologies safeguard the MOSFET from
voltage spikes caused by inductive loads such as servos.
A BJT alternative
A Bipolar Junction Transistor (BJT) is a simpler, cheaper, and more widely
available type of transistor that can be used as a switch.

In the schematic, when the MCU outputs high, Q2 starts conducting. Q2 amplifies
Q1’s base current. Unlike MOSFETs, which are voltage-driven, BJTs are driven by
base current. Resistors R3 and R4 must be chosen carefully to output the
desired base currents. “How to choose a
transistor as a switch” is an excellent guide on using BJTs as electronic
switches.
Which topology to choose?
The professional community appears to prefer MOSFETs over BJTs. MOSFETs are
more efficient when the switch is on. However, they are more challenging to
drive, especially with a 3.3 V MCU, due to the VGS potentials
required to achieve specified RDS(on) values (i.e., to turn them on
fully).
N-channel MOSFETs have lower on-resistance values, making them more efficient
than P-channel ones. They are also cheaper. However, they are harder to drive
on the high side as their gate potential must be higher than the source
potential. This often requires extra circuitry such as MOSFET drivers.
Further reading
Recently, I needed a low-power circuit for one of my battery-operated projects. Much of the system’s power savings depended on its ability to switch off power to components, such as servos, electronically when not needed. That’s how I stumbled upon MOSFETs, transistors capable of controlling circuits operating at voltages far above their own.
Acknowledgments
This article is a summary of what I learnt about using transistors as switches. I’m not an electronics engineer, and this is not an authoritative guide. The circuits in this post must be considered within the context in which I’ve used them. All credits for the schematics belong to Simon Fitch.
Preamble
For a typical MOSFET-based switch, we can connect a GPIO pin of a microcontroller to the gate of a logic-level N-channel MOSFET placed on the low side of the load and tie the gate and the drain pins of the MOSFET with a pull-down resistor. This would work as long as the power supplies of the microcontroller and the load don’t share a common ground. Things become more complicated when they do (e.g., controlling power to a component driven by the same microcontroller).
In that scenario, the source potential visible to the load is the difference between the gate and the threshold potentials of the MOSFET. For example, when the gate and the threshold potentials are 3.3 V and 1.5 V, the potential the load sees is 1.8 V. So, to use a low-side N-channel MOSFET, we need the gate potential to be higher than the source potential, which may not always be practical. The alternative would be a hide-side switch.
P-channel high-side switch
The following schematic shows how a high-side P-channel MOSFET (M1) could switch power to a 6 V servo driven by a 3.3 V MCU.

When the microcontroller outputs low, the M2 N-channel MOSFET stops conducting. The R1 resistor pulls the gate of the M1 P-channel MOSFET up to +6 V, switching the servo off. When the microcontroller outputs high on the GPIO pin, M2’s source-drain connection starts conducting, causing M1’s gate potential to drop to 0 V, which switches on power to the servo.
N-channel high-side switch
The P-channel high-side switch would be the typical architecture for our use case. However, if we have access to a potential high enough to safely raise the gate potential above the threshold such that their difference outputs the source potential required to drive the load, we can switch on the high side using an N-channel MOSFET:

In the schematic, both M1 and M2 are N-channel MOSFETs. When the microcontroller output is low, M2 stops conducting. This causes the M1’s gate potential to rise above the threshold, turning the servo on. Conversely, a high output on the GPIO line switches M2 on, which lowers M1’s gate potential. This switches the servo off. The R2 pull-up resistor prevents the high impedance of the output pins at power-up from switching the servo on.
Both topologies require M2 to act as a level converter between circuits containing the microcontroller and the servo, converting between 0 V and +6 V or +9 V. M2 is a low-power signal converter carrying less than a milliamp of current. The gate-source threshold voltage of M2 must be lower than the MCU’s supply voltage. 2N7000, 2N7002, and BSS138 are popular choices for M2.
The D1 flyback diodes used in the two topologies safeguard the MOSFET from voltage spikes caused by inductive loads such as servos.
A BJT alternative
A Bipolar Junction Transistor (BJT) is a simpler, cheaper, and more widely available type of transistor that can be used as a switch.

In the schematic, when the MCU outputs high, Q2 starts conducting. Q2 amplifies Q1’s base current. Unlike MOSFETs, which are voltage-driven, BJTs are driven by base current. Resistors R3 and R4 must be chosen carefully to output the desired base currents. “How to choose a transistor as a switch” is an excellent guide on using BJTs as electronic switches.
Which topology to choose?
The professional community appears to prefer MOSFETs over BJTs. MOSFETs are more efficient when the switch is on. However, they are more challenging to drive, especially with a 3.3 V MCU, due to the VGS potentials required to achieve specified RDS(on) values (i.e., to turn them on fully).
N-channel MOSFETs have lower on-resistance values, making them more efficient than P-channel ones. They are also cheaper. However, they are harder to drive on the high side as their gate potential must be higher than the source potential. This often requires extra circuitry such as MOSFET drivers.