First time poster and a hobby EE enthusiast here.

I want to turn on a LED array with a transistor switch and I'm having trouble with determining what will the total resistance on my transistor collector be. And without that I can't determine what should my base resistor be.

This is part of my schema, the switch will be a pin on an Arduino that can supply 5V and max 40 mA:


I got the LED array scheme from an online LED array calculator and it gave me the info that the array draws 60 mA current - from which I figured I could get the total resistance of the array with Ohms Law: 12V/0.06A = 200 Ohm. If my collector resistor is 200 Ohm that would mean that my base resistor should be 2k7 Ohm.

Is that correct? Can a treat the array as 200 Ohm resistor on the collector? Or is the total resistance the parallel of 3 resistors - 110 Ohm? Any advice or a hint in the correct way is appreciated.

Thanks, Tadija

Edit: LED Red 2.0V, 20mA

  • \$\begingroup\$ What do you mean? Add another transistor or use the existing BC547? \$\endgroup\$ Jun 24 '15 at 5:03
  • \$\begingroup\$ I got the LED array schema from a quick search online and seeing that it works I built the rest around it. Everything seems to be working as I would like right now (both with Rb ~ 10kOhm and Rb ~ 1kOhm, but I ended up using the 1 kOhm as it is closer to the given answers) and I'm in a situation where I cant afford waiting for replacement parts if anything burns. Would you mind pointing me to where can I read more about what you are proposing? The array will be turned on for 3 seconds, 5 times in 3 minutes on average btw. \$\endgroup\$ Jun 24 '15 at 5:12
  • \$\begingroup\$ electronics.stackexchange.com/questions/57845/… , ermicro.com/blog/?p=423 etc. The main idea is that the only thing you really need is to set the transistor to produce constant current. Two Rs total; no need to use the redundant resistors for LEDs current limiting. Also, for further such situations, you can consider using maximintegrated.com/en/products/power/led-drivers.html , ti.com/lsds/ti/power-management/led-driver-overview.page for more power-efficient solutions. \$\endgroup\$
    – user20088
    Jun 24 '15 at 11:50

Since LEDs drop voltage when there's current through them, and since Ohm's law states that:

$$ R = \frac{E}{I} $$

They can certainly be considered to be resistances of a particular value with a known current through them and a known voltage across them.

For instance, one of your your LEDs, with 20mA through it and 2 volts across it, will look like:

$$ R = \frac{E}{I} = \frac{2V}{0.02A} = 100 \text{ ohms}$$

Usually, though, the resistance of the LED is ignored because it's not needed to calculate the values of the ballast resistors or the transistor's base resistor.

The value of the ballast resistor is determined by:

$$ Rs = \frac{Vs - (n \ \ Vf) + Vce(sat)}{If}\text{ ohms} $$

where n is the number of LEDs, Vf is the forward voltage of one LED, Vce(sat) is the transistor's collector to emitter saturation voltage,\$If\$ is the LED forward current, and Vs is the supply voltage.

In your case that works out to:

$$ Rs = \frac{12V - (3 \times 2V) + 0.5V}{0.02A}\text{ 275 ohms} $$

The 330's you have in there will work, no problem, with the LEDs losing a little brightness.

Since there will be three series strings in parallel, the current into the transistor's collector will be 60 milliamperes. Switching transistors doing this kind of work are usually run at a forced beta of ten, which means that for 60 mA into the collector 6 mA is forced into the base.

The base-to-emitter junction of a transistor is basically a diode, so in this case it'll drop about 0.7 volts with 6 mA through it.

That means that with the Arduino supplying 5V to drive the base, about 4.3 volts of that must be dropped across a resistor with 6 mA through it so, from Ohm's law, R = E/I = 4.3V/6mA = 717 ohms. 750 ohms is a standard E24 value and will work well.


No, you cannot treat the LEDs + resistor as a 200 ohms resistor. The only valid thing you could say is that the LEDs + resistors draw 60 mA from 12 V and that a 200 ohm resistor would also draw 60 mA from 12 V. Both would use 12 V x 60 mA = 0.72 Watt

But there is no need to treat it as a resistor !

It works like this: LED current = 20 mA per LED so total LED current = 3 x 20 mA = 60 mA This 60 mA will also flow through the Collector of the transistor. The transistor has a current amplification (from Base to Collector) of 100 - 500 times, let's assume it's 100 times, then the Base current will need to be: 60 mA / 100 = 0.6 mA

Now it depends on what voltage you will apply at the switch SW1 if that is 5 V then you need to subtract the Vbe voltage of Q1, this is roughly 0.7 V so 5 V - 0.7 V = 4.3 V, this will be the voltage across R4. Now 4.3 V / 0.6 mA = 7.17 kohms !

A larger base current is OK as long as it does not get too large, like 10 mA or so. Also in practice the current gain is usually a lot more than 100. So in practice I just use R4 = 10 kohms and this circuit will work. Only for very high values of R4, like 500 kohms you might start to notice that the LEDs will become less bright.

  • \$\begingroup\$ See Spehro's answer. Turning the LEDs fully on means that the transistor must be saturated, rather than linear, so the gain must be assumed to be much smaller than you think - in the range of 10 to 20. \$\endgroup\$ Jun 23 '15 at 13:01
  • \$\begingroup\$ Well, I just build this on a breadboard using a BC548 (sorry, I had no BC547 lying around), Rc = 200 ohms, Rb = 10k ohm and I get a beta of 131. Vce is then 380 mV. If I make Rb = 1k ohm, Vce is then 100 mV and beta becomes 13. So you would gain 280 mV by driving the transistor further into saturation. My conclusion: both cases work. In my calculation the transistor is not fully saturated but close to it. If you really want low drop on your transistor: use an NMOS like 2n7000. \$\endgroup\$ Jun 23 '15 at 13:23
  • \$\begingroup\$ Also note that the beta drops BECAUSE you saturate the transistor ! If you would increase Vce, the beta would go up again no matter the value of Ib. \$\endgroup\$ Jun 23 '15 at 13:42
  • \$\begingroup\$ I was referring specifically to your statement "Also in practice the current gain is usually a lot more than 100." In your example, for a well-saturated transistor, this is not true - 13 is much less than 100, not more. \$\endgroup\$ Jun 23 '15 at 14:16
  • \$\begingroup\$ True, but I was referring to the almost saturated mode. I think it is useless to refer to beta in the saturation mode because in that mode you can make beta (Ic/Ib) anything you want by having a large Ib but keeping Vce small. In sat. mode the actual gain/beta the transistor is capable of is limited by the way you operate it (low Vce). The beta is still 100 or more, you're just not using that. Look at the curve in the other post, you see that Ic = 10 Ib. So this is measured with a beta = 10. You could measure a curve with beta = 20 or beta =100. Only Vcesat will shift. \$\endgroup\$ Jun 23 '15 at 14:33

The transistor will behave the same as if you had a 200\$\Omega\$ resistor when it is on, so the calculations below apply for your LED array or for a simple resistor.

A forced beta (Ic/Ib) of 20 or so is reasonable for a transistor like that. The BC547 is only good for absolute maximum 100mA Ic @ 25°C (and you're running it at 60mA) so you should drive the base reasonably hard for the best reliability.

Personally, I'd use something like the 2N4401 that is good for 500mA+ Ic, but the BC547 should work okay. The hFE is already tailing off above 50mA even at Tj = 25°C.

So if you have Ic/Ib = 20, then you want 3mA base current. Rb = (5V - 0.7V)/3mA = 1.4K. Since the output will be a bit less than 5V and the supply voltage might be a bit low, I'd use 1K for best reliability.

If you use too large a base resistor (especially at low ambient temperature) the transistor will have higher than a few hundred mV across it and will run warm to hot. Usually hFE will increase with temperature and the Vce will drop saving the transistor but it is best to keep closer to the datasheet specified Ic/Ib = 10 for Vce(sat) than hFE. Keep in mind that Vce(sat) is specified at Ic/Ib = 10 and hFE (min 110 at 25°C) is specified at Vce = 5V, which would make the transistor very, very hot. (5mW/K)

enter image description here


See the data sheet of this led and depending on the Q point you can find the gradient of I/V graph at that Q point.

You can then simply find the equivalent resistance by applying series and parallel equations for resistors

Hope this Helps !


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.