A Butterworth filter is an analog or digital signal processing circuit designed to have a maximally flat frequency response in the passband, meaning it passes all frequencies below the cutoff without any ripple or peaking. Think of it like a highway toll plaza that lets all cars under a certain speed pass through at exactly their current speed, only gradually applying brakes to the faster cars, rather than abruptly stopping them. This flat passband is critical when you need to preserve the exact amplitude relationships of your target signals while gently rolling off high-frequency noise.
What a Butterworth Filter Actually Changes in Your Circuit
When you insert a Butterworth filter into a signal chain, it alters the magnitude and phase of the frequency components. Specifically, it enforces a roll-off rate of exactly 20n dB/decade (or 6n dB/octave), where n is the filter order. Unlike a Chebyshev filter, which sacrifices passband flatness for a steeper stopband roll-off, the Butterworth prioritizes amplitude accuracy in the passband.
The magnitude response is defined by $|H(j\omega)|^2 = \frac{1}{1 + (\omega/\omega_c)^{2n}}$. At the exact cutoff frequency ($\omega = \omega_c$), the gain is always exactly -3 dB (0.707 of the input voltage), regardless of the filter order. This is a defining trait that makes cascading stages predictable.
However, what it doesn't change optimally is phase linearity. A Butterworth filter introduces non-linear phase shift (group delay) near the cutoff frequency. If you are filtering square waves or digital pulses where edge timing is critical, this phase distortion will cause ringing or edge-smearing.
Worked Numeric Example: Designing a 1 kHz Active Low-Pass Filter
Let's design a 2nd-order ($n=2$) unity-gain Sallen-Key low-pass Butterworth filter with a target cutoff frequency ($f_c$) of 1 kHz. This is the most common active topology for hobbyist and pro-audio bench builds.
- Choose the Capacitors: We need identical capacitors for a unity-gain Butterworth response. Let's select $C_1 = C_2 = 10 \text{ nF}$ (0.01 µF).
- Calculate the Resistors: For a Butterworth response with equal capacitors and unity gain, the resistors must also be equal ($R_1 = R_2 = R$). The formula simplifies to:
$R = \frac{1}{2 \pi f_c C} = \frac{1}{2 \pi \times 1000 \times 10 \times 10^{-9}} = 15,915 \, \Omega$ - Select Standard Values: The nearest standard 1% E96 resistor value is 15.8 kΩ.
- Verify Actual Cutoff: Using 15.8 kΩ, the actual cutoff shifts slightly to $f_c = \frac{1}{2 \pi \times 15800 \times 10 \times 10^{-9}} \approx 1007 \text{ Hz}$. This 0.7% deviation is well within acceptable tolerances.
- Pick the Op-Amp: For a 3.3V or 5V embedded system (like an ESP32 ADC front-end), use the Texas Instruments TLV2372. It is rail-to-rail input/output, dual-channel, and has a 3 MHz Gain-Bandwidth Product (GBWP), which is plenty of headroom for a 1 kHz filter.
Where You Meet This in Practice
You will reach for a Butterworth topology in three primary scenarios on the bench:
- Audio Crossovers and Pre-amps: Tonal balance relies on flat amplitude response. A 2nd or 4th-order Butterworth low-pass/high-pass pair ensures that the sum of the woofer and tweeter outputs remains flat across the crossover region without introducing mid-band peaks.
- ADC Anti-Aliasing: When feeding an analog sensor into a microcontroller's ADC (like the 12-bit SAR ADC on an ESP32 or an external ADS1115), you must filter out frequencies above the Nyquist limit. A Butterworth filter provides the necessary attenuation without distorting the DC and low-frequency sensor readings.
- Load Cell and Thermocouple Conditioning: These sensors output slow-moving DC signals plagued by high-frequency EMI. The maximally flat passband ensures your 0-10 Hz signal is passed with zero amplitude error, while the 60 Hz mains hum and RF noise are smoothly attenuated.
Butterworth vs. Chebyshev vs. Bessel: The Decision Path
Choosing the wrong filter approximation is a common reason for poor signal integrity. Use this decision tree to lock in your topology.
| If Your Priority Is... | Choose This Filter | Passband Trait | Stopband Trait | Concrete Part / Implementation |
|---|---|---|---|---|
| Amplitude accuracy in the passband (Audio, DC sensors) | Butterworth | Maximally flat (no ripple) | Moderate roll-off | TLV2372 in Sallen-Key topology |
| Sharpest possible cutoff for a given order (RF, strict aliasing) | Chebyshev Type I | Has ripple (e.g., 0.5 dB) | Very steep roll-off | LTC1562 (Universal active filter IC) |
| Preserving square wave edges / pulse timing (Digital comms) | Bessel | Flat group delay (linear phase) | Very slow roll-off | MAX274 (Continuous-time active filter) |
| General purpose / 'I just need to kill noise' (Default) | Butterworth | Maximally flat | Moderate roll-off | 2nd-order RC + TLV2372 buffer |
The Default Pick: If you do not have a strict requirement for linear phase (Bessel) or extreme stopband attenuation (Chebyshev/Elliptic), default to a 2nd-order Butterworth. It is the most forgiving to component tolerances, requires the fewest calculations to stabilize, and provides the best balance of noise rejection and signal fidelity for 90% of maker and commercial IoT applications.
Common Confusions and Mistakes to Avoid
Confusion: Butterworth vs. Linkwitz-Riley
Many DIY audio builders confuse these two. A Linkwitz-Riley (LR) filter is actually created by cascading two identical Butterworth filters in series (creating a 4th-order LR from two 2nd-order Butterworths). The LR alignment ensures that the outputs of the low-pass and high-pass sections sum to a perfectly flat magnitude response at the crossover point. If you are building a speaker crossover, use Linkwitz-Riley; if you are building a single-channel anti-alias filter, use Butterworth.
Mistake: Ignoring Op-Amp Gain-Bandwidth Product (GBWP)
A common bench failure is designing a 10 kHz Butterworth filter using an LM358 (GBWP ~1 MHz) and wondering why the passband droops. The rule of thumb is that your op-amp's GBWP must be at least 100 times the filter cutoff frequency for a 2nd-order stage. For a 10 kHz filter, you need an op-amp with a minimum 1 MHz GBWP. The TLV2372 (3 MHz) or OPA2134 (8 MHz) are much safer choices.
Mistake: Assuming 'Maximally Flat' Means 'Brick Wall'
The Butterworth approximation is actually the slowest rolling of the standard filter types for a given order. A 2nd-order Butterworth only attenuates by 12 dB per octave past the cutoff. If you need 40 dB of attenuation at 2 kHz for a 1 kHz cutoff, a 2nd-order Butterworth will fail you. You must either increase the order to 4th (cascading two Sallen-Key stages) or switch to a Chebyshev design.
FAQ: Real-World Implementation Questions
Can I easily build a 4th-order Butterworth on a breadboard?
Yes, by cascading two 2nd-order Sallen-Key stages. However, you cannot use the same resistor ratios for both stages. To achieve a 4th-order Butterworth response, Stage 1 must be tuned to a Q of 0.541, and Stage 2 must be tuned to a Q of 1.307. This requires calculating distinct resistor ratios for each stage. For exact values, use the Analog Devices Filter Wizard rather than doing the pole-zero math by hand.
Should I use an analog Butterworth or a digital one in my ESP32 code?
Use both. You must use a simple 1st-order analog RC low-pass filter before the ESP32's ADC pin to prevent high-frequency RF from aliasing into your digital samples (the ESP32's internal sampling switch causes charge injection spikes). Then, apply a digital Butterworth filter in your firmware using a library like ESP-DSP to cleanly extract your target signal without the thermal noise of large physical resistors.
Does the filter order affect the -3 dB cutoff point?
No. By mathematical definition, the magnitude of any Butterworth filter, regardless of order, is exactly -3 dB (half power) at the designated cutoff frequency $\omega_c$. This makes scaling and cascading highly predictable compared to other approximations.






