Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Running a motor with arduino

Not open for further replies.


Newbie level 3
Jun 20, 2015
Reaction score
Trophy points
Activity points
Im looking to programme a 12v motor to turn on for 1-2 several times a day (mains powered)
Im a complete novice so I looked it up and found an Arduino for dummies guide. It seems straight forward but it doesn't specify what kind of diode or transistor is to be used.
Can anyone please advise?
Many thanks

Hi. Maybe post a link to, or an image/schematic of, the motor circuit you wish to use, it's hard to give a precise answer otherwise perhaps as there are so many variations.

These are just very basic rules of thumb: If the motor is 12V, then any transistor rated - at the very least and not recommendable - over 12V constant operation, but it'll maybe get hot quickly and so in my little opinion rated at least 2 -3 times the motor voltage and that can handle at least an equal amount of current as the motor needs when running. Transistor datasheets should show the constant current possible and (let's call it) peak momentary current - bear in mind motors draw a lot of current at start-up, and I guess the diode is for back emf.

The diode is also hard to answer without knowing the motor specs other than arduino signal (I also guess that is 3.3V max.) + 12V, but maybe something as simple as the 1N4007 rectifier diode would be ample, so long as you have no need for high speed switching. I know the 1N4148 high speed switching diode can come in a 400mA version, but I'd derate that to half, i.e. 200mA max. I like derating, amongst other things the components last longer.

I'm not a good designer to follow as I'm a hobby learner, and everyone has their own "do it this way" manner of making circuits work, but to derate I'm sometimes happier to use 60V, 4A constant current BJTs for 200mA loads than a supposed 800mA transistor..., that way you avoid the need for a heat-sink, and as I said, the component should last a lot longer.

If the motor is low current (50mA), you can save yourself work and use a half h-bridge IC, the L293D is one I know, and other people will know far more powerful ones - those drivers/ICs appear in threads here as IRxxxx (e.g. IR1550 - don't know if that specific number exists, but that's the format) a lot of the time. These devices can be harder to get working right, whereas a single transistor + díode for a uni-directional motor is quick and simple to get working.

You could use a MOSFET, and skip the protection diode, e.g. ZVN4206, it can be used to interface between driver circuits and motors.

- - - Updated - - -

Sorry, but re-reading your post, something is not very clear: Just noticed, "mains powered motor"? Is the motor AC or DC? - if AC then you may need a relay - either mechanical or solid state. Where does the 12V come from - is it the mains supply? If so then you would need an appropriate transformer to reduce the 220V to 12VAC, or if it is DC, which I'm assuming, then any AC-DC wall adapter is the simplest option...

Hi, thanks for the link, and for clarifying it's a 12V DC adapter. You can use virtually any transistor or diode for a 50mA motor.

For the diode anything like the 1N4148 switching (200mA), or the 1N4001 - 1N4007 rectifier types (1A) is fine.

As the motor is 12V x 0.05A = 0.6W, then I'd select a transistor a reasonable way above that rating, especially as they create surges at turn on (and not relevant if using the freewheeling diode - but also at turn off), for your circuit I do not recommend devices like the BC547, but you can use something like the 2N2222A (0.625W max.) if the motor is only on for short periods of time. I have ancient power transistors, like the BSD313, so consider this pdf as orientative as to what isn't a bad idea to select re derating, and avoiding needing a heat-sink:

View attachment BJT NPN D313.pdf

Any NPN BJT inbetween a 2N2222A to something like the 313 is fine.

You can add a small (cheap) ceramic capacitor, 0.1uF (= 100nF = the famous 104 capacitor), or even a 1uF ceramic (non-polarised) rated at 30V let's say, across the motor terminals, in the same place as the diode in the dummies page schematic, it helps smooth motor turn-on.

Not open for further replies.

Part and Inventory Search

Welcome to