I have a setup where I need to control a solenoid-valve via a microcontroller. The solenoid-valve needs a 50ms \$\pm\$6V with around 250mA to OPEN and another 50ms pulse of now inverted \$\mp\$6V to CLOSE again.

My idea was to use a MOSFET 2N/2P-CH array (TC8220K6-G). Attached the idea of my circuit.

Now I know, that solenoid do kick-back voltage due to their inductance and one should use a flyback diode. The problem is, that in my case I would need to put 2 Diodes in each direction which would result in a short circuit.

Any idea how to deal with this problem? Or has someone a better idea to control such pulse valve?



2 Answers 2


I think I found the solution in using a TVS-Diode. Its basically two back-facing Zener diodes that will only let current flow if a certain threshold voltage is reached. Since I need 6V for the solenoids, I can take a TVS-Diode rated at 7V so only the kick-back voltage will be absorbed.

Also in another thread, I found that using a H-Bridge motor controller (BD6221F-E2) might be a better choice then the MOSFET Array. You can invert the voltage output by using the forward vs. reverse pin of the motor controller.


There is no need to do anything regarding the reverse voltage surge. Since when the solenoid is non active, both p-channel mosfets are conducting. So, it is as if there is low resistance connected in parallel to the solenoid. So, the voltage surge is drained through that low resistance.


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.