I am working on a project that requires me to control 12 solenoid valves using arduino. I find out that I can use MOSFET as a switch to turn on or off my solenoid valves. I have minimal experiance in EE field and wanted to ask if the diagram I made is a correct one for my application. Just for completeness, here is the link to the solenoid valve that I am using.

Here is the diagram enter image description here

So this diagram shows only 1 solenoid valve, but in my application there will be 12 of them. Is this a viable method for controlling my valves ?

Also if I can use MOSFET for my application, which type of MOSFET should I use ?

Thank you.

  • \$\begingroup\$ Is the DC power source 12V or 24V or +/- 12V? It seems odd that you label one wire from the power source as -12V. I expected it to be GND, but maybe I am wrong? Please clarify. \$\endgroup\$ – mkeith Jul 4 '16 at 6:00
  • \$\begingroup\$ Also, this would have to be an N-channel MOSFET. You didn't actually say anywhere. \$\endgroup\$ – mkeith Jul 4 '16 at 6:02
  • \$\begingroup\$ mkeith, I know little about electronics ( Just starting to figure things out ) so yes, the black wire from power source is the GND and the DC power source is 12V. I believe MOSFET must be N-channel, however I am not sure if it is essential or not. \$\endgroup\$ – David Karakolyan Jul 4 '16 at 6:23
  • 1
    \$\begingroup\$ @DavidKarakolyan Thumbs up and +1 for not getting discouraged by your first question being closed and posting a decent second question! Just a nitpick, diagrams are best drawn from left to right just like writing. I would draw Arduino on the left, MOSFET in the middle and the solenoid on the right. No need to fix, but keep that in mind in the future. \$\endgroup\$ – Dmitry Grigoryev Jul 4 '16 at 8:47

This should work. You may want another resistor in series with the gate (in between the MOSFET gate and processor). Maybe 1k in this application. When you pick a MOSFET make sure it is rated for Vds of more than 12V. I think 20 is enough, but I see the other answer suggested 30.

I don't know what is the IO voltage of arduino. Is it 5V? If so, well, most MOSFET's will probably be ON when gate is 5V. But if it is 3.3V, double check that the MOSFET can be fully turned on at 3.3V.

Your solenoid says the power is 4.8W. That implies a current of 400 mA at 12V. So you want a MOSFET that can handle Id of 400mA without getting hot. I would suggest that you look for a MOSFET that lists Rds at of 100mOhm or less at Vgs = 3.3V or lower (or 5V or lower if you have a 5V IO voltage).

There are lots of MOSFET's out there that can do this, and they shouldn't be terribly expensive.

The other important thing is you need to add a diode in parallel with the solenoid. This diode should be pointed so it is reverse biased when the solenoid is on. Otherwise you will blow-up your MOSFET when you turn off the solenoid.


Your MOSFET needs to have:

  • Low enough Vgs, gate threshold voltage so that your 3.3 V from the arduino will switch it.
  • High enough drain source breakdown voltage to withstand 12 V plus margin. 20 V is stretching it. 30 V should be fine.
  • Low enough RdsON, static on resistance to not heat up excessivly from the rated solenoid coil current.
  • \$\begingroup\$ 3.3V will almost surely not be enough to proper driver a mosfets. At least 5 volt is recommended for a Logic Level one. \$\endgroup\$ – matzeri Jul 4 '16 at 14:10
  • 1
    \$\begingroup\$ For low voltage MOSFETs (30 V Vds), there are plenty. See BSH103 (nxp.com/documents/data_sheet/BSH103.pdf) \$\endgroup\$ – winny Jul 4 '16 at 14:47

I recommend the MOSFET IRLZ44N, it can use at 5 Vgs and can drain 55Amps, with an Rds ON 22mOhm.

As "mkeith" tells is a good idea to add a 1k resistor between mosfet an the arduino pin, but I will change resistor between G an S form 10K to 100K.

Finally I will recomend to put a flyback diode between 12v and G, ie, in antiparallel with the selenoid.

I hope it helps,


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.