I'm not a real expert in electronics but I'm going to start a new project that has completely captured me.

I need to drive a 12V pump with my Arduino Uno. The pump is "Dp0102" (12V, 0.7A). To power up the pump I wish to use an external switching power supply (12V - 88W) connected to a 12V relay and an optocoupler (maybe 4n35).

I was inspired by a project found on the web (Link), regarding driving a 12V fan. I would like to know whether it possible to modify and and use this circuit to drive a pump? Note that the fan's power consumption is about 1.2-1.7W but for the pump it is 8.4W. Should I use a transistor (instead of the optocoupler + 12V relay)? Can you help me choosing the right one?

  • \$\begingroup\$ What's the point of using an optocoupler with a relay as isolation comes as standard? \$\endgroup\$ Feb 1, 2015 at 22:00

2 Answers 2


The first choice to make is whether you want to switch the input to the 12 V power supply, or switch the 12 V to the pump. If the pump spends a lot of time off, then powering down everything is probably a good idea. The 12 V supply will take some idle current, which is a waste if the 12 V isn't used for long periods of time. On the other hand, if the pump is on a lot and is turned on and off a lot, it will be easier to switch the 12 V to the pump. You could then even run the microcontroller off of the 12V, perhaps even with a linear regulator if you can keep its current down.

To switch the line power into the power supply, a plain old relay would be the simplest choice. There are plenty of relays that can be controlled from 5V that are intended to switch line power. Your supply will take well under 1 A, so there will be a wide choice of relays.

To switch the 12 V power to the pump, I'd probably use a transistor as a low side switch. Since the 12 V is already isolated from the line, you can tie the - side of the 12 V supply to the processor ground and use a direct connection. Lots of stuff can switch 1 A at 12 V. Here is a simple circuit:

  • \$\begingroup\$ Hi Olin! Thank you very much for your fast and clear reply! It's fantastic. Can I ask you one more thing: What software did you use to draw your circuit?? (I'm newbie... I know!) \$\endgroup\$
    – 8bit_Biker
    Feb 13, 2013 at 14:30
  • \$\begingroup\$ @8bit: I used Eagle, exported the schematic to a image file at 600 DPI and with the monochrome option, then shrunk it 5x to post it here. Since I post schematics here a lot, I have a script that takes the raw Eagle output image and does the shrinking and converting to gray scale GIF for posting here. \$\endgroup\$ Feb 13, 2013 at 14:55

Here's a circuit you could try: -

enter image description here

The MCU drives the BJT which in turn switches-on a P channel FET. When drive is removed to the BJT, the motor switches off. The diode across the motor is to protect against back-emfs when the motor feed is removed.

A simpler (non ground referenced) circuit that can be used is this: -

enter image description here

The picture shows a 5V supply but it can run from 12V - note the diode across the motor again.

Decisions There are a couple of things you have to decide. Firstly and importantly, do you need to reverse the direction of the motor? If you do then if it is your first project in this area, maybe relays are the choice - they lend themselves for being wired as motor reverse circuits BUT, you could find an IC or circuit that performs what is known as a "H bridge". It uses transistors like relay contacts and works fine for motor reversing.

You also need to decide what your motor power requirements are so that you can pick the transistor that is able to deliver the power to your motor most efficiently without getting hot and frying.

moderator's note: This answer had arrived to this thread as a result of a merge.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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