I am using a 40v 2amp 3300rpm DC motor for my motor control project via arduino. But i don't know what driver ic to use for driving the motor.any help would be appreciated..

  • One that can drive 40V 2A. This is what parametric searches are for on electronics suppliers - use them. If you can't find a suitable chip then you can always build your own H-bridge from MOSFETs.
    – Majenko
    Oct 4, 2015 at 11:03
  • Two minutes with a parametric search told me to use the L298N
    – Majenko
    Oct 4, 2015 at 14:09
  • Looking on eBay they are available for peanuts from China on a handy breakout board for even easier use.
    – Majenko
    Oct 4, 2015 at 14:16
  • @Majenko Can i use L298N for direction reversal as well? Oct 4, 2015 at 17:42
  • It is a pair of full H-bridges. You can use it to drive two motors in both directions independently. Note that the modules on eBay seem to be limited to 35V because of the 7805 on them. Remove that and you have the full 48V range.
    – Majenko
    Oct 4, 2015 at 17:44

1 Answer 1


I am assuming since you did not state anything differently you simply want to turn it on or off and possibly PWM to control speed of the motor. By far the easiest way is to simply use a N-Channel logic level MOSFET. Connect the Arduino pin of your choice through a 51 (1) ohm resistor to the gate of the MOSFET, also Connect a 10K (2) resistor from the same microprocessor (Arduino) pin to ground. The "Ground" low side of the 40V power supply needs to be connected to the low side of the Arduino. The low side of the 40V power supply must be connected to the source of the MOSFET.

Connect the motor from the plus side of the 40V power supply (this will be removed for testing) to the Drain of the N-Channel MOSFET. Last and very important place a diode rated at least 2 amps at 60 volts from the positive side of the poser supply (cathode of the diode, with the band) to the Drain of the MOSFET (anode, no band).

Carefully check your wiring; if it is ok you are ready to test it. The safest way is to use a led with a 510 ohm in series with the cathode on the Arduino +5 with the positive side of the 40v power supply disconnected. The anode side connects to the drain of the MOSFET. When the motor is turned on the LED will light, if it does not reverse polarity of the LED. As tempting as it might be do not leave the LED connected to the Arduino when the motor is connected. Up the value of the resistor to about 5.6K and connect it across the motor, it will light when the motor is on.

  1. This helps dampen oscillations
  2. Since the Arduino initializes with all pins as inputs this can drift high, this solves that potential problem which would cause the MOSFET to turn on.
  3. For the MOSFET you need at least 60V with a 10A rating. This should work with a small heat sink. If you go to a higher amp rating on the MOSFET it will operate cooler.

Output of Arduino goes to 10K to ground and to a 51 ohm resistor (1/8 W or larger) The other side of the resistor goes to the gate of the MOSFET. Ground of the motor power supply, the Arduino and the Source of the MOSFET are connected together. The 2A diode is connected with the cathode (no band) to the drain of the MOSFET, the cathode (band) is connected to the +40V. The motor connects from the +40 to the Drain of the MOSFET, reversing the leads will probably reverse motor direction.

Good Luck, Gil

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.