I am new here so I apologize in advance for any mistakes in the way I am going about this. I had a question regarding a project that I am working on.

I am trying to use a MOSFET as a switch that I am able to control using the digital pins of the Arduino. The switch is meant to control a valve, so I would send HIGH to an Arduino pin and the valve would open. A diagram is below:

Diagram of circuit

Sorry if my diagram is unclear but I will try my best to explain the issue. The supply on the left is meant to represent an Arduino digital pin. The valve is an 8W 12V DC valve that has very simple operation. If its terminals are connected to a 12V DC supply, it opens otherwise it stays closed. Now in this schematic Vdd is 12V (positive terminal of supply) but when I set the Arduino pin connected to the gate to HIGH, nothing happens. I have done the exact same setup except with a LED and it works fine, I can set the pin to HIGH and the LED turns on as expected and turns off at LOW. But this is not true when I use the valve

The MOSFET model and datasheet is here: http://www.mouser.com/ds/2/149/FQU1N60C-246709.pdf

This exact same setup works with a LED. I am wondering what is the issue when I use the valve?

But was unable to use the info there to figure out the issue. I am wondering if it has something to do with the amount of current going through the valve, if that might be too low but I am not sure.

Thank you very much for all your help!

  • \$\begingroup\$ The valve is: omega.com/pptst/SV6000.html I found a similar question: electronics.stackexchange.com/questions/43201/… But I was unable to figure out the issue \$\endgroup\$ – Red Jan 28 '16 at 5:11
  • \$\begingroup\$ Use pulldown Resister 10k ohm between G \$\endgroup\$ – Photon001 Jan 28 '16 at 5:49
  • \$\begingroup\$ @Raj you are right, but you should explain why. OP should use a 10k resistor between gate and source to ensure static charge on the gate does not switch the MOSFET on when not wanted. Also, as this is an inductive load (tries to maintain current when switched off) OP should also add a reverse biased diode in parallel with the load to prevent any resulting spikes from destroying the MOSFET. However OP's present problem is caused by the fact that the on resistance of the MOSFET is too high. \$\endgroup\$ – Level River St Jan 28 '16 at 11:44
  • \$\begingroup\$ Hi, I do have a 10k ohm resistor between gate and source. I will look into adding a reverse biased diode, thank you \$\endgroup\$ – Red Jan 28 '16 at 17:43

According to the mosfet's datasheet that you linked, the mosfet has a minimum S->D resistance of 11.5ohms (at 10V G->S). That, in series with the (calculated) 18ohm load of the valve: 12/(8/12), gives only ~7.3V across the switch, which could only push ~3W of power through an 8w switch, under "best case" conditions. In order to accomplish what you're wanting, you'll need a transistor with a lower saturated resistance, or you'll at least need to parallel >=2 of your current MOSFETs in order to lower the effective resistance.

  • \$\begingroup\$ The parameter you are looking for in the datasheet is called Rds(on) \$\endgroup\$ – efox29 Jan 28 '16 at 6:49

THE link you provided shows part with vgs=10v.

Vgs means voltage required across gate terminal and source terminal in order for the fet to turn fully on. In this case it's 10v.

The arduino probably outputs 3.3v which is not enough to turn the mosfet on (3.3v is less than 10v).

Mosfet come in different varieties.

Get a logic level mosfet with a vds_on of 3.3v or less.


You are, I presume, using an Arduino at 3.3 volts. Your MOSFET has a worst-case Vgs(th) (threshold voltage) near 4 volts , and you just happen to have a FET near worst case. So your MOSFET is turning on enough to drive an LED, but not enough to drive your valve.

You should replace your FET with one rated for "logic-level" operation. This will usually operate properly with about 2 volts on the gate.

You also need to invest in a cheap DMM. Using a meter, you should be able to see the voltage across your valve increase when you try to turn it on, but not showing a full 12 volts across the winding.

With a DMM, you can also check for the possibility that your 12V supply is not able to provide enough current, so the FET is actually working OK, but the supply voltage drops, and you can't get a full 12 volts under load.

Finally, your FET is shown with a typical RDS(on) of about 3 ohms at a current of about 1 amp. This is really too high for your application, and may well be making your gate threshold problem worse. Your nominal valve resistance is about 18 ohms, so an extra 3 ohms will drop a bit under 2 volts.

EDIT - Since measurements show the FET is not turning on, you obviously need a booster on your gate drive. Assuming you want to keep "digital high turns valve on", you can use a circuit like


simulate this circuit – Schematic created using CircuitLab

Note the addition of a diode across the valve coil. This is called a flyback diode, and should always be included when switching inductive loads such as solenoid valves. It may not be absolutely necessary in this case, since you've used a 600 V FET, but it is in general a good idea. Without it, turning off the valve will produce a voltage spike which will ultimately kill the FET.

The NPN transistors are nothing special, and almost any low-power signal transistor will do. Each transistor only has to handle 12 volts and 12 mA.

  • 1
    \$\begingroup\$ Most logic level FETs really do not do more than just start to turn on with 2V on the gate relative to the source. Often with a VgsTH at 2V the FET is only specified to be conducting 250uA. To get conduction capable of handling current in the Amps range usually requires very much more voltage on the gate. So I feel it is a kind of a misrepresentation to announce that any logic level FET will work for this application. \$\endgroup\$ – Michael Karas Jan 28 '16 at 5:38
  • \$\begingroup\$ I used a DMM to check the voltage across the valve, it was approximately 3.8 V, nowhere near the 12 V needed. \$\endgroup\$ – Red Jan 28 '16 at 17:45
  • \$\begingroup\$ @Red - See edit. Also, just for completeness sake, make sure you check the 12 volt supply when the valve is being driven to make sure it's OK. \$\endgroup\$ – WhatRoughBeast Jan 28 '16 at 19:25
  • \$\begingroup\$ Pretty sure this circuit is overdesign. Just use a nfet with vgs(th) low enough for the arduino and its rated current to be able to power the valve or whatever. \$\endgroup\$ – lucas92 Jan 28 '16 at 19:48

Try this

Check for Minimum Vgs (Minimum Gate to source voltage) if it is greater than output pin of Arduino use any driver or else no Problem.

"I can set the pin to HIGH and the LED turns on as expected and turns off at LOW. But this is not true when I use the valve "

For this you have to connect 10k Pull down resister between Gate and source.

  • \$\begingroup\$ A pull-down is needed only when the GPIO does not actively drive the gate. \$\endgroup\$ – CL. Jan 28 '16 at 10:30
  • \$\begingroup\$ yes, i accept that when the GPIO doesnt drive effectively mean. He tried to turn-off the valve by giving LOW to Gate but it fails. so i have given this solution \$\endgroup\$ – Photon001 Jan 28 '16 at 10:32
  • \$\begingroup\$ @Raj, well for now I am just trying to turn the valve on, I do have a 10k from gate to ground attached (sorry, did not include in diagram) \$\endgroup\$ – Red Jan 28 '16 at 17:54

Your valve is probably inductive. When you turn off the FET, the inductance of the valve will generate a voltage spike on the drain of the FET. Without protection, this will damage the FET. A suitable FET might be PSMN1R6-40YLC.

You must add a diode across the valve (anode = drain, cathode = 12 V supply) to clamp this spike. An 1N4001 would work.

  • \$\begingroup\$ This is probably not what is preventing the valve from switching on at all, but you are right that the OP should include a flyback diode to dissipate the spike. The key point is that the inductive load will try to keep the same current flowing, at whatever voltage may be necessary to do so. \$\endgroup\$ – Level River St Jan 28 '16 at 11:37

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.