I'm a beginner. I'm designing a battery powered LED flashlight with a dimmer. The flashlight will have 3 LEDs and the dimmer will be controlled by a PWM signal generated by a 555. The circuit is powered by 2 AA batteries (3V).

This is the LED part of the circuit:


simulate this circuit – Schematic created using CircuitLab

So, my calculation is this: I'm applying a 3V signal through a 12k resistor, so the current being applied in the transistor base is 0,25mA. Since the 2N3904 (Q1) has a max hFE of 300, the current being sunk by the transistor is 75 mA. This current will be divided between the three LEDs, 25mA for each one, which is the rated current for this LED.

So, my questions are:

  1. Are my calculations correct? Is my circuit correct?
  2. This transistor has a hFE value between 100 and 300. I'm using 300 to be on the safe side. Is this correct?
  3. Am I at risk of destroying the transistor or the LEDs? If one LED burns, the current will be then divided between the other two (38 mA each)?
  4. Is this the most efficient way of powering these LEDs?
  • 1
    \$\begingroup\$ Main problem: hFE is VERY unpredictable, it is unusable as a means to control the current through the LEDs. \$\endgroup\$ Dec 18, 2015 at 13:51
  • \$\begingroup\$ Why is this question being downvoted? \$\endgroup\$ Dec 18, 2015 at 16:17
  • 2
    \$\begingroup\$ I don't see any reason for this being down voted. Fits all requirements. Good Grief ! Maybe I can offset that down vote. \$\endgroup\$
    – Marla
    Dec 18, 2015 at 16:42
  • 1
    \$\begingroup\$ It's a good enough question so +1 from me :-) \$\endgroup\$ Dec 18, 2015 at 20:14

2 Answers 2


You are going to kill the LEDs - LEDs are controlled with current and you are placing 3V across a bunch in parallel. Look at this: -

enter image description here

With 2V across this "typical" LED you get 20mA through it but at 3V it's off-the-scale. You need a series current limiting resistor for each LED.

Current will not divide equally between each LED because of tiny differences in the forward voltage characteristic. Look at the graph above; if one LED required 2.1 volts to draw 20mA and another need 2.0 volts to take 20mA, most of the current will be taken by the 2nd LED.

See also this closely related Q&A

EDIT - Regarding the transistor hFE, you might be thinking that a certain base current will always cause a certain collector current to flow and this is commonly the case when the transistor is in its active region: -

enter image description here

The active region is the area in the graph above where the collector current has a fairly flat slope and it can be seen that collector current is proportional to base current. However, you need to operate the transistor as a switch because you can't easily control current accurately into an LED. As mentioned above, it is the use of a resistor that controls the current into a simple LED circuit.

So, when operated as a switch, the BJT is "saturated" and the part of the characteristic it uses is close to 0V on the x-axis - now the slopes of collector current and CE voltage are very high and this is called the linear region - basically if you double CE voltage you double collector current - it's a resistor. You could look at that graph and with a base current of (say) 5 mA the collector current is 500 mA with 5V applied - this ratio is largely the case when 2.5 volts are applied i.e. collector current halves.

This implies it has a resistance of ~5V/500mA = ~10 ohms i.e. it is a switch but with 10 ohm contact resistance!

  • 1
    \$\begingroup\$ You would also normally design for the minimum hfe not the maximum - in the case hfe is only 100 you would only have 25mA current for the LED's - if this did divide equally they would all be quite dim. Design the transistor to be in saturation in the worst case and set the current with series resistors as per AndyAka's answer \$\endgroup\$
    – Icy
    Dec 18, 2015 at 11:23
  • 1
    \$\begingroup\$ @Icy yeah I forgot that bit!! \$\endgroup\$
    – Andy aka
    Dec 18, 2015 at 11:41
  • \$\begingroup\$ So what would be the correct circuit? \$\endgroup\$
    – shinzou
    Jun 19, 2018 at 8:27
  • \$\begingroup\$ @shinzou it depends on the LEDs, the power supply and the control signal entirely. \$\endgroup\$
    – Andy aka
    Jun 19, 2018 at 8:39
  • \$\begingroup\$ 5V pwm pin from an arduino and cheap regular 3mm leds and 2N3904? \$\endgroup\$
    – shinzou
    Jun 19, 2018 at 12:00

Voltage of LEDs are different, some LEDs work with 3 Volt and some work 2V. If you use Led with Vf=3V then your circuit able to do your order but it is better you change Rb from 12K to 6-9K, to be sure the transistor in saturation area. Curve of V-I of a 3V Led

Curve of V-I of a 3V Led

If your LEDs are 2V, you must to put a diode between battery and lEDs. As follow: enter image description here

  • \$\begingroup\$ This design will not ensure you get the same current through all the LED's - one will end up taking significantly more than the others - until it fails. see Andy Aka's answer. ALSO the OP was intending to set the current limit using the transistor hfe - you have taken away this limit. \$\endgroup\$
    – Icy
    Dec 18, 2015 at 13:07
  • \$\begingroup\$ Adding a diode in series with the LEDs only makes things worse :-( Only a resistor or any other form of current control (but not through the unpredictable Hfe of a transistor !!!!) will solve the problem. \$\endgroup\$ Dec 18, 2015 at 13:50

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.