I'm trying to switch on and off some 15V devices from Arduino Uno digital ports (0/5V). Each port must control a group of resistive loads (lights) of a train model. There are about 10 groups of loads, and I'd like to keep simple the switching circuits. From now on I'll consider just a switching unit, a group of lights.

I want the power source (VDC) to lit my lights as much as possible when the digital port is high (5V) and let them off when it's low (0V).

My first attempt has been to use a common MOSFET, the 2N7000, with a pull-down resistor to force the lights to turn off and secure the transistor in case the load gets accidentally disconnected. R1 is high-valued compared to the load, so most of the current flows to the load, and the threshold Vgs of 2N7000 is around 2V; it looks like 5V should switch it on. I decided that each load would be composed up to 10 lights, 1'5k Ohm each, so that the 150 Ohm equivalent R would drain 100mA from VDC, below the 200mA maximum Id for the MOSFET. All grounds are common.


simulate this circuit – Schematic created using CircuitLab

So this was my short study. However, once in the field, the lights weren't that bright, and after doing some theoretical tests, I got around 3V at output node instead of the expected ~14V from power source (VDC - Vds_on)

After searching online, I found that this transistor may not be appropriate for this job, although I wouldn't consider it a "power electronics" job. I have to add that I don't need a high switching frequency; maybe about 100Hz for a software-ruled PWM fade-on/off effect, but nothing else.

Question time (most important first):

  1. How can I get the 14V at output?
  2. Is 2N7000 inappropriate (and why)? Which [family of] transistor could I use instead?
  3. Do you think the circuit is alright? Could you recommend me some securing mechanism (current) for the Arduino side?

Thank you very much!


3 Answers 3


You have an N channel MOSFET connected as a source follower. A source follower (just like an emitter follower for BJTs) can't have as it's output a voltage any higher than what is put on the gate. In fact, for a MOSFET, the source voltage will be a couple of volts less than what is on the gate - this is why you see 3V. The act of connecting your load to the source ensures that you cannot achieve full-turn-on unless the gate rises higher than 17 or 18 volts from ground. But all is not lost....

Ask yourself - what turns the FET on - answer - the gate to source voltage has to be a couple of volts or even higher on some fets. This can only mean that the fet is partially turned on.

You ought to consider grounding the source and putting the train lights in the drain. Like this: -

enter image description here

Rd is where you'd connect the lights. Now with the mosfet gate at 5V with respect to grounded source the fet turns on much better.

Another way is to use a P ch MOSFET driven from a BJT: -

enter image description here

Because the P channel FET's source is up to the positive supply, pulling the gate down to GND ensures it turns on to the lowest resistance. Don't run this circuit any higher than about 15 volts though because the maximum FET gate voltage might be limited to 15 volts - read the data sheets - a lot of mosfets are OK for +/-20 volts gate-source but some are only rated at max 12 volts.


The problem here is that you are using an N-Channel MOSFET as a high side switch.

Yes, the threshold may be 2V, but that is the voltage difference between the gate and the source. Your 5V is between the gate and ground. Between ground and the source, you have your load. So the voltage at the gate, with respect to the source, will be much less than you think.

Try it - measure the voltage between gate and source with a multimeter, see what it is.

For high side switching you should use a P-channel MOSFET, and use an NPN BJT to switch it. This is a circuit I use all over the place: enter image description here


You're getting exactly what one would expect from that circuit. You haven't made a switch, you've made a source follower (aka a common drain amplifier). We had another question along these lines recently; the answers there may help you.

To summarize, the transistor only turns on when Vgs = 2V. If Vg is 5V, that means Vs cannot be more than 3V or the transistor will turn off. To fix this, you need to ground the source. This fixes both Vg and Vs, giving Vgs = 5V. Connect your load between the drain and the 15V supply.


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.