I have built a high side MOSFET driver and hooked it to an atmega328p. Having an issue with the setup, the MOSFET is not switching on completely due to the low Vgs. For this circuit the expected Vgs is around 5V, but it measures only 2.1V across the gate and source.

enter image description here

  • 1
    \$\begingroup\$ You probably want to change to IRL540, which will turn on fully with Vgs of 5V. IRF540 is barely turned with Vgc at 5V, it really wants 10V to turn on full. In either case, I would have expected to see 5V at the Gate when the NPN is off (low on its base). \$\endgroup\$
    – CrossRoads
    Nov 29, 2018 at 14:42
  • \$\begingroup\$ You can use this circuit to drive N-Channel MOSFET avrfreaks.net/sites/default/files/Bootstrapped%20Mosfet.PNG \$\endgroup\$
    – G36
    Nov 29, 2018 at 15:06

2 Answers 2


You have bumped into a very common problem. The NMOS needs a certain Vgs and and since your gate is at VCC the source must be at a much lower voltage. To have a very low drop across the NMOS (low Vds) you must "lift" the gate voltage. For example to VCC + 5 V as shown in the circuit on the left:


simulate this circuit – Schematic created using CircuitLab

An alternative that does not need an extra VCC + 5 V is to use a PMOS, see the circuit on the right. Do note that in the right PMOS circuit the PMOS is on when the NPN is off, then the input signal is low. This is inverted behavior from the NMOS circuit on the left.

You could also "flip" the PMOS circuit upside down and use an NMOS. Then the load would be between VCC and the NMOS drain meaning the circuit and the load do not share ground but they share VCC.

But the simplest solution is a single NMOS:


simulate this circuit

  • \$\begingroup\$ Thanks for the reply. Thought of using a PMOS, but due to the inversion, still prefer N-ch. In the case of first schematic, does it require an isolated supply for the additional 5V? \$\endgroup\$
    – KRP
    Nov 29, 2018 at 14:57
  • 1
    \$\begingroup\$ @KRP Depending on your load and switching rate, you could ditch the "driver" stage and just use a reasonable logic-level drive to get rid of the extra inversion. On top of that, it's a microcontroller output, usually changing polarity of a signal is pretty easy in code. \$\endgroup\$
    – W5VO
    Nov 29, 2018 at 15:08
  • \$\begingroup\$ does it require an isolated supply for the additional 5V? It can be but does not have to be. Making the extra 5 V isolated adds complexity and is not needed. Many NMOS driver chips use capacitors to make that higher voltage. \$\endgroup\$ Nov 29, 2018 at 15:18
  • \$\begingroup\$ Came across the bootstrap circuit. I'll give a try with that. Thanks for the inputs. \$\endgroup\$
    – KRP
    Nov 29, 2018 at 16:19
  • \$\begingroup\$ Is there any advantage using logic level NMOS? \$\endgroup\$
    – KRP
    Nov 29, 2018 at 16:34


If you really want to use a NMOS and not a PMOS, I would suggest to put it at the negative side(U3 to Drain, Source to ground). In other words connect the source to ground and the terminal "ground" to the drain.

This way Vgs will always be whatever you provide at the gate, assuming Source is connected to the same ground as whatever it is that controls it.

Why? An NMOS switches when the threshold Vgs is positive, which when you think about it is not optimal in your schematic. As soon as it starts conducting Vds becomes close to 0, which also means that Vgs is lower than what you expect it to be. It kind of starts acting like a voltage divider, which is not a switch.

The downside of connecting it behind the load is that U2 will always be hot. It switches the device by connecting/disconnecting ground.


A PMOS on the other hand works by conducting on when Gate is a certain amount lower than the Source voltage, which electrically is called a negative Vgs which makes it sound harder than it is. If you supply 5V to Source, a simple ground at the gate will make it turn on(Logic low in atmega328 terms). You turn it off with logic high(5v).

sidenote: PMOS has Drain and Source pins flipped

  • \$\begingroup\$ Thanks for your inputs. Was missing a diode in bootstrapping method.Now able to use a NMOS without any issue. \$\endgroup\$
    – KRP
    Nov 30, 2018 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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