An op amp voltage follower (also known as a unity gain buffer) is the simplest operational amplifier circuit you can build, yet it solves one of the most persistent problems in electronics: impedance mismatch. By wiring the output directly to the inverting input (-) and feeding your signal into the non-inverting input (+), you achieve a voltage gain of exactly 1. The output voltage mirrors the input voltage ($V_{out} = V_{in}$), but the circuit transforms a high-impedance source into a low-impedance driver capable of supplying real current.

If you are trying to read a high-impedance voltage divider with a microcontroller ADC, drive a long coaxial cable, or isolate a sensitive sensor from a noisy power stage, the voltage follower is your first line of defense. Below is a practical, bench-tested guide to selecting the right IC, biasing it correctly, and testing it when things go wrong.

Selecting the Right IC: Safe Defaults and Operating Limits

Not all op amps are created equal. A legacy part like the LM741 will fail miserably on a 3.3V single-supply microcontroller bench, while a precision audio part is overkill for a simple DC sensor buffer. When selecting a voltage follower, your primary constraints are supply voltage range, input common-mode range (can it read all the way down to 0V?), and output swing (can it reach the positive rail?).

Table 1: Safe Default Op Amps for Voltage Follower Circuits (2026 Pricing)
Part Number Supply Range Input Bias Current Slew Rate Best Application Est. Price (1pc)
LM358 (TI/ON Semi) 3V to 32V (Single) 20 nA (typ) 0.3 V/µs General purpose, high-voltage single supply $0.85 (DIP-8)
MCP6001 (Microchip) 1.8V to 6.0V 1 pA (typ) 0.6 V/µs 3.3V/5V MCU ADC buffering, battery powered $0.75 (DIP-5)
TL072 (TI) ±5V to ±15V (Dual) 5 pA (typ) 13 V/µs Audio signals, dual-rail synth modules $1.20 (DIP-8)
OPA340 (TI) 2.1V to 5.5V 0.2 pA (typ) 6 V/µs Precision rail-to-rail sensor interfaces $3.50 (SOT-23)
Bench Tip: For 90% of hobbyist and Arduino/ESP32 projects running on 5V or 3.3V, the MCP6001 (single) or MCP6002 (dual) is the safest default. It is rail-to-rail on both input and output, meaning a 3.3V input will actually yield a 3.28V output, unlike the LM358 which will clip around 1.8V on a 3.3V supply.

Understanding the operating regions of your chosen op amp is critical to avoiding silent failures. A voltage follower only works when the op amp remains in its linear region.

Table 2: Op Amp Operating Regions in a Unity Gain Configuration
Operating Region Condition Typical Voltages/Currents (MCP6001 @ 3.3V) Circuit Behavior
Linear (Active) $V_{EE} < V_{in} < V_{CC}$ $V_{in}$: 0.05V to 3.25V
$I_{out}$: < 20mA
$V_{out} = V_{in}$. Feedback is stable.
Positive Saturation $V_{in} > V_{CC} - V_{drop}$ $V_{in}$: 3.3V
$V_{out}$: ~3.28V
Output pegs to positive rail. Clipping occurs.
Negative Saturation $V_{in} < V_{EE} + V_{drop}$ $V_{in}$: 0V
$V_{out}$: ~0.02V
Output pegs to ground rail. Clipping occurs.
Phase Reversal / Latch-up $V_{in}$ exceeds absolute max common-mode $V_{in}$: > 3.6V (on 3.3V rail)
$I_{out}$: Spikes
Output inverts polarity or locks to rail. Destructive.

Pinout, Symbol, and Biasing Strategies

The standard schematic symbol for a voltage follower shows an op amp triangle with the input signal entering the non-inverting terminal (+). The output pin loops directly back to the inverting terminal (-). There are no gain-setting resistors in the feedback path.

For the ubiquitous 8-pin DIP package (used by the LM358, TL072, and MCP6002 dual op amps), the industry-standard pinout is:

  • Pin 1: Output A
  • Pin 2: Inverting Input A (-)
  • Pin 3: Non-Inverting Input A (+)
  • Pin 4: V- (Ground or Negative Rail)
  • Pin 5: Non-Inverting Input B (+)
  • Pin 6: Inverting Input B (-)
  • Pin 7: Output B
  • Pin 8: V+ (Positive Supply Rail)

How to Bias for the Job

Biasing determines your signal headroom. If you are buffering a DC signal (like a thermistor voltage divider), single-supply biasing is ideal. Connect V- (Pin 4) to system ground, and V+ (Pin 8) to your 3.3V or 5V rail. Ensure your chosen op amp supports "single supply" or "rail-to-rail input" so it can handle signals near 0V.

If you are buffering an AC audio signal, single-supply biasing requires a virtual ground. You must DC-bias the non-inverting input to exactly half your supply voltage (e.g., 1.65V on a 3.3V rail) using a buffered resistor divider. This centers the AC waveform, preventing the negative half-cycles from clipping against the 0V ground rail. For audio, dual-supply biasing (e.g., ±9V) is vastly superior, as it naturally centers the signal at 0V without requiring virtual ground networks.

Application Circuit: Buffering a 100kΩ Divider for an ESP32 ADC

The ESP32’s internal SAR ADC is notorious for its low and non-linear input impedance. Depending on the attenuation setting, the ADC input impedance can drop below 10kΩ during the sampling phase. If you connect a high-impedance source—like a 100kΩ/100kΩ LDR voltage divider—directly to an ESP32 GPIO, the internal sampling capacitor won't have time to charge, resulting in wildly inaccurate, non-linear readings.

A voltage follower solves this by presenting >10^12 Ω impedance to the divider, and <100 Ω impedance to the ESP32.

Safety & Hardware Note: Never feed an ESP32 ADC pin a voltage exceeding 3.3V. If your sensor divider is powered by 5V, you must use a 5V-tolerant op amp powered at 5V, but add a 3.3V Zener diode or a resistive divider at the op amp output to clamp the signal before it hits the ESP32.

Component List

  • U1: MCP6001-I/P (Single, 5-pin DIP, Rail-to-Rail)
  • R1, R2: 100kΩ resistors (Sensor voltage divider)
  • R3: 100Ω resistor (Output isolation / capacitive load stabilization)
  • C1: 100nF (0.1µF) ceramic capacitor (Power decoupling)
  • C2: 10nF ceramic capacitor (Input noise filter)

Wiring Steps

  1. Power the IC: Connect V+ (Pin 5 on the 5-pin DIP) to 3.3V. Connect V- (Pin 2) to GND. Place C1 (100nF) physically as close to these pins as possible.
  2. Wire the Sensor: Connect your sensor divider (R1 and R2) between 3.3V and GND. The midpoint is your $V_{in}$.
  3. Filter the Input: Connect C2 (10nF) from the divider midpoint to GND to filter high-frequency noise. Wire this node to the Non-Inverting Input (Pin 3).
  4. Close the Loop: Wire the Output (Pin 1) directly to the Inverting Input (Pin 4). This sets the gain to 1.
  5. Isolate the Output: Wire the Output (Pin 1) through R3 (100Ω) to the ESP32 ADC GPIO pin. This 100Ω resistor is critical; it prevents the op amp from oscillating when driving the capacitive load of the ESP32's internal sampling circuit and the breadboard parasitic capacitance.

For a deeper look into the ESP32's ADC architecture and why source impedance matters, refer to the Espressif ESP-IDF ADC Documentation.

Failure Modes and Bench Testing with a Multimeter

Op amps rarely just "stop working" without a trace. They usually fail in specific, diagnosable ways. Here is how they fail and how to test a voltage follower on your bench using a standard digital multimeter (DMM).

Common Failure Modes

  • Phase Reversal: Classic in older parts like the LM358. If the input voltage exceeds the common-mode limit (typically $V_{CC} - 1.5V$), the internal differential pair saturates. The output abruptly slams to the negative rail instead of following the input. This destroys the feedback loop and can lock up your microcontroller.
  • Output Short Circuit Thermal Shutdown: If the output is accidentally shorted to ground or VCC, the internal output transistors overheat. Modern op amps (like the MCP6001) have thermal shutdown and will simply turn off until they cool. Older parts will melt the silicon and permanently short the output pin to a rail.
  • Capacitive Load Oscillation: If you drive a long coaxial cable or a large capacitor directly from the output without an isolation resistor (R3 in our circuit), the capacitive phase shift turns the negative feedback into positive feedback. The op amp will oscillate at high frequencies (often MHz range), showing up as a mysterious DC offset or heating on the bench.

How to Test with a Multimeter

If your voltage follower circuit is misbehaving, follow this diagnostic sequence with your DMM:

  1. Verify Power Rails: Set DMM to DC Volts. Measure between Pin 8 (V+) and Pin 4 (V-). You must read your exact supply voltage (e.g., 3.28V to 3.32V for a 3.3V rail). If it reads 0V or is heavily sagging, your decoupling cap is shorted or your power supply is browning out.
  2. Check the Input Signal: Probe the non-inverting input (+). Record the voltage. Let's say you read 1.65V from your sensor divider.
  3. Check the Output: Probe the output pin. In a healthy follower, it should match the input within the op amp's input offset voltage spec (usually < 5mV for general parts, < 100µV for precision parts). If $V_{in}$ is 1.650V, $V_{out}$ should be between 1.645V and 1.655V.
  4. Diagnose Saturation: If the output is pegged to 0V or VCC, disconnect the load (the ESP32 pin). If the output immediately returns to 1.65V, your load was drawing too much current or was shorted. If it stays pegged, the op amp is likely destroyed or in phase-reversal.
  5. Check for High-Frequency Oscillation: A standard DMM will average out high-frequency oscillation, often displaying a "wrong" DC voltage. If your DMM has a frequency (Hz) counter mode, probe the output. If you read a frequency in the kHz or MHz range while expecting a DC signal, your circuit is oscillating due to capacitive loading. Add a 100Ω series resistor at the output to fix it.
Pro Troubleshooting Move: If you suspect phase reversal on an LM358 buffer, slowly sweep the input voltage up toward VCC while monitoring the output. If the output suddenly snaps to 0V before the input reaches the rail, you've hit the common-mode limit. Switch to a rail-to-rail input part like the MCP6001 or OPA340 to resolve it. For official electrical characteristics and common-mode limits, always consult the Texas Instruments LM358 Datasheet or the Microchip MCP6001 Datasheet.

By treating the op amp voltage follower not just as a theoretical concept, but as a practical impedance-matching tool with real-world parasitic constraints, you eliminate ADC non-linearity, protect sensitive sensor nodes, and build circuits that behave predictably on the bench and in the field.