I am planning to use the IR2104 half-bridge driver in a project to control the intensity of a fairly powerful LED array using the PWM output from a Raspberry Pico.

The main question I have is how to size the capacitors that are present in the IR2104's typical connection schema.

I have made a diagram of my full circuit as it is planned for now, taking into account the comments I have received so far. My computations for the capacity CB of the B capacitor are detailed at the end of this post.

planned circuit diagram

The LED panel is composed of 4 LEDs in parallel, with a power rating of 50 W at 12 V each, but this is largely overestimated as I measured the 4 LEDs to draw only 3 A all together in parallel at 12 V constant voltage. I am planning to overdrive these LEDs, but with a very finely tunable PWM (hence the two potentiometers). I might also add a thermal probe later if this works. This is just an educational project for me.

I would like to use a fairly high frequency for the PWM (the Pico has PWM between 7 Hz and 125 MHz), I am hoping I can reach 100 kHz.

I guess that the capacity of the capacitor that is connected between VCC and COM (on the left on the manufacturer's diagram, D on my diagram) is not very important as it is just a decoupling capacitor. Am I correct?

I am more unsure about the capacitor between VB and VS, that I denoted B on my schema. Does its capacity have an impact on the maximum achievable switching rate?

I am not totally sure I understand the purpose of the capacitor that I denoted C either, nor which capacity it should have.

I am planning to use an IRF3205 N-channel MOSFETs.

Main edit of this post, computation of CB

Based on the comments I received and using the formula detailed in the an answer that was suggested, since QG is 146 nC, IG is 100 nA (not sure I'm reading the right cell for this one value, I took the value of IGSS, "gate to source forward leakage"), and I'm aiming for a 100 kHz switching frequency, I compute the following:

$$C_B \ge \frac{146~\mathrm{nC} + 100~\mathrm{nA} \cdot \frac{1}{100~\mathrm{kHz}}s \cdot B}{\Delta_{V_B}}$$

where \$B\$ is the duty cycle and \$\Delta_{V_B}\$ is the acceptable voltage drop at the gate of the capacitor, which I will assume to be 0.1 as in the answer I am taking the inspiration from, which sounds reasonable because my micro-controller will output 3.3 V and the IRF3205 starts to turn on at VGS(th) = 2 V and the 3.3 V will only be the voltage applied to the gate for the first cycle if I understand correctly, before the bootstrap capacitor has had a chance to charge from the high voltage source of the load.

So the "worst case scenario" for this equation would be with \$B\$ = 1 so I should be able to determine CB with:

$$C_B \ge \frac{146~\mathrm{nC} + 100~\mathrm{nA} \cdot \frac{1}{100~\mathrm{kHz}}s}{0.1~\mathrm{V}}$$

The units in the equation are homogeneous, but the equation will give me CB in \$\frac{~\mathrm{nA} \cdot ~\mathrm{s}}{~\mathrm{V}}\$ which are just nF, so I get:

$$C_B \ge \frac{146 + \frac{100}{100000}}{0.1} = 1460.01~\mathrm{nF} \approx 1460~\mathrm{nF} = 1.46~\mathrm{\mu F}$$

Thus I am planning to use a 2.2 μF capacitor for B because that is the nearest capacitor value I have that is greater than the computed result.

Does that seem reasonable to you?

  • \$\begingroup\$ Deadtime of 650 ns will limit PWM to 100 kHz or less. Boost capacitor and diode will depend on the capacitance of the gate of the MOSFET you plan to use. \$\endgroup\$
    – PStechPaul
    Commented Feb 15, 2023 at 23:38
  • \$\begingroup\$ Thanks, I have update my question to include the link to the datasheet of the MOSFETS I'm planning to use, IRF3205's. I think 100 kHz will be plenty enough. Which figure of the datasheet should I look at to determine the capacitance? Input Capacitance C_ISS? Is it a problem if my capacitor has too high a capacitance? \$\endgroup\$
    – djfm
    Commented Feb 16, 2023 at 5:53
  • \$\begingroup\$ You should try to analyze these things yourself. A large boost capacitor will take a long time to charge up. Please provide a schematic of your circuit. \$\endgroup\$
    – PStechPaul
    Commented Feb 16, 2023 at 6:09
  • 1
    \$\begingroup\$ The LED isn't meant to be powered with 12V, the description says it has 12-15V Vf at the specified current. Why use a half bridge to short the LED? You want to turn it off very quickly to make it blink at 100kHz? \$\endgroup\$
    – bobflux
    Commented Feb 17, 2023 at 17:44
  • 2
    \$\begingroup\$ Usually you'd use just 1 FET, LED anode to VCC, FET between LED and ground, it works fine \$\endgroup\$
    – bobflux
    Commented Feb 17, 2023 at 23:48

1 Answer 1



simulate this circuit – Schematic created using CircuitLab


LED and MOSFET currents

It would be good to incorporate a form of current regulation as shown above, although you might want to add a base resistor for Q1. Easiest way to drive the LEDs is to put them from the supply to an NMOS device.

The simulation shows a current limit of about 7A, equally shared between D1 and D2. This may not be so with real components.

I realize this does not answer the OP's question, but it does provide what is IMHO a much better means of achieving their goals.

(edit) Upon reading the specs, it appears that these LED modules have their own driver modules, so external regulation may not be needed, and may interfere with PWM. And the 50W version appears to be for 36VDC.

If they do not have internal driver, then the linear current regulation proposed here will dissipate a good deal of power. With a 16V supply and 12V on the LEDs, 3A will be 12W AT 100% pwm. That can be corrected with an inductor in series with the LEDs, and a commutating diode to carry current during PWM OFF. This results in a buck converter with triangular wave in continuous conduction mode.

However, further discussion of the actual implementation of the LED driver should be done in a separate question to be posted by the OP.


simulate this circuit

That was my idea for making this a simple switching regulator, but something doesn't seem to work as I think it should. I'm dealing with some brain fog right now so I'll have to revisit this. Maybe the OP should start a new question specifically on ways to implement an efficient way to drive these LEDs.


LED current

The problem is that the square wave 50% PWM causes runaway continuous conduction mode. By using a smaller duty cycle, I was able to get good results. But further discussion and design details should be moved to a separate question, if the OP is interested in following this approach. My LTspice simulation:


  • \$\begingroup\$ Sounds good thanks! Only problem is I have to order some parts from China, so I will accept the reply once I've tested it fulfills my goal \$\endgroup\$
    – djfm
    Commented Feb 18, 2023 at 10:44
  • \$\begingroup\$ Those parts may not be the best for your application, so make sure you check the specs. \$\endgroup\$
    – PStechPaul
    Commented Feb 18, 2023 at 22:14
  • \$\begingroup\$ they seem fine, the thing is my MOSFETs have a way too high gate capacitance to be driven directly by the microcontroller so if I wanna use them I need a gate driver of some sort. I might try to make a low-side gate driver circuit as I do have appropriate NPN and PNP transistors... \$\endgroup\$
    – djfm
    Commented Feb 19, 2023 at 8:01
  • \$\begingroup\$ It looks like these modules incorporate their own driver, so external current regulation is not needed. However, according to product details, the 50V version runs on 36V. And, the internal driver will probably interfere with any attempts to use PWM dimming, especially if wide range and precision control are required. \$\endgroup\$
    – PStechPaul
    Commented Feb 19, 2023 at 21:26
  • \$\begingroup\$ where did you see actual specs for those LEDs? I did not find any. I'm pretty sure they don't have regulation as they will happily draw enough amps to burn themselves if given the chance, I tried. I will try out your circuit and report back, I received the components from China today. Let's see if my soldering skills are enough for the tiny FDN337N :) \$\endgroup\$
    – djfm
    Commented Mar 1, 2023 at 10:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.