A low pass filter is an electronic circuit that allows low-frequency signals (and DC) to pass through while attenuating (blocking) frequencies above a specific cutoff point. In a real circuit or installation, it changes a jagged, high-frequency AC signal or digital pulse train into a smooth, steady DC voltage, or it strips high-frequency electromagnetic interference (EMI) off a clean sensor baseline. Makers commonly confuse a passive RC low pass filter with an active filter (which uses an op-amp for gain and buffering), or they accidentally build a high-pass filter by swapping the physical positions of the resistor and capacitor on the breadboard.
The Core Math: Calculating Cutoff Frequency
The most common and cost-effective way to build this circuit is using a passive RC (Resistor-Capacitor) topology. The resistor sits in series with the signal path, and the capacitor bridges the output node to ground. Think of the capacitor like a surge tank in a plumbing system: it absorbs sudden pressure spikes (high frequencies) but lets a steady, slow flow (DC) pass by.
The cutoff frequency ($f_c$) is the point where the signal's power is reduced by half, or -3dB. The formula is:
$f_c = \frac{1}{2 \pi R C}$
Let's say you are reading a 5V DC analog sensor, but your oscilloscope shows 10 kHz switching noise from a nearby buck converter. You want to set your cutoff frequency at roughly 1 kHz to kill the noise without delaying the sensor's slow-changing DC readings.
You select a standard 10 kΩ resistor. To find the capacitor:
$C = \frac{1}{2 \pi \times 10,000 \times 1,000} = 15.9 \text{ nF}$
Using a standard 15 nF (15,000 pF) capacitor, your actual cutoff frequency lands at 1061 Hz. At 10 kHz (one decade higher), the filter will attenuate the noise by roughly -20dB (90% reduction in voltage amplitude).
Step-by-Step: How to Make a Low Pass Filter on a Breadboard
Building this on a breadboard takes about three minutes, but component selection dictates whether your filter actually performs to the math. For precision analog work, avoid standard Y5V or X7R ceramic capacitors; their capacitance drops significantly under applied DC voltage. Always use C0G/NP0 dielectric ceramics or film capacitors for the timing element.
- Prepare the Components: Grab a 10 kΩ 1/4W carbon film or metal film resistor (1% tolerance) and a 15 nF C0G/NP0 ceramic capacitor.
- Wire the Resistor: Insert one leg of the resistor into the signal input rail, and the other leg into an empty, isolated breadboard row. This row is now your 'Output Node'.
- Wire the Capacitor: Insert one leg of the capacitor into the same Output Node row as the resistor's second leg. Insert the other leg of the capacitor into the ground (GND) rail.
- Connect Input and Ground: Run a jumper wire from your signal source to the input rail, and ensure your breadboard ground rail is bonded to the source's ground.
- Verify and Measure: Power the circuit. Probe the Output Node with your multimeter or oscilloscope. If measuring a noisy DC line, the voltage should now read steady, with high-frequency ripple eliminated.
Where You Meet This in Practice
You will encounter or need to design low pass filters constantly across different domains of electronics:
- PWM to DAC Conversion: Microcontrollers like the Arduino Uno or ESP32 output digital PWM (Pulse Width Modulation) waves. A low pass filter averages these pulses into a pseudo-analog DC voltage to drive analog circuits.
- Sensor Signal Conditioning: Thermocouples and load cells output tiny millivolt signals that easily pick up 50/60 Hz mains hum and RF interference. A multi-stage low pass filter cleans the baseline before the signal hits an ADC.
- Audio Crossovers: In speaker systems, an inductor-based (LC) low pass filter routes bass frequencies to the woofer while blocking treble that could damage it.
- Anti-Aliasing: Placed directly before an Analog-to-Digital Converter (ADC), it prevents high-frequency signals from folding back into your digital sampling bandwidth, a phenomenon detailed extensively in All About Circuits' filter tutorials.
Bench Scenario Walkthrough: Filtering an ESP32 PWM Signal
The Setup: You are trying to drive a 0-10V industrial motor controller using an ESP32 DevKit v1. The ESP32 outputs a 3.3V PWM signal at 5 kHz, which you pass through a non-inverting op-amp to scale it to 10V. However, the motor controller's speed is jittering wildly.
The Numbers: You probe the op-amp output with a scope and see a 10V square wave. You need a smooth DC voltage. You slap a 1 kΩ resistor and a 100 nF (0.1 µF) X7R capacitor on the output to create a filter. Your calculated cutoff is $f_c = 1591 \text{ Hz}$.
The Outcome: The scope now shows a smoothed DC level, but there is a massive 400 mV peak-to-peak ripple, and the voltage takes nearly 5 milliseconds to settle when you change the PWM duty cycle. The motor controller still jitters.
What Went Wrong: Two classic bench mistakes occurred here. First, a single-pole RC filter only rolls off at -20dB/decade. Your 5 kHz PWM carrier is only about half a decade above your 1.5 kHz cutoff, meaning you only achieved roughly -10dB of attenuation—not nearly enough to kill the carrier wave. Second, the 1 kΩ resistor is interacting with the input impedance of the motor controller, creating a voltage divider that sags your maximum voltage. Finally, the X7R capacitor exhibits microphonic and piezoelectric effects, adding its own noise.
The Fix: Drop the ESP32's PWM frequency to 500 Hz in software, pushing the carrier further away from the cutoff. Swap the X7R capacitor for a 1 µF C0G or polyester film cap to increase the attenuation at 500 Hz, and buffer the filter output with a unity-gain op-amp to eliminate the loading effect. For a deeper dive into active buffering, refer to Electronics Tutorials' guide on active filters.
Common Confusions and Mistakes to Avoid
Ignoring Source and Load Impedance: The resistor in your RC filter doesn't exist in a vacuum. It adds directly to your source's output impedance. If your microcontroller pin has a 50 Ω output impedance and you use a 100 Ω filter resistor, your total source impedance is 150 Ω. More critically, if the load you are driving has a low input impedance (e.g., 10 kΩ), it will form a voltage divider with your filter resistor, severely attenuating your signal amplitude even at DC.
Expecting Brick-Wall Cutoffs: Passive RC filters do not cut frequencies off like a cliff. The roll-off is a gentle slope of -20dB per decade (or -6dB per octave). If you need a sharp, brick-wall cutoff to separate closely spaced frequencies, you must cascade multiple RC stages or use an active topology like a Sallen-Key Butterworth filter.
FAQ: Low Pass Filter Design Questions
Q: Can I use an inductor instead of a resistor to make an LC low pass filter?
A: Yes. An LC (inductor-capacitor) filter is highly efficient because an ideal inductor has zero DC resistance, meaning you don't lose voltage across it like you do with a resistor. However, inductors are physically bulky, expensive, and can cause 'ringing' (oscillations) at the cutoff frequency if not properly damped. For low-current signal lines, stick to RC. For high-current power supply filtering, use LC.
Q: Why is my filtered DC voltage lower than my multimeter says it should be?
A: This is the loading effect. If your filter uses a 10 kΩ resistor, and the circuit you are measuring it with (or feeding it into) has an input impedance of 10 kΩ, the voltage will drop by exactly 50%. Always ensure the load impedance is at least 10x to 100x higher than your filter resistor value, or use an op-amp voltage follower as a buffer.
Q: What is the difference between a passive and an active low pass filter?
A: A passive filter uses only passive components (resistors, capacitors, inductors) and cannot amplify a signal; it can only attenuate. An active filter incorporates an active component like an operational amplifier (op-amp). Active filters can provide voltage gain, isolate the filter from the load's impedance, and easily achieve steeper roll-off slopes (like -40dB/decade) without using massive inductors.






