A current transformer amplifier is a signal conditioning circuit that boosts and offsets the low-level AC milliamp output of a current transformer into a stable, microcontroller-readable DC-biased voltage. In a real circuit, this amplifier bridges a critical gap: it takes a raw, bipolar AC current signal that would instantly clip or read as zero on a standard microcontroller, and transforms it into a unipolar voltage centered perfectly within the ADC's readable window.

Before we look at the schematic, it is vital to clear up a common bench misconception. Makers frequently confuse the burden resistor with the amplifier. A burden resistor merely performs a passive current-to-voltage conversion (Ohm's law). It does not provide voltage gain, nor does it level-shift the signal. Furthermore, hobbyists often confuse CT amplifier circuits with active Hall-effect sensors (like the ACS712). Hall sensors are powered silicon chips that output a pre-biased voltage directly, whereas a CT is a passive magnetic device that requires external analog conditioning to interface with modern digital logic.

The Core Problem: Why Raw CT Signals Need Amplification

If you clip a split-core current transformer (like the popular YHDC SCT-013) around a mains wire and connect an oscilloscope across its secondary leads, you will see a sine wave swinging above and below zero. This presents two immediate hardware problems when interfacing with microcontrollers like the Arduino Uno or ESP32:

High Voltage Safety: Current transformers are often clamped around live 120V/240V mains conductors. Always de-energize the panel, lock out the breaker, and verify the conductors are dead with a CAT III/IV multimeter before installing or removing a split-core CT. Never open-circuit a CT secondary while the primary is energized; the resulting high-voltage flyback can cause lethal shock or destroy your test equipment.
  1. The Bipolar Swing: Standard microcontroller ADCs are unipolar. The ESP32 ADC, for instance, only reads voltages between 0V and ~3.1V. A raw CT signal swings negative, which the ADC will either read as a hard 0 (clipping the bottom half of your sine wave) or, worse, forward-bias internal ESD diodes and permanently damage the silicon.
  2. The Amplitude Mismatch: A typical 100A:50mA CT outputs a very small voltage when passed through a standard burden resistor. At low current draws (like a 60W lightbulb), the signal might only be a few millivolts peak-to-peak. Feeding a 10mV signal into a 3.3V, 12-bit ADC wastes over 99% of your resolution, leaving you with massive quantization noise.

The current transformer amplifier solves both issues simultaneously. It applies a DC bias (level shift) to push the entire AC waveform above 0V, and it applies operational gain to stretch that tiny millivolt signal to fill the ADC's full-scale range.

Bench Example: Sizing the Burden, Gain, and DC Bias

Let's design a front-end for an ESP32 using a SCT-013-000 (100A primary : 50mA secondary). Our goal is to accurately measure a 10A AC load (like a space heater) without clipping at the 100A maximum.

Step 1: The Burden Resistor (I-to-V)
At 10A primary, the secondary outputs 5mA. We need to convert this to voltage. While the datasheet suggests a 62Ω burden for high accuracy, we will use a standard 33Ω burden resistor to keep the baseline voltage low and leave headroom for our op-amp's gain stage.
V_rms = 5mA × 33Ω = 165mV RMS.
V_peak = 165mV × √2 ≈ 233mV.
Our raw signal swings from -233mV to +233mV (466mV peak-to-peak).

Step 2: The DC Bias (Level Shifting)
We must shift this signal up so the negative peak never crosses below 0V. The ESP32 ADC reference is nominally 3.3V, making the ideal midpoint 1.65V. Think of the DC bias like centering a tall picture on a wall with low ceiling clearance: you shift the baseline up so the bottom edge doesn't hit the floor (0V) when the picture sways. We generate this 1.65V reference using a simple voltage divider (two 10kΩ resistors) buffered by a unity-gain op-amp to prevent the AC signal from pulling the reference down.

Step 3: The Op-Amp Gain Stage
If we only bias the signal, it will swing from 1.417V to 1.883V. That 466mV swing only uses about 14% of the ESP32's 3.3V ADC range. To maximize our 12-bit resolution, we want a peak-to-peak swing of roughly 2.0V to 2.5V.
Required Gain = 2000mV target / 466mV actual ≈ 4.29.
We will use a standard non-inverting op-amp configuration with a gain of 5 (using a 40kΩ feedback resistor and a 10kΩ ground resistor).

The Final Result:
With a gain of 5, our peak voltage becomes 1.165V. Centered on our 1.65V bias, the final signal swings cleanly from 0.485V to 2.815V. This perfectly utilizes the linear region of the ADC without risking rail-clipping at higher currents.

SCT-013 Amplifier Component Selection
ComponentValue / PartPurpose & Bench Notes
Current TransformerYHDC SCT-013-000Passive 100A:50mA split-core. Do not use the SCT-013-030 (it has an internal burden).
Burden Resistor33Ω (1/4W, 1%)Converts secondary current to baseline AC voltage. Metal film for low thermal noise.
Op-Amp ICMCP6002Dual rail-to-rail I/O op-amp. Avoid the LM358; its output cannot swing close enough to the 0V and 3.3V rails, causing flat-topping on the sine wave.
Bias Divider2x 10kΩ + 10µF CapCreates the 1.65V virtual ground. The capacitor filters out high-frequency mains noise from the VCC rail.

Where You Meet Current Transformer Amplifiers in Practice

You will rarely see a discrete op-amp CT amplifier inside modern, mass-produced commercial energy monitors. Devices like the Shelly EM or the Emporia Vue have largely replaced discrete analog conditioning with dedicated energy-metering ICs (like the ATM90E26 or ADE7953). These dedicated silicon chips feature internal programmable gain amplifiers (PGAs) and high-resolution Sigma-Delta ADCs that can ingest the raw, biased burden voltage directly via SPI or I2C.

However, the discrete current transformer amplifier remains the undisputed king of the DIY workbench, custom solar inverter telemetry, and legacy motor-overload retrofits. When you are building a custom ESP32-based smart breaker panel, or adding energy monitoring to an off-grid 48V LiFePO4 inverter where proprietary ICs are overkill or unavailable, a well-tuned MCP6002 or TLV2372 op-amp circuit provides exceptional accuracy at a bill of materials (BOM) cost of under $1.50.

Current Transformer Amplifier FAQ

Can I use a current transformer without an amplifier circuit?

Yes, but only if your receiving hardware supports it. If you are feeding the CT into a dedicated energy-metering IC (like the ATM90E32) or a microcontroller with a built-in differential, bipolar ADC (like certain STM32 or TI C2000 chips), you only need the burden resistor. However, if you are wiring directly to a standard Arduino Uno (5V unipolar ADC) or an ESP32 (3.3V unipolar ADC), you absolutely must use an amplifier circuit to provide the DC bias and prevent negative voltage clipping.

What is the difference between a CT amplifier and a Hall-effect sensor?

A current transformer (CT) is a passive, magnetically isolated device that only measures AC current. It requires an external amplifier circuit to condition its signal, but it offers excellent galvanic isolation and zero insertion loss. A Hall-effect sensor (like the ACS712) is an active, powered IC that measures magnetic fields generated by both AC and DC current. It outputs a pre-amplified, biased voltage directly. Hall sensors are easier to wire but suffer from temperature drift, lower bandwidth, and introduce a small insertion resistance into the primary current path.

How do I choose the right op-amp for a current transformer amplifier?

You need an op-amp with Rail-to-Rail Input/Output (RRIO) and low input offset voltage. The ancient LM358 is a poor choice for 3.3V systems because its output stage cannot swing closer than ~1.5V to the positive rail, which will severely clip your amplified sine wave. Instead, choose modern RRIO CMOS op-amps like the Microchip MCP6002, Texas Instruments TLV2372, or the OPA333 for ultra-low noise precision applications.

Why is my microcontroller reading double the actual AC current?

This is the most common firmware bug in DIY energy monitoring. Your amplifier outputs a sine wave, and your ADC reads the peak voltage of that wave. AC current is specified in RMS (Root Mean Square). If your code calculates current based on the peak ADC reading without dividing by √2 (approximately 1.414), your final displayed current will be exactly 41.4% higher than reality. Furthermore, if your code accidentally measures peak-to-peak amplitude instead of the zero-centered peak amplitude, your reading will be exactly double the actual value. Always subtract your DC bias offset from the raw ADC reading before calculating the RMS value.