<!--date=20250208 -->


<h1>RC Circuits</h1>
<p>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.</p>

<h2>The Time Constant</h2>
<pre>
τ = R × C    (seconds, when R is in ohms and C in farads)
</pre>
<p>τ (tau) is the characteristic speed of the circuit. After one time constant:</p>

<table>
  <thead><tr><th>Time</th><th>Charging (% of final V)</th><th>Discharging (% of initial V)</th></tr></thead>
  <tbody>
    <tr><td>0.5τ</td><td>39.3%</td><td>60.7%</td></tr>
    <tr><td>1τ</td><td>63.2%</td><td>36.8%</td></tr>
    <tr><td>2τ</td><td>86.5%</td><td>13.5%</td></tr>
    <tr><td>3τ</td><td>95.0%</td><td>5.0%</td></tr>
    <tr><td>5τ</td><td>99.3%</td><td>0.7% — fully charged/discharged</td></tr>
  </tbody>
</table>

<pre>
Charging:    V(t) = V₀ × (1 - e^(-t/τ))
Discharging: V(t) = V₀ × e^(-t/τ)
</pre>

<h2>Component Values and Time Constants</h2>

<table>
  <thead><tr><th>R</th><th>C</th><th>τ</th><th>5τ (fully charged)</th><th>Typical use</th></tr></thead>
  <tbody>
    <tr><td>1 kΩ</td><td>100 nF</td><td>100 µs</td><td>500 µs</td><td>RF bypass, debounce pre-filter</td></tr>
    <tr><td>10 kΩ</td><td>100 nF</td><td>1 ms</td><td>5 ms</td><td>Debounce, audio coupling</td></tr>
    <tr><td>10 kΩ</td><td>10 µF</td><td>100 ms</td><td>500 ms</td><td>Power-on delay, slow timing</td></tr>
    <tr><td>100 kΩ</td><td>100 µF</td><td>10 s</td><td>50 s</td><td>Long timers, auto power-off</td></tr>
    <tr><td>1 MΩ</td><td>1 µF</td><td>1 s</td><td>5 s</td><td>555 timer, slow oscillators</td></tr>
  </tbody>
</table>

<h2>As a Low-Pass Filter</h2>
<pre>
        R
Vin ──[   ]──┬── Vout
             |
            [C]
             |
            GND

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
</pre>

<h2>As a High-Pass Filter</h2>
<pre>
        C
Vin ──||──┬── Vout
          |
         [R]
          |
         GND

Same cutoff formula: f_c = 1 / (2π × R × C)
Below f_c: attenuated (DC blocked completely)
Above f_c: signal passes
</pre>

<h2>Cutoff Frequency Design Table</h2>

<table>
  <thead><tr><th>Target f_c</th><th>R</th><th>C (calculated)</th><th>C (standard)</th><th>Actual f_c</th></tr></thead>
  <tbody>
    <tr><td>20 Hz (audio low)</td><td>100 kΩ</td><td>79.6 nF</td><td>82 nF</td><td>19.4 Hz</td></tr>
    <tr><td>1 kHz</td><td>10 kΩ</td><td>15.9 nF</td><td>15 nF</td><td>1.06 kHz</td></tr>
    <tr><td>3.4 kHz (telephony)</td><td>4.7 kΩ</td><td>9.97 nF</td><td>10 nF</td><td>3.39 kHz</td></tr>
    <tr><td>20 kHz (audio high)</td><td>1 kΩ</td><td>7.96 nF</td><td>8.2 nF</td><td>19.4 kHz</td></tr>
    <tr><td>1 MHz (RF bypass)</td><td>50 Ω</td><td>3.18 nF</td><td>3.3 nF</td><td>964 kHz</td></tr>
  </tbody>
</table>

<h2>Impedance and Loading</h2>
<p>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:</p>
<pre>
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
</pre>
<p>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.</p>

<h2>Second-Order RC Filter (Two Stages)</h2>
<pre>
Two cascaded RC low-pass stages:

         R1             R2
Vin ──[   ]──┬──[   ]──┬── Vout
             |          |
            [C1]       [C2]
             |          |
            GND        GND

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
</pre>

<h2>Timing Applications</h2>

<h3>555 Timer Astable (Oscillator)</h3>
<pre>
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
</pre>

<h3>555 Timer Monostable (One-Shot Pulse)</h3>
<pre>
Pulse width: t = 1.1 × R × C

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

<h3>Button Debounce</h3>
<pre>
Mechanical switches bounce for 1–50ms when pressed.
RC filter + Schmitt trigger (or just RC + comparator hysteresis):

       R=10kΩ
VCC ──[   ]──┬── to digital input
             |
            [C=100nF]   τ = 1ms, f_c = 1.6kHz
             |
            GND

Bounce frequencies (kHz range) are attenuated.
Slow button press (100ms) passes cleanly.
</pre>

<h2>RC Differentiator</h2>
<p>A high-pass RC circuit on a pulse input acts as a differentiator — it produces a spike at the rising and falling edges:</p>
<pre>
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
</pre>

<h2>References</h2>
<ul>
  <li>Horowitz &amp; Hill — <em>The Art of Electronics</em>, 3rd ed. Chapter 1</li>
  <li>Scherz &amp; Monk — <em>Practical Electronics for Inventors</em>, 4th ed.</li>
  <li><a href="https://www.electronics-tutorials.ws/filter/filter_1.html" target="_blank" rel="noopener">Electronics-Tutorials — RC Filters ↗</a></li>
  <li><a href="https://www.ti.com/lit/an/sloa049b/sloa049b.pdf" target="_blank" rel="noopener">Texas Instruments — Filter Design in 30 Seconds (PDF) ↗</a></li>
</ul>
