Introduction: Transistors With Arduino (BJT) - BC547 TIP120

About: I am an engineering student and i just love doing electronic (mcu's) and programming (C,C++,JAVA) based projects.

Driving a LED from arduino is really simple & easy and ARDUINO does it well but when it comes to driving high power output devices such as 'high power led's' , 'motors' etc. then ARDUINO is not able to drive such outputs directly and to drive such kind of outputs we need a amplifier to amplify the signal and generally we use transistors to amplify the signal of arduino and drive led's or motors according to the signal of arduino and generally we use BJT's for those kind of jobs.

Step 1: Basic of Transistor

The basic is really simple the signal wire of arduino will be connected to base of the transistor and output is connected at collector and emitter is grounded and when a current will flow from arduino pin to base then there will be a current flow proportional to the base current in output wich will go through collector to emitter and called as emitter current.

Step 2: Gather Your Components


BUY BC547:





In order to drive the output first know the current requirement of your output if it requires approx 600mA current then a normal BJT will do the job but when it comes to drive high power ouput devices such as high power led which requires about 1A current then you have to go for Darlington Pair NPN BJT Transistors.

NPN Transistor-

Darlington - TIP 120-

other components required-



Power supply


Resistor 1k

High power LED /Motor as a output


Step 3: Circuit

connect transistor to the arduino as shown in schmatics and if having problem then refer video.

So when digital pin of arduino outputs a signal which is connected to base of transistor by a resistor , then there will be a current flow towards the base from arduino is called as base current and proportional to that there will be a current flow from collector to emitter which results turning ON the output.

Step 4: Final Step

so finally we learnt how to use transistors with Arduino so experiment with different Transistors and different output loads and let me know it in comments.