How many TIP122 transistors can I connect to the Arduino digital pins? The Atmega328p datasheet states that the pins can source a total of 200 mA, while other documents state 40 mA per pin.

In the following circuit layout, I connected six TIP122 transistors with 2.2 kΩ base resistors. I used an LM338 regulator to power the Arduino IC and other functions.

circuit schematic


The TIP122 is a 100V, 5A, Hfe at least 1000, darlington NPN transistor. With the base resistor of 2k2, that is about 1 or 2 mA per pin. You don't have to worry about a few mA.

To answer your question: "How many transistor can be connected to arduino pins?", that will be about 100.

Why do you use TIP122 ? They have a voltage drop. Logic level mosfets have a very little voltage drop and thus they stay a lot cooler. Mosfets leak at a higher voltage. If you need to operate near 100V, there are IGBT transistors for that.

Make sure that the high current through the TIP122 at the emitter does not disturb the GND of the ATmega chip. You have to design your circuit board to avoid such troubles.

| improve this answer | |
  • Thank for your answers,in my design i want to switch 24v 200mA fans only. I think thisll not disturb gnd of atmega, is it right?? Or not..and what to do if ive to switch large current thru transistor?? Do you have any notes or web link of this,,plz share.. – Nikhil P Feb 20 '18 at 18:59
  • @NikhilP, I don't know a website. As far as I know, that is a common design rule. If you use a single power connector for both the atmega chip and the transistors, then you could keep those ground paths seperatated and only connect them at the connector. – Jot Feb 22 '18 at 0:00
  • Can you plz recheck my circuit diagram ,and suggest me where i can seperate ground line with atmega(highlighted line is ground line is GND line for mosfet as well as microcontroller)..Also plz check for other errors. I am new in this field dont know desiging rules.i ve uploded complete circuit diagram above. – Nikhil P Feb 24 '18 at 18:16
  • The emitter/ground current of the TIP122 can raise the ground level, and that will directly influence the working of the Atmega chip. The ground path of the Atmega chip is not going to the connector, but connects to the ground path which has the large currents from the TIP122 transistors. It will probably work. A grounding problem is more serious with high frequences. Just to be sure, I would split the ground from the connector into two paths, one for the Atmega chip and one for the TIP122 transistors. – Jot Feb 25 '18 at 14:48

"In datasheet atmega 328p total arduino pin can source 200 ma of current or some saying 40ma current per pin."

Datasheet says 200mA per VCC and GND pin. I personally confirmed that with Atmel Tech Support (before they were bought by MicroChip).

Absolute max per IO pin is 40mA, more than that and you risk damaging the pin. Further, above 20mA a High output will begin outputting lower voltage, and a Low output will begin outputting a higher voltage. See Section 32 of the latest datasheet:

"Note: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation of the device at these or other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability."

and notes 3 and 4 under table 32.2:

"If IIOH exceeds the test condition (20mA at VCC = 5V, 10mA at VCC = 3V), VOH may exceed the related specification. Pins are not guaranteed to source current greater than the listed test condition."

"If IOL exceeds the test condition (20mA at VCC = 5V, 10mA at VCC = 3V), VOL may exceed the related specification. Pins are not guaranteed to sink current greater than the listed test condition."

| improve this answer | |
  • 1
    Did you mean "outputting a a higher current"? Lower? – user31481 Feb 20 '18 at 18:50
  • I meant what I said. A higher load (more than 20mA) and a low output will start rising, and a high output will start dropping. Pretty sure that is caused by voltage created from current x Rds of the output transistors. – CrossRoads Feb 20 '18 at 19:43

I would use a N-channel MOSFET instead of the TIPwhatever. AOD514 from Digikey has really low Rds, somewhere around 0.01 ohm, and can be driven from an Arduino pin, say thru a 150 ohm resistor to protect against the gate input capacitance of the MOSFET. A 10K pulldown resistor on the gate will hold the MOSFET off until the Arduino sketch starts up and controls the pin. AOD514 is surface mount, but tab and pins are pretty good size and can be manually soldered. AOD508 and AOD510 are even lower Rds, but cost a bit more at Digikey.

| improve this answer | |

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.