The cutoff frequency for a low pass filter is the specific point where the output signal's power drops by half (-3 dB) compared to the input, effectively marking the boundary between passed and blocked frequencies. Below this threshold, signals pass through with minimal attenuation; above it, they are progressively suppressed. Understanding this single metric is the difference between a clean DC voltage and a noisy, ripple-ridden mess on your oscilloscope.
What the -3 dB Point Actually Changes in Your Circuit
When we say a filter "cuts off" at a specific frequency, it does not act like a brick wall. At the exact cutoff frequency ($f_c$), the output voltage drops to 70.7% ($1/\sqrt{2}$) of the input voltage. Because power is proportional to voltage squared, this 29.3% voltage drop equates to exactly a 50% reduction in power, which translates to the -3 dB marker on a Bode plot.
In a real installation or PCB layout, $f_c$ dictates the transition band. A first-order passive RC filter rolls off at -20 dB per decade (or -6 dB per octave) past this point. If you need to block a 1 MHz switching noise from a buck converter, setting $f_c$ at 100 kHz will only attenuate that noise by 20 dB (a factor of 10 in voltage). To get 40 dB of attenuation, you either need to push $f_c$ down to 10 kHz, or upgrade to a second-order active filter that drops at -40 dB/decade.
Worked Numeric Example: Smoothing ESP32 PWM to DC
Let’s look at a common maker scenario: using an ESP32 DevKit v1 to output a 5 kHz PWM signal, which we want to smooth into a steady analog DC voltage to drive a 0-10V industrial controller (via an op-amp gain stage).
The foundational formula for a first-order RC low pass filter is:
$f_c = \frac{1}{2 \pi R C}$
To effectively smooth a 5 kHz (5000 Hz) PWM square wave into DC, the rule of thumb is to set the cutoff frequency to at least one-tenth of the PWM frequency.
- Target $f_c$: 500 Hz
- Choose R: 10 kΩ (Standard value, low enough to drive an op-amp input without excessive thermal noise, high enough to limit current draw from the ESP32 GPIO).
Rearranging the formula to solve for Capacitance (C):
$C = \frac{1}{2 \pi \times R \times f_c}$
$C = \frac{1}{2 \pi \times 10,000 \times 500}$
$C = 31.83 \text{ nF}$
Since 31.83 nF is not a standard E12 capacitor value, we step up to the next common value: 33 nF. Alternatively, if we want even less ripple and don't mind a slightly slower step-response time, we can use a 100 nF capacitor.
Actual Cutoff Frequency: 159.15 Hz.
At 5 kHz, this filter will attenuate the PWM ripple by roughly 30 dB, leaving you with a very clean DC baseline.
Where You Meet This in Practice
You will encounter the need to calculate and verify $f_c$ across several distinct domains in electronics:
- PWM to DAC Smoothing: Converting digital pulse-width modulation into analog voltages for motor control or audio synthesis, as shown in the example above.
- Anti-Aliasing Filters: Placed directly before an Analog-to-Digital Converter (ADC) like the ADS1115. The filter's $f_c$ must be set below the Nyquist frequency (half the ADC sampling rate) to prevent high-frequency noise from folding back into your digital readings.
- Audio Crossovers: Directing low-frequency bass signals to a subwoofer while blocking mid and high frequencies. Here, $f_c$ is usually set between 80 Hz and 120 Hz.
- EMI/RFI Snubbers: Filtering out high-frequency radio interference on mains AC lines or DC power rails before it enters sensitive analog sensor circuitry.
Common Confusions: Cutoff vs. Roll-Off and Nyquist
When reading datasheets or application notes from sources like All About Circuits, it is easy to mix up related terminology.
Cutoff Frequency vs. Roll-Off Rate: The cutoff frequency ($f_c$) is a single, specific coordinate on the frequency axis (the -3 dB point). The roll-off rate is the slope of the filter's attenuation after
Cutoff Frequency vs. Nyquist Frequency: Nyquist applies strictly to digital sampling. It states you must sample at least twice as fast as the highest frequency in your signal. The analog low pass filter's $f_c$ is physically built to enforce the Nyquist limit by destroying any frequencies above it before they reach the digital sampler. Use this decision matrix to select the right filter architecture and specific components for your build. The most common culprit is capacitor dielectric absorption and voltage coefficient. If you used an X7R ceramic capacitor, applying a DC bias voltage can reduce its actual capacitance by 20% to 50% compared to its rated value. A 100 nF X7R cap might act like a 60 nF cap in-circuit, pushing your $f_c$ up. Switch to a C0G/NP0 dielectric or a polyester film capacitor for stable, voltage-independent capacitance. Yes. An ESP32 or ATmega328P GPIO pin has an internal output impedance (usually between 20Ω and 50Ω). In a passive RC filter, this internal resistance adds directly to your external resistor. If you use a very small external resistor (e.g., 100Ω), the 30Ω GPIO impedance will cause a massive 30% error in your cutoff frequency. Always keep your external R value at least 1 kΩ to render the source impedance mathematically insignificant. Simply cascading two identical 1st-order passive RC filters does not yield a perfect 2nd-order (-40 dB/decade) response because the second stage loads down the first stage, altering the math. To cascade passive RC stages effectively, you must buffer them with unity-gain op-amps between stages, or use a dedicated active Sallen-Key topology. For deeper reading on active filter staging, refer to the Texas Instruments Analog Engineer's Pocket Reference.Decision Tree: Picking Your Filter Topology and Parts
Application Scenario
Recommended Topology
Why It Wins
Concrete Part Pick
Microcontroller ADC anti-aliasing or PWM smoothing (High impedance load)
1st-Order Passive RC
Zero power draw, no op-amp noise floor, cheap, easy to route.
Yageo MF1/4W 10kΩ 1% Resistor + Murata GRM 100nF C0G Cap
Driving a low-impedance load (e.g., 8Ω speaker, power stage)
2nd-Order Active (Sallen-Key)
Op-amp provides low output impedance; prevents the load from altering $f_c$.
TI TLV2372 Dual Op-Amp (Rail-to-Rail, low distortion)
High-current DC power rail filtering (e.g., 12V 5A LED strip)
Passive LC (Pi or T network)
Inductor passes DC with near-zero voltage drop; resistor would overheat.
Wurth Elektronik 744774 10µH Shielded Power Inductor
Ultra-sharp audio crossover (needs >40dB/decade roll-off)
4th-Order Active (Cascaded Sallen-Key)
Provides a near brick-wall transition without the phase shift of high-order passive LC.
TI OPA1678 Audio Op-Amp + WIMA MKP Film Caps
FAQ: Real-World Filter Gotchas
Why is my measured cutoff frequency higher than my calculation?
Does the source impedance of my microcontroller GPIO affect the filter?
Can I just stack multiple RC filters to get a sharper roll-off?






