The Butterworth filter equation defines a "maximally flat" magnitude response with zero passband ripple, making it the default choice for audio crossovers, ADC anti-aliasing, and sensor signal conditioning. For an n-th order low-pass filter, the general magnitude response is governed by a single polynomial. However, in practical 2nd-order active Sallen-Key designs, this mathematical requirement forces the quality factor (Q) to exactly 0.7071 (or $1/\sqrt{2}$), which directly dictates your resistor and capacitor ratios.
Below is the complete derivation, symbol mapping, and unit-tracked calculation framework you need to move from a target cutoff frequency to a physical bill of materials.
The Core Butterworth Filter Equation and Symbol Definitions
The general magnitude response for an n-th order Butterworth low-pass filter is:
|H(jω)| = H₀ / √[1 + (ω / ωc)^(2n)]
When translating this to a physical 2nd-order active circuit (the Sallen-Key topology), we use the component-level equations for cutoff frequency (fc) and Quality Factor (Q):
fc = 1 / (2π √(R1·R2·C1·C2))
Q = √(R1·R2·C1·C2) / [R1·C1 + R2·C1 + R1·C2·(1 - K)]
For a true Butterworth response, Q must equal 0.7071. To simplify component sourcing, designers typically use a unity-gain configuration (K = 1) and set R1 = R2 = R. Substituting these into the Q equation reveals that C1 must equal 2 × C2.
| Symbol | Parameter | Standard SI Unit | Practical Unit |
|---|---|---|---|
| |H(jω)| | Magnitude response at frequency ω | V/V (Dimensionless) | dB |
| H₀ | DC / Passband gain | V/V | 1 (Unity gain) |
| ω | Angular frequency | rad/s | 2π × f |
| ωc | Cutoff angular frequency | rad/s | 2π × fc |
| n | Filter order (number of poles) | Integer | 2 (per stage) |
| fc | Cutoff frequency (-3dB point) | Hertz (Hz) | Hz, kHz |
| Q | Quality factor | Dimensionless | 0.7071 (Butterworth) |
| R1, R2 | Feedback/Input resistors | Ohms (Ω) | kΩ |
| C1, C2 | Shunt/Feedback capacitors | Farads (F) | nF, pF |
| K | Op-amp closed-loop gain | V/V | 1 (Buffer config) |
Rearranged Forms for Component Sizing
Assuming the highly practical unity-gain, equal-resistor Sallen-Key topology (K=1, R1=R2=R, C1=2C2), let C2 = C. The cutoff equation simplifies to:
fc = 1 / (2π · R · C · √2)
Here are the rearranged forms to solve for any missing variable. Keep these on your bench:
- Solving for R: R = 1 / (2π · fc · C · √2)
- Solving for C (which is C2): C = 1 / (2π · fc · R · √2)
- Solving for fc: fc = 1 / (2π · R · C · √2)
- Finding C1: C1 = 2 · C
The √2 (approx 1.4142) in the denominator is the mathematical fingerprint of the Butterworth alignment. If you forget this factor and use the standard RC formula (1/2πRC), your filter will have a Q of 0.5, resulting in a Bessel-like response with a sluggish roll-off and an actual -3dB point much lower than your target.
Worked Examples with Strict Unit Tracking
Abstract formulas fail on the bench when unit prefixes are ignored. Here are two real-world sizing problems with explicit unit tracking.
Problem 1: Audio Subwoofer Crossover at 80 Hz
Goal: Design a 2nd-order Butterworth low-pass filter with fc = 80 Hz. You have a kit of 100 nF (0.1 µF) C0G capacitors. Find R, C1, and C2.
- Assign knowns: fc = 80 Hz. Let C2 (which is C) = 100 nF = 100 × 10⁻⁹ F.
- Select formula: R = 1 / (2π · fc · C · √2)
- Substitute with base SI units:
R = 1 / (2 · 3.14159 · 80 Hz · 100 × 10⁻⁹ F · 1.4142) - Calculate denominator:
2 · 3.14159 · 80 · 1.0 × 10⁻⁷ · 1.4142 = 0.00007108 - Solve for R:
R = 1 / 0.00007108 = 14,068 Ω - Select standard part: Choose the nearest 1% E96 resistor value: 14.0 kΩ.
- Calculate C1: C1 = 2 · C2 = 2 · 100 nF = 200 nF (Use two 100 nF caps in parallel).
Problem 2: ESP32 ADC Anti-Aliasing at 15 kHz
Goal: The ESP32 SAR ADC samples at roughly 40 kHz. To prevent aliasing, we need a Butterworth filter at fc = 15 kHz. To limit thermal noise, we select R = 4.7 kΩ. Find C2 and C1.
- Assign knowns: fc = 15,000 Hz. R = 4,700 Ω.
- Select formula: C = 1 / (2π · fc · R · √2)
- Substitute with base SI units:
C = 1 / (2 · 3.14159 · 15000 · 4700 · 1.4142) - Calculate denominator:
2 · 3.14159 · 15000 · 4700 · 1.4142 = 626,389 - Solve for C (C2):
C = 1 / 626,389 = 1.596 × 10⁻⁹ F = 1.596 nF - Select standard part: Choose nearest standard C0G cap: 1.5 nF (or parallel 1.0nF + 560pF for exactness).
- Calculate C1: C1 = 2 · 1.596 nF = 3.19 nF (Select standard 3.3 nF).
When the Formula Applies (and When It Breaks)
The Butterworth filter equation assumes an ideal, linear, time-invariant system. In physical hardware, it applies perfectly only under these conditions:
- Op-Amp Gain Bandwidth Product (GBP): The op-amp's GBP must be at least 100 × fc × Q. For a 20 kHz filter, you need an op-amp with a GBP > 1.4 MHz. If the GBP is too low, the op-amp's internal phase shift destroys the Butterworth Q, causing peaking or early roll-off.
- Component Linearity: The capacitors must not exhibit voltage coefficient or microphonics.
- Parasitics: The formula ignores PCB trace capacitance and op-amp input capacitance. This is negligible at audio frequencies, but above 500 kHz, parasitic capacitance (often 2-5 pF) will shift your fc downward.
When it breaks: If you attempt to use this exact equation for a 5 MHz RF filter using standard through-hole components, lead inductance and stray capacitance will render the calculated values useless. For RF, you must use S-parameters and microwave simulation tools like Keysight ADS.
Common Unit Mistakes and Magnitude Sanity Checks
The most common reason a simulated filter fails on the breadboard is a unit prefix error. Watch for these traps:
| The Mistake | The Consequence | The Fix |
|---|---|---|
| Plugging µF directly into the formula without × 10⁻⁶ | Calculated R is 1,000,000× too small (e.g., 0.01 Ω instead of 10 kΩ) | Always convert to base Farads (F) before calculating. |
| Confusing ω (rad/s) with f (Hz) | Cutoff frequency is off by a factor of 2π (6.28×) | Use the 2π version of the formula provided above. |
| Using X7R capacitors for C1/C2 | Filter shifts under bias voltage; introduces harmonic distortion | Only use C0G/NP0 ceramics or Polypropylene film. |
Magnitude Sanity Check: What should your answer look like? For Audio (20 Hz - 20 kHz), realistic resistor values are 1 kΩ to 100 kΩ, and capacitors are 1 nF to 1 µF. For RF / High-Speed (> 1 MHz), resistors drop to 50 Ω - 600 Ω, and capacitors drop to 10 pF - 500 pF. If your audio filter calculation spits out a 2 Ω resistor and a 4,000 µF capacitor, you dropped a decimal or forgot a micro- prefix.
Decision Path: Selecting Your Filter Topology and Components
Use this decision tree to lock in your physical component choices based on your target frequency and application constraints.
| Condition / Constraint | Topology & Component Choice |
|---|---|
| IF fc < 100 Hz (Sub-bass / Seismic) | Use Multiple Feedback (MFB) topology. Sallen-Key requires impractically large capacitors at low frequencies. |
| IF 100 Hz < fc < 100 kHz (Audio / Sensor) | Use Unity-Gain Sallen-Key. Select C0G/NP0 ceramics (e.g., KEMET C1206C series) or WIMA film caps. |
| IF fc > 100 kHz (IF stages / Fast ADC) | Use Sallen-Key with high-GBP op-amp (e.g., OPA838). Drop R to 1kΩ to minimize parasitic RC time constants. |
| IF ultra-low noise is required | Avoid >50 kΩ resistors to limit Johnson-Nyquist thermal noise. Scale C up and R down. |
| IF driving a high-impedance ADC (SAR) | Add a 1st-order passive RC (e.g., 100Ω + 1nF) after the active filter to provide charge-kickback filtering. |
If you are building a general-purpose analog front-end (100 Hz to 50 kHz) and need a guaranteed flat passband, build a unity-gain Sallen-Key Butterworth filter using a Texas Instruments OPA1678 op-amp, 10 kΩ 1% metal film resistors, and C0G/NP0 ceramic capacitors. This combination provides low noise, negligible capacitor voltage coefficient, and a GBP (13 MHz) that easily supports the math without phase-shift degradation.
For automated verification of these manual calculations, cross-check your final component values using the Analog Devices Filter Wizard or consult the foundational theory at Electronics Tutorials to ensure your specific op-amp's input capacitance isn't skewing your high-frequency response.






