Use Arduino with TIP120 transistor to control motors and high power devices

Hello again.

So you have a DC motor or lamp but no matter how you connect them to your Arduino they just won't work? Guess what, the Arduino is a brain that comes with small muscles. It can control LEDs and other low power nicknacks but not those power motors or lights you need for your next project. The Arduino is good at thinking but not for heavy lifting. Lazy lad.

There are a few add-ons out there that you can buy such as power and motor shields for your Arduino. They have all the muscles in one nice package. Slap those shields on your Arduino and you are ready to control motors and other high power stuff (some soldering may be required.)

Or you can do it yourself for a fraction of the cost and double the pleasure. Enter the TIP120 and its sidekicks.

The TIP120 is an NPN Power Darlington Transistor. It can be used with an Arduino to drive motors, turn lights on, and drive other high power gadgets.

The TIP120 acts as a power broker or gatekeeper between the Arduino realm and the high power realm composed of the PC fan and its battery pack. The Arduino can tell the TIP120 how much power to pass from the external battery pack to the PC fan but the Arduino does not share any of its power or share pins with the PC fan or its batteries. The TIP120 is the go in between.

The TIP120 has three pins. One is called Base, which we will connect to any of the Arduino PWM pins. Through the Base pin, the Arduino can tell the TIP120 how much power to supply to the motor from the external battery pack. That's it. The TIP120 does the heavy lifting while Arduino sits back and gives orders through one of its PWM pins to the TIP120 Base pin telling it how much power to pass to the motor. The poor TIP120 has to then pass the requested power from the external power to the motor based on Arduino's request.

In this tutorial, I will build a basic circuit in which I use an Arduino to control the speed of PC fan via the TIP120. You can take this basic circuit and replace the fan with other devices.

If you want to know more about Darlington transistors you can spend some time at Wikipedia http://en.wikipedia.org/wiki/Darlington_transistor It's an interesting read but you don't really need to understand it to use the TIP120. Heck I don't know what most of this stuff means.

The TIP120 is a very robust item. It can handle lots of power (see specs) but the Arduino can't. So we must protect the Arduino from potential party crashers. For starters, we use a 1K Ohm resistor between the Arduino pins and the TIP120 Base pin. This is insurance against electric shorts. The TIP120 can handle 60V and 5A but I assure you the Arduino won't.

Then we have those DC motors. The internal brushes on toy/hobby DC motors generate lots of potentially harmful sparks and stray electricity that needs to be blocked. Instead of guessing which motor is safe and which is not, we simply add a $0.20 diode and $0.10 1uF ceramic capacitor to our circuit. Some electromechanical devices such as solenoids may require different capacitors.

Placing the ceramic capacitor on the + & - poles of the motor will act as suppressor of sparks and surges generated by motor brushes, which can be harmful to your circuit.

A small ceramic capacitor in the range of .01 to 0.1 uF is probably sufficient to offer protection from hobby DC motors. But If you are using brushless motors, such as the PC fan I am using in this tutorial, don't use a capacitor.

As for the 1N4004 diode, it allows current to pass in one direction from positive to negative but will block any stray current that tries to go in the opposite direction, which might have undesirable effects on your circuit.

Unlike resistors which allow current to flow in both directions, diodes were designed to let current pass from positive into negative, not the other way around. When you look closely at those small diodes we use in our projects, you will see a ring on one end of the diode cylinder. This tough guy can block high voltage (400V) with high current (1A). Again, no need to understand all this stuff so long as you connect the circuit properly.

I am a picture person so I have lots of pictures to help me explain my point.

- TIP120 transistor (datasheet: http://www.futurlec.com/Transistors/TIP120.shtml ) $0.70
- Diode 1N4004 (datasheet: http://www.futurlec.com/Diodes/1N4004.shtml ) $0.20
- 1K Resistor (Brown, Black, Red, Gold) $0.10
- 1uF ceramic capacitor to be used with hobby DC motors $0.10
- Arduino UNO with IDE
- Breadboard
- PC fan or hobby DC motor
- 9V Alkaline or 7.2V NiMh batteries (6 X AA)
- Wires.

NOTE: I don't get commission or any perks from linking to Futurlec.com. I just like their service and prices so far.

// Define which pin to be used to communicate with Base pin of TIP120 transistor
int TIP120pin = 11; //for this project, I pick Arduino's PMW pin 11
void setup()
pinMode(TIP120pin, OUTPUT); // Set pin for output to control TIP120 Base pin
analogWrite(TIP120pin, 255); // By changing values from 0 to 255 you can control motor speed

void loop()

I must thank http://luckylarry.co.uk for his super blog.


Esan.shraideh3 months ago


You shoud use an "H Bridge" and 2 pins of the arduino, that way you can choose the polarity. And you should turn CAPS LOCK off, keeping it on is bad Internet etiquette..

i can use dc motor and don't use pc fan?

this is so stupid like a 12V fan ? really why wud anyone need to do this with a MCU ? is a over kill just stick a 9V battery to it with a switch thats it,,, NOW if your going to include some IF statements while adding some sort of sensor NOW this is a reason to use a MCU but as a stand along is just a waste of time, even a DC motor could have suffice with just a 9V a resistor and a TIP120??? hell no a Voltage regulater 7805 would have done the trick while saving voltage obvs by regulating it no need for a mcu

i included one of my mini humanoid robots and this is worth a ATTINY MCU for all this motor i have used here

LiviuC3 months ago

Hello there.

I have some issues with this project: i used all the specified parts but instead of TIP120 i have used TIP121 and instead of 1N4004 i used 1n4007.

I uploaded that program but my fan start rotatig continuously ,and if i pull de pin 11 from Arduino nothing happens.i thought it was supposed to stop .

I used that parts because i counldn't find the desired ones .

I want to rotate my fan at a specific moment.

Any ideas? thx

analogWrite(TIP120pin, 255); fan on

analogWrite(TIP120pin, 0); fan off

Obviously, that sketch sets a specific PWM value. So you won't see any variation in the fan rotating speed. Try with a loop ranging from 0 to 255 and back again to 0, with some millis between each cycle.

BasmanD1 month ago

if i dont have tip 120, which one can substitute it?

i am using this s8050 npn & it work

ahbee87844 made it!2 months ago

Hi techbitar, thank for the guide and it very simple to follow your procedure. Manage to get the project running in less than 30 mins.

1 question here : i had some voltage & current taken down. Volt on 1k ohm is 3.33v & current 3.33ma. Can you share with me why is the 1K Ohm resistor chosen & not other value?

dfshk3 months ago

Would this also work with a 3.3V Arduino Pro?

PrashantD13 months ago

Awesome, very well explained, the analogy is just pure icing for beginners.

Thank you for the instruct-able.

Hello, I'm currently working on a project with an Arduino Mega and I'm trying to incorporate what you've done on your Instructables with my project. I need to light up six LED strips but I'm having some trouble figuring out where to put each of the three wires that protrude from them and was wondering if I could get some advice from you? Any help is appreciated!

Michal_amar75 months ago
Michal_amar75 months ago
reeseg15 months ago

Hi, I just recently built a project using the ATtiny85 (rated I think somewhere between 2 to 5V). The project uses a simple code with a potentiometer to control the speed of a DC motor. Wouldn't you know it, after spending a lifetime soldering, the motor doesn't have enough torque for my needs. I had put a 5V voltage regulator in the circuit with the IC to prevent frying the thing, but now it's looking like I need a more powerful DC motor. Do you think this TIP120 will solve my problems?

A_J_S_B7 months ago

AFAIK, all normal PC fans are brushless.

Hy ! I want to ask about the fan. It's brushed or brushless fan ?

j.craigmile10 months ago

Hey, im new to arduino programming and was wondering if there was any way to use a potentiometer at the input of the arduino to alter the motor speed? Any help would be greatly appreciated thanks


Read analog on potentiometer and send that to pwm.


Short answer, no, not directly. I have been researching variable outputs with the Arduino and changing speed of an electric DC motor is not possible without additional electrical components. From what I've read we need a digital to analog converter. If anyone else can direct us to a source for guidance…thanks.

Actually, you can. Arduino (or more correctly the ATMega328) is itself a digital to analog converter: you just need to use the PWM digital pins for analog output. See: http://arduino.cc/en/Tutorial/PWM

I have found an example of what j.craigmile wants to do here:


lspike8 months ago
I need help: what transistor have to use to switch a 3,7v motor whit 3,7v battery? Unfortunately the arduino amperage is not sufficent.
LucaA8 months ago

My Test go Good in this way.

LucaA8 months ago


This is Luca from Italy.

I'm Tring this project for the first time and I thank you for the good information.

Anyway I look that the small classic RC 12V motor need at least a 50/100uF Capacitor to start without problem. If we put a capacitor less than that we will need to apply too much Potentiometer turn to give the start to the motor...

Other thing I advice to put a Diode 1N4007 or something around that between the Resistence and the Base of the TIP-120. This will really stop any back current from the TIP-120 to Arduino!

Anyway I advice to put a 1M Ohm,1/4Watt Resistor between the GND and the Anode of the Diode, a simple Pull Up to prevent strange motor behavior a cause of static electricity, hand humidity and body electricity...

Bye Boys!

SpencerD18 months ago

if i do all of this except put the capacitor on the motor what are the consequences?

avluis9 months ago
Hey there! Awesome tutorial, I learned a lot from it and love that you have plenty of pictures to follow.
I am new to Arduino and I am making a circuit of my own, I hope you have a bit of time and can help me out:
I am working on a circuit in a vehicle that is ground based (you ground the wire to activate it).
But those lines will read 12v when not grounded.
I need to turn on some factory LEDs with an Arduino (once again, I just need to ground the wire coming from the LED to activate it, that part of the circuit I cannot modify).
The Arduino will be counting button presses, acording to the number of times they were pressed, it will turn on the respective LED and toggle a relay - don't need help for this part just yet ;)
My issue arrives at the point where I want to ground those LEDs.
I am aware that I can use relays, but my project already uses a minimum of 6 relays to control 12v lines to turn on Aftermarket Heated Seats (Driver and Passenger, High, Medium and Low) and so, I do not want to use any more relays.
Can I apply a similar transistor, which instead of regulating power, will just ground one of its pins when the 5v from an output pin is set to high and that can handle 12v on that same pin when the output pin is set to low without feeding it back to the Arduino?
Is a transistor even needed for this? I just started taking electronics on my own and I can't figure out what I need just yet.
Care to lend a hand?

I was looking at the TIP 120 Darlington Transistor specification sheet and noticed that it has internal diode protection between the collector and emitter. Your diode is redundant and perhaps not necessary.

Refer to the TIP 120 specs here:
The snubbing/snubber capacitor across the motor connections is a good idea for noise suppression. I may add that it is also a good idea to wind the motor leads to suppress further emissions. Hope that helps!

Wind the motor Leads? As in twist the +/- Wires together?

I've seen this in twisted pair shielded cable, is this similar?

Yes exactly, the "twisted pair" wires are twisted together for the purposes of canceling out electromagnetic interference and crosstalk between neighboring pairs. The method was invented by Alexander Graham Bell to reduce crosstalk on telephone lines. It may be overkill in your application but if your application is near low level audio or other "input sensitive" signals, it is a good practice.
Although when you say +/- you may be refering to differential signals that expand upon this to another level as in differential amplifiers.
Eodunlade11 months ago

Hi, my name is Emmanuel.. i am currently working on this group project to that and your instructable was a great help but my problem is i need to control the dc motor by pressing a push button and i am suppose to control four dc motors with four buttons with different configurations like when you press button 1 motor 1 and motor 4 starts moving somthing like that..will be glad if you can help with the circuit and the sketch...i couldnt get the motors to respond to the button press....thanks in advance

BlueYorker1 year ago

Thank you for this great instructable!

I was able to apply this to drive a 12v LED light strip with my Raspberry Pi using a 2N3904 transistor and a 1N4002 diode I had around (to be safe), capacitor not needed. Since I am still new to electronics, it took me hours to find how to best accomplish this without frying my Pi or anything. Works great.

Mackmario1 year ago
Thanks for the instructable!
Quick question. I made a circuit like this and then I soldered it but now the transistor is getting extremely hot and allowing current continuously through what should I do
dgreer71 year ago

Apologies in advance for the slight twist on subject but have been battling to find info. I currently play with my own slot car controller circuits using a Tip35c (NPN) and Tip 36c (PNP) transistor, controlled by a simple wiper board of resistors totaling 108 ohms. Without involving the use of a PWM circuit (which the Arduino is) I would like to substitute the resistor wiper board with a hall effect device and magnet powered via a 7805, which would give me the standard 0 to 2.5 volts and which I would then like to control drive the amplifier transistor and control the 13.5 volts supply to the slot car. All circuits using the hall device work on the basis of switching, thus PWM only, the very thing I am trying to avoid. Is it feasible for the small 0 to 2.5 volt hall device to control the 13.5 v transistor with a simple non-pwm circuit? In my ignorance, I assume I am trying to covert voltage movement to resistance movement ;-)



mbrenes made it!1 year ago


lspike1 year ago

why you have choicethe TIP 120 and not the 7805 (positive) transistor?

The 7805 is a +5V 1A regulator, it takes an input voltage and outputs a stable 5V for use in your circuits. A regulator will supply a constant voltage regardless of the input (within the parameters of the device).

I'm currently working on a team project that uses the setup used here to control 12V DC fan. Instead of an actual darlington transistor, i decided to use two 2N3904 npn transistors to form the darlington transistor, and instead of the 1n4004 diode i used a 1n4148 diode (i dont think that would really matter cause both of these diodes have very similar specs and they both have the same function in the circuit). When I tested this circuit, I applied a source of 5V and 1A (not from the arduino) and the voltage drop across the dc brushless fan and the current flowing through it both went up to a maximum value, but then they both slowly and steadily started to decrease, even with the source still on. and when I turned the source off, they both started increasing slowly and steadily. Can anyone explain why this happened?

Back EMF? If I understand what you said/asked correctly, the answer is back EMF. Any motor will draw a max current when first started up. But the motor will then start generating it's own voltage which, in turn, gets fed back into itself. This causes the current draw to decrease. This process continues until the motor reaches max speed. At this point, everything is stable. Those large 240V three-phase motors use slow-blow fuses because of this. I'm actually in a motors class in college which I'm about to go to in two hours.

Thank you very much for the tutorial....
lspike1 year ago

Thz so much, i made it to control the waterpumps (9v) of my personal Garduino project an it work very well.

mrreeves1 year ago
Hello techbitar,

Thank you for the tutorial. I am curious how many 3V, 20mA LED's can be connected to a TIP120 transistor? My project consists of 500 LED's, 4 in series in parallel 125 times (4 x 125). The site http://led.linear1.org/led.wiz indicates that 2.5 A will be drawn from the array. Please let me know what you think.

Thank you,
lleão12 years ago
So my fan has 4 wires (red, black, yellow, blue) and i would like to control the speed via pwm with a potentiometer, how should I wire it? I think the blue wire is for controling the speed and the yellow is for reading rpm, so can I connect the blue one directly into an arduino pwm pin? 
makiemo2 years ago
may i know the codes for the arduino??
bluetech72 years ago
do a google image search 'h bridge' and a bunch of schematics for this appear :)
you can find a bunch of schematics using google image search ;)
bluetech72 years ago
good point Ozzie. I forgot that someone might try sending a PWM DC signal (from microcontroller) to a DC coil relay (switching the AC side). This would probably create a lot of heat and burn up the contactors quikly. But it would work fine for typical on/off long period switching.
Ozzie_G2 years ago
bluetech7 and Belleye
With the relay you would be able to ON/OFF the 24VAC.
But be aware that the relay wont switch at the PWM frequency and you will have no control over the effective current on the AC side.
bluetech72 years ago
if you use a relay with a DC coil you can control 24VAC :)
Belleye2 years ago
Could I control 24vac with this circuit?
malk4vi4n2 years ago
Thank you very much. Great instructable, it worked well on my UNO R3 for controlling a 12V 0.17A PC fan. The only downside is the noise now generated by the fan, is there anything to do about it?
bluetech72 years ago
Almost, but you'd have to add a resistor in series with your DC motor.  Because as you stated, your motor is 3v and not 9v (like the battery source you wanna use).

You said your motor was 3v 95mA, so do this... Take 9v (your battery) - .7v (the drop across the collector/emitter junction) - 3v (you want to drop across your motor) = 5.3v (remaining voltage you'll need to drop across a resistor).

What size resistor depends how much current you want to run through the circuit.  You said your motor can handle .095A (95mA), sooo take the 5.3v (you need to drop across the resistor) / .095A (the current you wanna run through your motor) = 55.79ohms.  Doing a quick google search for standard resistor values I find this nifty chart ( http://ecee.colorado.edu/~mcclurel/resistorsandcaps.pdf ) to see that a 56ohm resistor is pretty darn close to what you need.

What power rating should your resistor be?  Remember that P = I x V so, P= .095A (current through the resistor) x 5.3v (voltage across the resistor) = .5035 watts.  So a 1/2 watt 56ohm resistor is what you need.

Can't find a 1/2watt 56ohm resistor?  Well, two 120ohm in parallel to each other will probably work too.  Here's why... remember 2 equal value resistors in parallel = half the value of one of the resistors.  So, half of 120ohms is 60ohms which is close to the 56ohm resistor you need.  The 5.3v across these 2 resistors in parallel (60ohms) will limit the current to .088A ( 88mA ).  Each resistor will have half this current flowing through them, so .044A x 5.3v = .2332watts.  So two 1/4 watt 120ohm resistors in parallel will also work for you.

Thinking a little further, using a 9v battery & the resistor is kinda a waste of energy.  Here's why... you need the resistor to limit the current (through your motor).  The resistor also is a place to drop some voltage (5.3v) to limit the voltage drop across your motor to be 3v.  But remember the resistor is burning up .5035 watts of power, basically a heater wasting energy (do you need to heat something?).

Another way to go is to use two AA batteries (3V) and no resistor.  3V battery - .7v (the drop across the collector/emitter junction) leaves you 2.3v to drop across your motor.  This might just get the job done for ya, and not waste .5035 watts of power to heat up a resistor! 

In some cases, you'll need to limit current/ reduce the voltage drop across  something by adding a resistor in series (lets say in another part of your circuit you really needed the 9v), aaand you don't feel like have 2 power supplies.  In other cases, if you re-think your circuit based on your needs and trying to design a very efficient circuit, you might find you can save energy by changing your power supply to be closer to what the load (your motor) requires.
mkoerner2 years ago
Great explanation! Will I be able to use this set up to control a single 3v 95mA motor using a single 9v battery as the dedicated power source?
bluetech72 years ago
1. when diodes are connected with reverse polarity they appear as an 'open' with no current flowing thru (from end to end) of the diode.

2. in this case, notice that the diode is connected in parallel to the collector/emitter junction with cathode to collector (not emitter) so when the TIP120 NPN transistor is ON (via some base current) current will flow thru collector/emitter (and to the DC motor), but no current will flow thru the diode (remember, it is reverse polarity because the collector is more positive (facing the +5volt supply) than the emitter (facing GND)).

3. the purpose of connecting the diode this way is so that when power to the DC motor is removed (switched off) the big reverse polarity spike (from the DC motor's magnet field collapsing) doesn't hurt the transistor.

4. at the moment the power to the DC motor is removed and the big reverse polarity spike occurs, the diode will then be forward-biased (pretend you reversed the +5volts and GND for a moment) and detour all the reverse magnetic field generated current thru the diode (and not thru the transistor's collector/emitter junction) since current will take the path of least resistance. This reverse-polarity condition only lasts a second while the magnetic field collapses and the energy dissapates.  But it has enough potential sometimes to damage sensitive parts, if some protection isn't designed into the circuit.

5. to understand a diode's function, sometimes it helps to think of it as a wire (zero-ohms) when forward-biased and an 'open-circuit' (infinite-ohms) when reverse-biased.  But more precisely, when forward-biased it will drop .7volts.

I probably used toooo many words to explain this, but I hope it helps.
jobigoud2 years ago
Very nice article. The pics are very helpful.

In similar circuits, I have seen a resistor between the external power and the motor, to limit the current sent to the motor. Are you sure it is not needed here ?
jpettit2 years ago
I understand the need for the diode, I just don't understand its placement. Could you explain how reverse flow is stopped opposed to bypassing the diode? Thanks.
why is the negative side of the diode connected the collector and not to the emitter??? plsss reply....
hsteve2 years ago
Hi there,

I'm finding it hard to get discrete components (and I'm not an electronics buff).

I have an old motor speed control kit (as yet unassembled) that contains two transistors

BC639, BC640

Are either of these a substitute for the T1P120 listed here ?
dtallon2 years ago
My Uno R3 works perfectly from a 12V, 1A power supply...
Elac.2 years ago
Nice write up, very useful.
For TIP120 Taydaelectronics stocks them for $0.24 a piece.
i was going to say the same thing.
recwap2 years ago
HI, nice work!
i made somethink like this but using an optoucupler, look here: PWM Arduino
leeseibert2 years ago
I used this method in my project. Thanks for the explanation! See video of my project here: https://www.youtube.com/watch?v=aM2c6G9CHhY
studiofla3 years ago
Hey there,
many thanks for the tutorial!
I have the arduino controlling a fan (DC12V 0.14A).
the fan is being powered by a 12V 0.5A adapter.
I now need to have the Arduino run without my laptop, can I use another 12V 0.5A adapter to do this or do you have a b etter suggestion?

Many many thanks

Don't use a 12v adapter, it won't be so good for your arduino(or at least the voltage regulator) I would reccomend using a 9 v power supply of any kind.
kailash1743 years ago
I am planning to build a circuit which senses my moments(i'll use a sensor) and activates the solenoid(24v).. So can I drive this solenoid by connecting 2 9v batteries in series? And about the secuirty portion of my circuit, I am using a 1N4007 diode and NTE261 transistor along with a 2.2kOhm resistor. Is it necessary for me to use a capacitor just like you have mentioned for the above project? Kindly advice me on this. Thanks in advance!
Solenoids are basically an electromagnet, and are composed of a coil of wire with a movable metal core. When the solenoid is actuated, it generates a magnetic field that pushes the metal core in one direction. The action of the solenoid can create spikes in voltage, and you would want to protect your delicate microcontroller from those spikes. I would use a diode to keep any voltage from feeding back to the controlling circuit. There is another tutorial on controlling solenoids here> www.instructables.com/id/Controlling-solenoids-with-arduino/

Great! Now I have got this circuit working. But I'm using a PING Ultrasonic sensor and I'm having hard time controlling it with the code. Do you have any idea about how to control and make the readings precise for the Sensor? If you want, I can post my code here... Thanks for your previous reply!!!
Try starting a new thread to change the topic.
Would this work with a 24V, 120W brushed DC motor?

If not, what changes would need to be made?

If it does work, could I use a 2N3055H or TIP3055 transistor? as I cannot seem to find a TIP120 or TIP121.

Also, any type of transistor can be found via Google. The tip-121 can be bought for .39 from http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_32993_-1

Of course, you can use whatever power transistor you can get your hands on, just research it's ability to hande the power, and voltage you intend to use it with, and you should do well. A heat sink may be required for certain parts, or certain operating conditions.
Hi Chris, I believe you can use most big transistors, and yes the 2N3055, in most any case style, is one of the more commonly used pass transistors. They are called pass transistors because they are used as a way to pass high current voltage under the control of a less powerful circuit. One of the most common places to find the 2N3055 is in power supplies. It is very common to find two, or more 2N3055 transistors bolted to the back panel on many power supply designs. When a transistor is used as a pass device, most transistors will work. The differences become more restrictive when you move into amplification of frequencies, as in A/C. The typical way to control line voltage, 120 VAC, is with a Triac, but Triacs are for another discussion. The faster the frequency is, the more involved the use of transistors will be. DC is by far the easier of the two to work with. Ohms law will help you decide which parts are appropriate for any changes you would want to make to this excellent instruction. The title I would give this article is "How to use pass transistors to increase the muscle of your microcontroller."
Very good tutorial,
Just what I needed to know.

I have found however that the batteries I use to power the motor are being drained very quickly.

I am using motors taken from a handheld fan and the battery pack of 2xAA that came with it. They can run for hours on end normally but when hacked to incorporate this circuit they only last a few minutes.
Would anyone have an idea why?
ms103 years ago
are there any other transister i could use
Hi techbitar,
I am using TIP121 since I could not find TIP120. I have to run 3 motors with seperate PWM pins on arduino and seperate TIPs, but sharing the same battery source. Since a battery would not suffice powering 3 3v motors, i used a 12V 500mA wall wart.

It was going fine with 1 motor running at full RPM but as soon as the 2nd motor starts, the first one slows down and on the third one starting, all 3 are just about crawling. I tried using the circuit with just 1 TIP and motor with 9volt battery and the batter was drained in 5 minutes. I'm pretty sure the circuit is all correct. Can you please help me. Should I get a wall wart with higher amperage? Thanks!
You will probably find that the wall wart is not able to supply enough current for the 3 motors. In fact from what you describe it cannot even supply enough for 2. If you have a wall wart which can supply 12 volt and 1 amp, or better still 2 amp you will likely find it works.
Hi AntzyP,

I saw this post, and I am trying to do a system you describe here with four motors. Do you mind sharing your schematic and the wall wart you had to use to resolve your power issue?
Hi nbrown14,

I used a schematic similar to the one shown here:

you can replicate this circuit for 4 motors. I was able to run 3 motors rated at 3v using a 5V 3A wall wart. The voltage and current rating of the wall wart will depend on the motors.

My motors took about 500mA while running. They need to delivered about twice the current(due to stall currents, i.e. extra current required for starting motors up). So I took about 1A for each motor. So for 3 motors, I estimated the wall wart with 3A rating should be fine. And it did work awesomely :)

Let me know if you need any more help...

techbitar (author)  Antzy Carmasaic3 years ago
There are many possible issues with your circuit and without seeing a schematic and your motor specifications it would be difficult to pinpoint those issues that are causing the problem.
Thanks for your help. I found that the curent wasnt large enough. Using a higher current wall wart solved the problem.
Thermionic3 years ago
Great job man, I've wondering about interfacing Picaxes and motors for a while, this Instructable hit the spot!
techbitar (author)  Thermionic3 years ago
Thanks. I have a couple of PICAXE chips and I just love their versatility and ease of deployment. I have a couple of project ideas to put those ICs into action.
zanklob3 years ago

i am trying to make a 4-pin intel pc fan to work with a temperature sensor(LM335A).the fan to act according to the temperature.

i was wonderding how the schematic would be..
cjensen253 years ago
If no voltage was applied to the Base then would fan not spin (because its NPN - and gate not open?) or am I thinking of PNP - please explain if I am completely wrong!
techbitar (author)  cjensen253 years ago
The TIP120 in this project is an NPN Darlington Transistor. It's effectively two transistors in one package. Check the datasheet below. And yes we bias the base to turn on the TIP120 "switch" so the fan will get the juice it needs to work. The fan needs more voltage and current than what the Arduino pins can provide. So we use the Arduino as a controller only.

I might add an opto isolator.
techbitar (author)  Computothought3 years ago
That's a good suggestion. I have seen a few variations of this circuit to enhance protection.
Wakko3 years ago
Thank you! now is more easy to understand!!!