An op amp buffer (also known as a voltage follower or unity-gain amplifier) is an operational amplifier circuit wired to output the exact voltage applied to its non-inverting input ($V_{out} = V_{in}$). It provides a voltage gain of exactly 1, but its real magic lies in impedance transformation: it offers near-infinite input impedance and near-zero output impedance. You need an op amp buffer whenever a high-impedance signal source (like a resistive voltage divider or a piezo sensor) must drive a low-impedance load (like an ADC input, a long cable, or a power stage) without the signal voltage drooping or distorting.
Pinout, Symbol, and Internal Architecture
Before wiring a buffer, you must understand the physical package and the schematic symbol. Most hobbyist and prototyping op amps come in an 8-pin DIP or SOIC package containing two independent op amps (a "dual" op amp).
- Pin 1: Output A
- Pin 2: Inverting Input A (-)
- Pin 3: Non-Inverting Input A (+)
- Pin 4: V- (Negative Supply or Ground)
- Pin 5: Non-Inverting Input B (+)
- Pin 6: Inverting Input B (-)
- Pin 7: Output B
- Pin 8: V+ (Positive Supply)
In a schematic, the op amp symbol is a triangle pointing right. The non-inverting input (+) is where your signal enters. The inverting input (-) is wired directly to the output pin to create the negative feedback loop that forces unity gain. The power rails (V+ and V-) are often omitted in simplified schematics, but they must be connected in physical reality.
Operation Regions and Safe Operating Limits
Not all op amps can buffer signals all the way down to 0V or all the way up to the positive supply rail. The table below outlines the safe operating limits and typical specifications for the most common default part numbers used in buffer circuits.
| Part Number | Architecture | Supply Range | Input Common-Mode Range | Output Swing | Typical Cost (1pc) |
|---|---|---|---|---|---|
| LM358 | Bipolar | 3V to 32V (Single) or ±1.5V to ±16V (Dual) | Includes V- (Ground), but NOT V+ | Swings to V-, stops ~1.5V below V+ | $0.15 |
| MCP6002 | CMOS | 1.8V to 6.0V (Single) | Rail-to-Rail (Includes V- and V+) | Rail-to-Rail (Within ~20mV of rails) | $0.40 |
| TL072 | JFET | ±5V to ±15V (Dual supply required) | Stops ~2V from both V+ and V- | Stops ~1.5V from both V+ and V- | $0.60 |
| OPA2134 | FET-Input | ±2.5V to ±18V | Stops ~2V from both rails | Rail-to-Rail (Near limits) | $3.50 |
Selecting and Biasing the Right Buffer for the Job
Choosing the right op amp buffer depends entirely on your power supply and signal range.
The Safe Defaults
- For 3.3V and 5V microcontroller projects (Arduino, ESP32, Pi): Use the MCP6002 or MCP6004. They are rail-to-rail input/output (RRIO), meaning they can buffer a 0V to 3.3V signal perfectly on a 3.3V supply without clipping.
- For 12V automotive or general single-supply bench projects: Use the LM358. It is dirt cheap and handles high voltages, but remember it cannot buffer signals near the positive rail (it will clip if the input gets within ~1.5V of V+).
- For audio or low-noise analog synthesis: Use the TL072 or NE5532. These require a dual (split) power supply (e.g., +12V and -12V) to properly center AC audio signals around 0V.
Biasing for Single-Supply AC Signals
If you are buffering an AC signal (like audio or an AC current transformer) on a single positive supply (e.g., 5V), you cannot feed 0V-centered AC into the op amp; the negative half-cycles will be clipped because the op amp cannot output negative voltages without a negative supply rail. You must create a virtual ground.
- Create a voltage divider using two equal resistors (e.g., two 10kΩ resistors) across V+ and GND to create a VCC/2 reference (2.5V).
- Buffer this 2.5V reference with your first op amp channel to create a low-impedance "virtual ground".
- AC-couple your incoming signal through a coupling capacitor (e.g., 1µF) into the non-inverting input of your second op amp channel.
- Bias the non-inverting input to the 2.5V virtual ground using a high-value resistor (e.g., 100kΩ). The signal now oscillates around 2.5V, keeping it safely within the op amp's operating region.
Complete Application Circuit: Driving an ESP32 ADC
The ESP32's internal ADC is notorious for its non-linear impedance and internal sampling capacitor (roughly 10pF to 12pF). If you try to read a high-impedance voltage divider (e.g., 100kΩ and 100kΩ) directly with an ESP32 GPIO, the internal sampling capacitor doesn't have enough time to charge during the ADC acquisition window, resulting in severe voltage droop and inaccurate readings. An op amp buffer solves this by providing the instantaneous burst of current the ADC needs.
- 1x MCP6002 Op Amp
- 1x 10kΩ input resistor (limits current and forms RC filter with parasitic capacitance)
- 1x 100nF (0.1µF) ceramic bypass capacitor (placed physically adjacent to V+ and V- pins)
- 1x 100Ω output isolation resistor
- 1x 1nF load capacitor (optional, placed at the ESP32 GPIO pin to ground)
Wiring Steps
- Power the IC: Connect MCP6002 Pin 8 to the ESP32's 3.3V rail. Connect Pin 4 to GND. Place the 100nF bypass capacitor directly across Pins 8 and 4.
- Route the Signal: Connect your high-impedance sensor or voltage divider output to the non-inverting input (Pin 3) through the 10kΩ resistor.
- Close the Feedback Loop: Connect a jumper wire directly from the output (Pin 1) to the inverting input (Pin 2). This sets the gain to exactly 1.
- Add Output Isolation: Connect the 100Ω resistor between the op amp output (Pin 1) and the ESP32 ADC GPIO pin. Why? The ESP32's internal sampling capacitor looks like a heavy capacitive load. Driving a capacitive load directly from an op amp output can cause high-frequency oscillation (ringing). The 100Ω resistor isolates the op amp from this capacitance, ensuring stability.
- Verify: Power up the circuit. Measure the voltage at the voltage divider with a multimeter, then measure the voltage at the ESP32 GPIO pin. They should match within a few millivolts.
Failure Modes and Multimeter Testing
Op amps are generally robust, but they fail in predictable ways when pushed outside their safe operating area. Here is how they die, and how to test them on the bench.
Common Failure Modes
- Input Overvoltage (Latch-up): If the input voltage exceeds the V+ rail or drops below the V- rail by more than a diode drop (~0.6V), internal ESD protection diodes conduct. If current isn't limited by a series resistor, the diode melts, permanently shorting the input to the rail.
- Output Short Circuit: Shorting the output pin to ground or V+ while the op amp is sourcing/sinking maximum current will overheat the silicon die. Most modern op amps have thermal shutdown, but older parts (like the LM741) will simply burn out the output transistor, pegging the output to one of the rails.
- Phase Reversal (LM358 Specific): If the input voltage on an LM358 exceeds the common-mode range (too close to V+), the output doesn't just clip; it abruptly flips to the opposite rail (0V). This isn't a permanent failure, but it causes catastrophic errors in control loops if not anticipated.
How to Test with a Multimeter
Test 1: Power-Off Diode Test (Checking for Shorts)
- Remove power from the circuit.
- Set your multimeter to Diode/Test mode.
- Measure between V+ (Pin 8) and GND (Pin 4). You should read an open circuit (OL) or a high diode drop (>1.5V) due to internal junctions. If it reads 0.00V or a dead short, the IC is fried.
- Measure from each input pin (Pins 2, 3, 5, 6) to V+ and GND. You should see a diode drop of roughly 0.5V to 0.7V in one direction (forward bias of the protection diodes) and OL in the reverse direction. If it reads shorted in both directions, the input stage is blown.
Test 2: Power-On Live Test (Checking Operation)
- Apply power. Verify V+ and V- pins have the correct supply voltage.
- Set the multimeter to DC Voltage.
- Probe the non-inverting input (+) and the output pin. They should read the exact same voltage (within 1-5mV for precision parts, up to 20mV for general-purpose CMOS).
- If the output is pegged to V+ or V- while the input is in the valid common-mode range, the output stage is likely destroyed or the feedback loop is broken.
Op Amp Buffers FAQ
Why use an op amp buffer instead of just connecting the wires directly?
Connecting wires directly works fine if your source has low impedance and your load has high impedance. However, if you connect a high-impedance source (like a 1MΩ piezo sensor or a 50kΩ potentiometer) to a low-impedance load (like a microcontroller ADC or a 10kΩ resistor network), the load acts as a voltage divider, dragging the signal voltage down. The op amp buffer draws virtually zero current from the source (due to its mega-ohm or giga-ohm input impedance) and uses its own power supply to recreate the exact same voltage at its output, capable of sourcing or sinking tens of milliamps to drive the load without voltage droop.
Do op amp buffers need a feedback resistor?
No. In a standard voltage follower configuration, the output is wired directly to the inverting input (-) with a bare jumper wire. Adding a feedback resistor in a unity-gain buffer introduces unnecessary thermal noise and parasitic capacitance. The only exception is if you are using a very high-speed, current-feedback op amp (CFA), which strictly requires a specific feedback resistor value to maintain stability, but CFAs are rarely used for simple DC/low-frequency buffering in hobbyist or standard industrial circuits.
Can an op amp buffer drive a relay or motor directly?
Generally, no. Most standard op amps (like the LM358 or MCP6002) can only source or sink between 20mA and 40mA of continuous current. A typical 5V relay coil requires 70mA to 100mA, and a motor requires hundreds of milliamps. Attempting to drive these directly will trigger the op amp's internal short-circuit protection, cause severe voltage sag, or permanently burn out the output transistors. To drive a relay or motor, use the op amp buffer to drive the base of a BJT (like a 2N2222) or the gate of a logic-level MOSFET (like an IRLZ44N), which then switches the high-current load.
Why is my op amp buffer outputting a clipped or distorted signal?
Signal clipping in a buffer almost always comes down to violating the input common-mode range or the output swing limits. If you are using an LM358 on a 5V single supply and trying to buffer a 4V signal, the output will clip at roughly 3.5V because the LM358 cannot swing all the way to the positive rail. Similarly, if you feed an AC signal centered at 0V into a single-supply op amp without a virtual ground bias, the negative half of the wave will be hard-clipped at 0V. Check your datasheet's "Output Voltage Swing" and "Common Mode Input Range" tables, and switch to a Rail-to-Rail (RRIO) op amp like the MCP6002 if you need to utilize the full supply voltage range.






