I'm trying to switch (just on/off) a 3.7V motor (coil resistance 2.2 Ohm) and a 6V motor (coil resistance 8 Ohm) with an arduino mini. And I have trouble finding an universal way to do so. What I know so far:

  1. there has to be a fly-back diode (D1 on schema)
  2. There are 4 possibilities for the switch

    a) relay (simplest, Arduino Uno with 12V pump: transistor or optocoupler+12V relay?)

    b) NPN transtor https://electronicsclub.info/transistorcircuits.htm

    c)(low gate voltage) MOSFET How to drive low impedance load with arduino and transistor

    d) optocoupler (see the relay link)

  3. A Low side switch is better than high side switch. High side switch and Low side switch

  4. All grounds have to be connected together (unless using an optocoupler) Does signal ground have to be connected to actual ground?

I would like to keep the component count and price to a minimum. Relays are big and expensive so I hoped a transistor would do.


  1. What components I can safely remove from the schema?
  2. What is the most important thing to get right?

I understand I need R1 to prevent a floating pin What does pulldown resistor from Arduino's output pin to ground do? Is it necessary?

I'm trying different motors to see which one works best.


In the end (after reading replies) have built the following schema:

Transistor switch schema

So the morale is points 3 and 4 are extremely important

  • 1
    \$\begingroup\$ I'd say this schematic is an example of the most convoluted way to draw it. If drawing it the logical left-to-right way, the errors in the design would have been more obvious, Can you possible remove that abomination, and replace it with the schematic you ended up using, to prevent harm to the mind of innocent aspiring electronic tinkerers :;-) \$\endgroup\$
    – Lenne
    May 7 '20 at 7:17
  • \$\begingroup\$ I think it the final schematic was something like this schematic \$\endgroup\$
    – Richard
    May 18 '20 at 11:35

A circuit is needed for current to flow into Q5 base and return. The return path is missing.

To fix this Connect Q5 emitter to arduino GND.

R1 is not needed, but does no harm.

  • \$\begingroup\$ thank you for the suggestion. I tried connecting Q5 emitter to arduino GND and indeed it opened the transistor but the current flowing to the motor was not enough to start it. My uneducated guess is that most of the current from the motor power supply was flowing to arduino GND and hence not through the motor. If this is right I should have connected the arduino GND to power supply - \$\endgroup\$
    – Richard
    Mar 27 '19 at 8:20

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.