The Any Value Joule Thief - Single AA High Power White LED Driver





Introduction: The Any Value Joule Thief - Single AA High Power White LED Driver

This instructable will show you how to build a single  AA battery white LED driver that can deliver more 200mW, hence allowing you to use high power brighter LEDs, not those wimpy 5mm standard LED, and  it operates with an efficiency greater than 70%!

There are plenty of Joule Thief project around, but most seems to require you to coil a ferrite core transformer, a puzzling task if you are new to electronics, and offers little to learn about its workings except following terse instructions.

Hence this instructable offering a more satisfying way to build a neat useful little circuit, allowing you to calculate around the components that you might already have, to the current you want to deliver to the LED.

The uploaded image of schematic is pretty woeful, for a better capture, download joule_thief.pdf

On the first schematic, left side, is the basic design, you will need:

2 x General purpose NPN transistor (e.g. 2n4401 or 2n2222A or 2n3904)
2 x 5% tolerance 1/8W rating resistor
2 x 10% tolerance capacitors (these can be ceramic, electrolytic or polypropylene, whatever suits the value)
1 x Inductor (more on this later)
1 x Switch (SPST or if needed DPDT depending on how you want the circuit to function)
1 x AA battery holder

Some* white LEDs - use only one single diode drop (~3.3v), connect in several parallel if need to, but this circuit is not suitable for a stack of diodes, because of the limits of reverse Vbe breakdown at ~5V. 

*Using diode in parallel is not always ideal, in particular with white LED, as the forward bias voltage may not match well, hence you may get varying brightness from each of them.

Briefly, how this circuit works
  1. On powering up, with a ramping supply (0->1.2V)
  2. Transistor Q2 bias up, an increasing current is delivered through the inductor, a delta change in current maintains a voltage drop across the inductor (V = L*di/dt), this current is limited by R1 and gain up by the ßeta of Q2
  3. Q1 also get bias up but with a weaker current as there's an IR drop across R2, below Vbe of Q2, Vbe = kT/q*ln(Ic/Is) 
  4. Once the current through the inductor stops increasing, the voltage across the inductor collapses to a short to the supply rail, with the capacitive coupling of C2, this tugs the base of Q1 high, turning it hard on
  5. Q1 turning hard on shorts out C1 to Vcesat (~0.3V), this also pulls Q2 off.
  6. The current through the inductor, not ceasing (as what inductor should do) then dump its current through the LED forward bias it (~3.3v), hence the boosting action of this circuit.
  7. Meanwhile, C1 is now being charged up via R1, and when the voltage across C1 reaches the forward bias Vbe (~0.7V) of Q2, it turns on, collapsing the voltage across of the LED (turning it off) to Vcesat (~0.3V).
  8. When this happens, C2 comes into action, plunging the Vbe of Q1 below 0v, turning it off.
  9. With Q1 off, once again the current through R1 gets ßeta up with Q2 charging up the inductor current and the cycle repeats.
  10. Until the battery depletes of course...
Now for the real work, getting the values of components to drive the current needed for your white LED.

The steps below allow you to roughly calculate the value you will need, based on your choices of components
  • Let Vbatt = 1.2V

The battery voltage is based on rechargeable, but you could still use alkaline = 1.5V  

  • Decide what is the nominal current to drive you white LED

In this case I choose a nominal ILED = 300mA

  • Decide the value of inductor you can use

Now this circuit, it is possible to use any value of inductor between 1mH to 10uH, the ideal is somewhere in-between these. Chosen value is use for calculation. The inductor is usually harder to obtain in terms of correct value and often cost more than capacitors or resistor.

I choose L =  100uH, with max current rating of +30% of ILED = 390mA

You can use differential EMI power choke (those with 2 leads), the known difference between these and those meant specifically for switching DC converters, is so said that power choke tended to have distinct lossy parallel parasitic impedance and avoid the peaking in impedance at self resonance frequency.

  • Calculate the value of R1

See (2) on how this circuit works... ßeta = Icollector/Ibase of a bipolar transistor 

Let ßeta2 of Q2 = 30, Vbe2 = 0.8V, Vbatt = 1.2, ILmax = 390mA

Vbe2 = 0.8 for collector current (ILED) in hundreds of mA
Vbe2 = 0.7 for collector current (ILED) in tens of mA

The ßeta is selected at 30 because when a bipolar transistor is in saturation, its ßeta tails off and can drop as low as 10, from a nominal of 100. 

R1 = ( Vbatt  - Vbe2 ) * ßeta2 / ILmax= 30.77, round up to nearest standard value, 33 ohm.

  • Find the 'on' time of the LED, this is (6) and (7) on how this circuit works...

Inductor voltage VL = L * di/dt

VL = Vbatt - Vcesat2, di or delta i is 30% of ILED x 2  = 180mA

The reason for selecting delta i = +/- 30% of ILED is that we don't the inductor current is be discontinuous (i.e current flowing through the inductor shouldn't go to zero/terminate)
where I chose, transistor Vce saturation voltage,  Vcesat2 = 0.3V, usually this is between 0.1~0.4V, depending  on the nominal ILED you have chosen and the transistor, for collector current in tens of mA, use 0.1V,  for excess of hundreds of mA use 0.3V

Substituting  the values dt = (L * di ) / (Vbatt - Vcesat2) = (100u * 180mA) / (1.2V - 0.3V) = 20us

dt or the LED 'on' time will be 20us

  • Find C1 on schematic

R1 * C1 sets the time constant in which LED stays on, and we have previous obtain the figure 20us (dt)

So C1 charges up from Vcesat1 (of Q1) to Vbe2 (Q2 turn on at 0.7V)

Since Q1 sink a collector current of only tens of mA, let Vcesat1 = 0.1V 

C1 = -(dt / R1 )  /  ln( (Vbe2 - Vcesat1) / Vbatt )

C1 = -( 20us / 33ohm) / ln( (0.7V - 0.1V)/1.2V ) = 420nF, ideally round down to nearest standard value (ensuring the inductor never goes discontinuous) or use next closest value which is 470nF, hence I am using this.

  • Find R2 and C2

Now here's a short cut to these R2 = 100 * R1, and R1*C1 = 1.5 * R2 * C2, hence C1 = 150 * C2

So R1 = 33 ohm, R2 = 3.3kohm
And C1 = 470nF C2 = 3.13nF, rounding up or nearest closest value = 2.2nF


  • Recap of components you had work out

For ILED = 300mA:
L= 100uH
R1 = 33ohm
R2 = 3.3Kohm
C1 = 470nF
C2 = 2.2nF
Q1 and Q2 = 2n4401

  • An exercise for ILED = 50mA, wimpy 5mm LED

Chose L = 47uH, with max ILmax = 50mA + 30% = 65mA

R1 = ( Vbatt - Vbe2 ) * ßeta2 / ILmax

Let Vbatt = 1.2V, Vbe2 = 0.7V (tens of mA for ILED), ßeta2 = 30, ILmax = 65mA

R1 = 230.76ohm ~220ohm

R2 = 100 * R1 = 22Kohm

LED 'on' time dt = (L * di ) / (Vbatt - Vcesat2)

For Vcesat2 = 0.1V ( ILED is tens of mA )and di =  30% of 50mA *  2 = 30mA

dt = 1.28us

C1 = -(dt / R1 ) / ln( (Vbe2 - Vcesat1) / Vbatt ), Vbe2 = 0.7V and Vcesat1 = 0.1

C1 =  8.39nF ~ 10nF

C2 = 10nF / 150 = 66.7pF ~100pF

  • For 2AA battery operation

The 2 schematic show how you can include a boost mode, allowing you to have a switch between normal brightness and high brightness, or even some variable resistor to control the brightness.

Step 1: Construction Details

I use prototype strip board for this.

4x7 is all you need for this circuit but of course you can be more generous on your own strip board.

See photo for drawing of how to utilise the tiny 4x7 board.

Step 2: Simulation Addendum

1st simulation plot for 1AA operation, 2nd simulation plot for 2AA operation.

SPICE simulation models

.model 2N4401   NPN(Is=26.03f Xti=3 Eg=1.11 Vaf=90.7 Bf=4.292K Ne=1.244
+               Ise=26.03f Ikf=.2061 Xtb=1.5 Br=1.01 Nc=2 Isc=0 Ikr=0 Rc=.5
+               Cjc=11.01p Mjc=.3763 Vjc=.75 Fc=.5 Cje=24.07p Mje=.3641 Vje=.75
+               Tr=233.7n Tf=466.5p Itf=0 Vtf=0 Xtf=0 Rb=10)
*               Fairchild        pid=2N4400      case=TO92 *               88-09-13 bam    creation

.model PN2222A  NPN(Is=14.34f Xti=3 Eg=1.11 Vaf=74.03 Bf=255.9 Ne=1.307
+               Ise=14.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1
+               Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje=22.01p Mje=.377 Vje=.75
+               Tr=46.91n Tf=411.1p Itf=.6 Vtf=1.7 Xtf=3 Rb=10)
*               Fairchild        pid=19          case=TO92 *               88-09-07 bam    creation

+ IS=1.7448E-21
+ N=2.4195
+ RS=2.1425
+ XTI=45.900
+ EG=2.5000



    • Paper Contest 2018

      Paper Contest 2018
    • Pocket-Sized Contest

      Pocket-Sized Contest
    • Science of Cooking

      Science of Cooking

    We have a be nice policy.
    Please be positive and constructive.




    What an awesome article! Thank you for doing this. It is a great help to us newbies trying to understand the math.


    Would I be able to use a 18650 battery and replacing the Hi and Lo with a potentiometer?

    The reason for choosing those general purpose transistor are that they are widely available and cheap, often use for a lot of noddy purposes. I am sure plenty of eBay seller does them in 5s and 10s.

    Also these does continuous collector current of about 500mA, I do think they are fit for purpose, and the Vce saturation voltage (0.1 ~ 0.4) is a typical figure of the calculations, which I think should be fine.

    This circuit is fairly tolerant, the point of the exercise is to help you get to the right set of component values (with a formulaic method) that will most likely work.

    I am not worried about the inductor resistance (they are mostly not significant), most importantly is to pick something that will meet the max current, if not the inductor saturates, and that's when the circuit topples over, likely not delivering the current you had intended, LED noticeably dimmed.

    Anyway thanks for the list of other choices, most welcome! (^_^)

    Hello, Thanks for the great article.

    I enjoyed the mathematics behind the circuitry and found it to be very helpful. But I am a bit confused as to how the Inductor value of 100 uH was determined, since in your comment you suggest the Inductor value is ideal between 1mH and 10 uH? Please clarify for me. Thanks in advance


    There's nothing mysterious, it was just the value I have handy, but that said, the inductor itself is the energy storage element of this simple circuit, its value would then affect switching frequency, high value = lower switching frequency, and vice versa. The size of this inductor would then be evident of its inductor value, more turns = high inductance, for the same current carrying ability, using wire of similar gauge, hence it will be larger.

    The reason I stated a range of figure, is that, I felt the circuit itself with those commonly found hobby transistor, can handle that range easily, in short, the circuit is quite robust to any rubbish component choices.

    I am glad you enjoyed it!


    You raised a good point and this was another question I had. When designing the circuit, how did you determine the frequency. I do realize that higher frequencies means less of Inductance value and visa versa. Can I determine the frequency from the time the LED is on? since this Ton?

    Also was wondering why did you multiply by 2 to get 180mA?

    Thanks again for the great help and the circuit

    Yes, why is it 30%? I had myself puzzling for a while, I think I had it as figure of margins, the multiplication by 2 was to accommodate the peak to peak of the inductor current.Nice one!

    Thanks again for the great help. When designing the circuit, did you pick a desired frequency or did you calculate it? Is it safe to take the reciprocal of Ton to get the frequency or do u need Toff as well? In other words T = Ton + Toff. Therefore the frequency is 1/T. If this is the case, what is Toff?

    Thanks again

    I think you are missing the point, the frequency itself is not critical here, the switching frequency will not be perceptible (unless you're moving very fast with this LED circuit), for which the range of inductor you so happen to pick. If Ton is know, take the reciprocal as your guide to switching frequency.

    The calculation can be taken as a routined solution, where the end result is something that will most likely work, from your questions, I think you are taking it as exact and precise, it is not. Or for that matter, if you had understood the circuit form the explanation, there's also no reason why you can't do the calculations it an exact manner (Maybe that's for an update), for others, I hope that routine is good enough, and they can ignore the details.

    This is more like a guide to how to skip a pebble on a lake, aim low, pick the right stone, give it a go, end of day, you had fun doing so, better still learn something of value. (^_^)

    hello, thanks for sharing your work with all of us, i'd like to ask you something,is there any other element i can use instead of an inductor but that would fucntion the same way? I've been trying to get an iductor for quite sometime to make this circuit as shown but the answer I always get is " we don't have them" , Im working on a solar garden light project in which I intend to hook up 2X1 w High power Leds, my battery bank is 6V 4Ah(20HR) and most importantly my solar cell is 7v,130 mA, your advise will be greatly appreciated.thanks