RC Circuits

An RC circuit pairs a resistor and capacitor to create frequency-dependent behaviour. The combination shows up everywhere — filters, timing circuits, oscillators, coupling networks, debounce circuits, ADC input conditioning. Understanding how RC circuits work means understanding a large chunk of practical analog electronics, because these two components together produce the most common building blocks in signal processing.

The Time Constant

τ = R × C    (seconds, when R is in ohms and C in farads)

τ (tau) is the characteristic speed of the circuit. After one time constant:

TimeCharging (% of final V)Discharging (% of initial V)
0.5τ39.3%60.7%
63.2%36.8%
86.5%13.5%
95.0%5.0%
99.3%0.7% — fully charged/discharged
Charging:    V(t) = V₀ × (1 - e^(-t/τ))
Discharging: V(t) = V₀ × e^(-t/τ)
RC Time Constant Curves Graph showing the universal RC charge and discharge curves over five time constants (τ). 100% 0% Charging Discharging
The universal RC charge and discharge curves. After 1τ, the capacitor reaches 63.2% of its final voltage. By 5τ, it is practically at 100%.

Component Values and Time Constants

RCτ5τ (fully charged)Typical use
1 kΩ100 nF100 µs500 µsRF bypass, debounce pre-filter
10 kΩ100 nF1 ms5 msDebounce, audio coupling
10 kΩ10 µF100 ms500 msPower-on delay, slow timing
100 kΩ100 µF10 s50 sLong timers, auto power-off
1 MΩ1 µF1 s5 s555 timer, slow oscillators

As a Low-Pass Filter

In a low-pass configuration, the resistor is in series with the signal and the capacitor shunts to ground. High frequencies are shorted to ground through the capacitor.

Cutoff frequency: f_c = 1 / (2π × R × C)
At f_c: Vout = Vin × 0.707 (−3dB)
Below f_c: signal passes with minimal attenuation
Above f_c: signal attenuated at −20dB/decade

As a High-Pass Filter

By swapping the components, the capacitor blocks DC and low frequencies, while the resistor provides a path to ground. High frequencies pass through the capacitor.

Same cutoff formula: f_c = 1 / (2π × R × C)
Below f_c: attenuated (DC blocked completely)
Above f_c: signal passes
Low-pass and High-pass RC Topologies Schematic diagrams of an RC low-pass filter (resistor in series, capacitor to ground) and high-pass filter (capacitor in series, resistor to ground). Low-Pass Filter Vin R Vout C High-Pass Filter Vin C Vout R
Swapping the resistor and capacitor changes the circuit from a low-pass filter (which shunts high frequencies to ground) to a high-pass filter (which blocks DC and low frequencies).

Cutoff Frequency Design Table

Target f_cRC (calculated)C (standard)Actual f_c
20 Hz (audio low)100 kΩ79.6 nF82 nF19.4 Hz
1 kHz10 kΩ15.9 nF15 nF1.06 kHz
3.4 kHz (telephony)4.7 kΩ9.97 nF10 nF3.39 kHz
20 kHz (audio high)1 kΩ7.96 nF8.2 nF19.4 kHz
1 MHz (RF bypass)50 Ω3.18 nF3.3 nF964 kHz

Impedance and Loading

The output impedance of a passive RC filter is not zero — it's the parallel combination of R and X_C at the output frequency. This matters when cascading stages:

Low-pass output impedance at DC: R (the series resistor)
At f_c: R ∥ X_C = R/√2 ≈ 0.707R

If the next stage loads the output (low input impedance),
it forms a voltage divider with R and shifts the actual cutoff.

Rule: next stage input impedance should be ≥ 10× the filter's R

This is the biggest argument for active filters (op-amp based) — they buffer the RC network, giving near-zero output impedance and infinite input impedance.

Second-Order RC Filter (Two Stages)

Two cascaded RC low-pass stages:
Two-Stage Passive RC Filter Two cascaded RC low-pass stages consisting of R1, C1 followed by R2, C2. Vin R1 C1 R2 C2 Vout
Two passive RC low-pass stages in series. The second stage loads the first stage, causing the cutoff frequency and filter response to shift from the ideal 1/(2πRC) curve.
Rolloff: −40dB/decade (steeper than single stage)
But: the actual cutoff shifts, and the two stages interact.

If R1=R2=R and C1=C2=C:
  True −3dB point is lower than 1/(2πRC)
  Both stages interact through the shared node

Timing Applications

555 Timer Astable (Oscillator)

Components: R_A, R_B, C

High time:  t_H = 0.693 × (R_A + R_B) × C
Low time:   t_L = 0.693 × R_B × C
Frequency:  f = 1.44 / ((R_A + 2×R_B) × C)

Example: R_A=10kΩ, R_B=10kΩ, C=100nF
f = 1.44 / ((10k + 20k) × 0.0000001) = 480 Hz

555 Timer Monostable (One-Shot Pulse)

Pulse width: t = 1.1 × R × C

For 10ms pulse: R=100kΩ, C=100nF
t = 1.1 × 100,000 × 0.0000001 = 0.011s = 11ms ✓

Button Debounce

Mechanical switches bounce for 1–50ms when pressed.
RC filter + Schmitt trigger (or just RC + comparator hysteresis):
RC Button Debounce Circuit A resistor pulling up to VCC, and a capacitor to ground forming a low-pass filter connected to a digital input. VCC R = 10 kΩ To digital input τ = 1 ms, f_c = 1.6 kHz C = 100 nF
A simple RC low-pass filter used for debouncing. The time constant is large enough to smooth out the millisecond-scale bouncing of mechanical contacts.
Bounce frequencies (kHz range) are attenuated.
Slow button press (100ms) passes cleanly.

RC Differentiator

A high-pass RC circuit on a pulse input acts as a differentiator — it produces a spike at the rising and falling edges:

When τ << pulse width:
  Input: flat-topped pulse
  Output: positive spike at rising edge, negative spike at falling edge

Application: edge detection, converting pulse signals to trigger pulses

References