PowerElecHub

RC Snubber Calculator

Find the parasitic L and C of a ringing switch node from two frequency measurements, size the RC snubber, estimate its loss, and compare the simulated ring-down with and without it.

Parasitics

Measure f_r1 at the switch node, then place a known capacitor across the switch and measure again. A C_add that roughly halves the frequency gives the most reliable result.

Snubber and operating point

ζ = 0.5 gives R_s = Z0. R_loop only sets how long the unsnubbed ringing lasts in the simulation.

L_p · C_p

61.7 nH · 64.1 pF

f_r 80 MHz, Z0 31 Ω

R_s

31 Ω

Z0/(2ζ), ζ = 0.5

C_s

256 pF

X_Cs at f_r = 0.25·R_s

Resistor loss

295 mW

C_s·V²·f_s (½ form: 148 mW)

Simulated step response

Overshoot without snubber
97.5 %
Overshoot with snubber
35.4 %
Settling (±5 %) without
not within 500 ns
Settling (±5 %) with
14.9 ns
Lowest overshoot in sweep
26.9 Ω (34.8 %)

Snubber resistor

C_s·V²·f_s
295 mW
½·C_s·V²·f_s (TI SLVA255)
148 mW
Energy per edge ½·C_s·V²
295 nJ
X_Cs at f_r
7.76 Ω

Node voltage after a step

Overshoot versus R_s (C_s fixed)

The node is modelled as a voltage step driving L_p into C_p, which captures the parasitic resonance but not the switch's own transition. The overshoot figures compare damping, not the exact peak in the circuit. Confirm the result with a measurement after fitting the snubber.

How it works

Ringing at a switch node comes from the loop's stray inductance resonating with the capacitance at the node: the switch's output capacitance, the opposite device or diode, and the board. A single frequency measurement gives only the product L_p·C_p. Adding a known capacitor C_add across the switch and measuring again gives a second equation, and the two together give both values.

An RC branch across the node damps the resonance. When C_s is much larger than C_p, the resistor looks like a parallel load on the LC tank and the damping ratio is ζ = Z0/(2R_s), so R_s = Z0 gives ζ = 0.5. With a practical C_s of a few times C_p the capacitor's reactance at f_r is not negligible, the damping is somewhat lower, and the best resistor shifts slightly. The overshoot sweep shows where it is for your values.

C_s sets both the effectiveness and the cost. The capacitor is charged to the node voltage and discharged every cycle, so the resistor dissipates C_s·V²·f_s whatever its value. Doubling C_s doubles the loss, so C_s is kept to the smallest value that damps adequately, typically three to four times C_p. The ½·C·V²·f form in TI SLVA255 counts one edge; the tool's representative value C·V²·f_s counts both edges of a hard-switched node.

The ring-down simulation integrates the step response of L_p into C_p with and without the snubber branch, using the same RK4 routine as the LC filter calculator. A small loop resistance stands in for the losses that eventually stop the unsnubbed ringing.

Design procedure

  1. 1Measure the ringing frequency at the switch node with a probe and scope of at least twice that bandwidth and the shortest ground connection you can manage.
  2. 2Place a known capacitor across the switch, ideally one that roughly halves the frequency, and measure again.
  3. 3Compute C_p, L_p and Z0 from the two frequencies.
  4. 4Start with R_s = Z0 and C_s = 3–4·C_p, check the sweep, and round to standard values.
  5. 5Check the resistor's average power and pulse energy, choose the package with margin, and place the snubber with the tightest possible loop to the switch.
  6. 6Measure again and compare the overshoot, the ringing and the edge rate with the unsnubbed node.

Formulas

Parasitics from two measurements
C_p = C_add / ((f_r1/f_r2)² − 1), L_p = 1 / ((2π·f_r1)²·C_p)
Resonance and characteristic impedance
f_r = 1 / (2π·√(L_p·C_p)), Z0 = √(L_p / C_p)
Snubber resistor
R_s = Z0 / (2ζ) (ζ of L_p into C_p ∥ R_s for C_s ≫ C_p; R_s = Z0 → ζ = 0.5)
Snubber capacitor
C_s = n·C_p, X_Cs(f_r) / R_s = 2ζ/n
Loss in the resistor
P_R = C_s·V²·f_s (hard-switched node); TI SLVA255: P = ½·C_s·V_pk²·f_s; E_pulse = ½·C_s·V²
Ring-down simulation
V step → L_p (+ R_loop) → C_p ∥ (R_s + C_s), RK4; overshoot = v_pk/V − 1, settling to ±5 %

Worked example

Defaults: the node rings at 80 MHz, and 100 pF across the switch lowers it to 50 MHz. (f_r1/f_r2)² = 2.56, so C_p = 64.1 pF, L_p = 61.7 nH and Z0 = 31.0 Ω. With ζ = 0.5, R_s = 31.0 Ω; with n = 4, C_s = 256 pF, whose reactance at 80 MHz is 7.8 Ω, a quarter of R_s. On a 48 V half-bridge node switching at 500 kHz, the resistor dissipates C_s·V²·f_s = 0.295 W (0.148 W by the ½ form in TI SLVA255) and takes 0.30 µJ per edge. In the simulation with 0.5 Ω of loop resistance, the bare node overshoots by 97.5 % (94.8 V peak) and is still outside ±5 % after 500 ns. With the snubber the overshoot drops to 35.4 % (65.0 V) and the node settles in 14.9 ns. The sweep finds its lowest overshoot, 34.8 %, at about 26.9 Ω (0.87·Z0), so R_s = Z0 is within a point of the best. Raising n to 10 brings the overshoot down to 23.4 %, but the loss rises to 0.74 W.

Common mistakes

  • Measuring with a long ground lead. The probe loop adds inductance and rings by itself, so the frequency you read is not the circuit's.
  • Using a C_add so small that the frequency hardly moves. The parasitics then come from the difference of two nearly equal numbers and the error grows quickly.
  • Routing the snubber through long traces. Its own inductance then sits in series with R_s and C_s and the damping disappears at the ringing frequency.
  • Picking the resistor by average power alone. Every edge delivers a pulse of ½·C_s·V², and small thin-film parts can fail from repeated pulses even when the average is within rating.
  • Increasing C_s until the ringing is gone without checking the loss. The loss grows in direct proportion, and in a hard-switched converter it comes straight off the efficiency.

Frequently asked questions

Why add a capacitor just to measure?

One ringing frequency fixes only L_p·C_p; many combinations of L and C give the same frequency. A second measurement with a known extra capacitance separates them. TI SLVA255 suggests a C_add that halves the frequency, which makes C_p = C_add/3 and keeps the result insensitive to small reading errors.

Why is R_s set equal to Z0?

For a large C_s the resistor appears in parallel with C_p, and R_s = Z0 gives a damping ratio of 0.5: enough to stop the ringing within about one cycle without making the resistor so small that it shorts out the resonance. With C_s only a few times C_p the actual optimum moves a little, which is what the sweep shows.

How large should C_s be?

Large enough that its reactance at f_r is well below R_s, typically three to four times C_p, and no larger than needed, because the loss rises in proportion. In the default example, C_s = 2·C_p leaves 50.3 % overshoot, 4·C_p gives 35.4 %, and 10·C_p gives 23.4 % at two and a half times the loss.

Is the loss C·V²·f or ½·C·V²·f?

In a hard-switched node the snubber capacitor charges to V at one edge and discharges at the other, and each time about ½·C_s·V² is lost in the resistor, giving C_s·V²·f_s. TI SLVA255 writes ½·C_s·V_pk²·f_sw, which counts one edge. Both are shown so you can see the difference. In a soft-switched half-bridge the load current charges the node, so the loss is lower, and the snubber capacitor becomes part of the resonant capacitance.

How were the formulas checked?

Against the example in TI SLVA255: ringing at 217 MHz falls to about half with 300 pF added. TI takes the ratio as exactly 2, giving C_p = 100 pF, L_p = 5.4 nH and R = 7.3 Ω. Entering 217 MHz, 300 pF and 108.5 MHz gives 100 pF, 5.38 nH and 7.33 Ω; the measured 113 MHz gives 112 pF, 4.82 nH and 6.57 Ω. In the simulation, R_s = Z0 with C_s ≫ C_p gives 16.4 % overshoot against 16.3 % expected for ζ = 0.5.

Results are engineering estimates. Verify your design with datasheets, simulation and measurement.

Related calculators