A core current transformer is a magnetic sensor that clamps around or routes an AC conductor to step down high primary currents into a safely measurable secondary current or voltage without breaking the circuit. In practical installations, this component changes everything by providing galvanic isolation, allowing a 3.3V microcontroller or a low-voltage panel meter to safely monitor 100A+ AC mains lines without exposing sensitive electronics to lethal grid voltages. Makers and technicians frequently confuse core current transformers (CTs) with Hall-effect sensors (like the ACS712) or shunt resistors. Unlike Hall-effect sensors, CTs require no external power supply and do not suffer from thermal drift, and unlike shunts, they do not require you to cut the mains wire or sacrifice galvanic isolation.

The Physics of the Core Current Transformer

At its heart, a CT operates on the exact same magnetic principles as a standard AC voltage transformer, but it is designed to transform current rather than voltage. The primary winding is simply the AC wire passing through the center of the magnetic core (acting as a 1-turn winding). The secondary winding consists of hundreds or thousands of turns of fine enameled copper wire wrapped around the core.

The governing equation is the ampere-turn balance:

I_primary × N_primary = I_secondary × N_secondary

Because the primary is almost always a single pass through the window (N_primary = 1), the secondary current is stepped down by the exact ratio of the secondary turns. If a CT has 2,000 secondary turns, a 100A primary current will induce exactly 50mA in the secondary winding. This stepped-down current is then passed through a "burden resistor" to convert it into a measurable voltage for an oscilloscope, ADC, or panel meter.

Analogy Check: Think of the turns ratio like a mechanical gear train. A massive torque (high current) on a large gear (the 1-turn primary) translates to a very high speed but low torque (low current) on a tiny gear (the 2,000-turn secondary). The total energy transferred remains constrained by the core's magnetic limits.

Worked Example: Monitoring a 100A Compressor with an ESP32

Let's look at a real-world scenario: You want to monitor the energy consumption of a 240V, 100A HVAC compressor using an ESP32 DevKit v1. You select the ubiquitous YHDC SCT-013-000, a split-core CT rated for 100A primary and 50mA secondary output. (See OpenEnergyMonitor's CT theory guide for deep-dive datasheet analysis on this specific part).

Step 1: Calculate the Burden Resistor

The ESP32's ADC accepts 0V to 3.3V. Because AC current alternates, we must bias the signal to the center of the ADC range (1.65V) so the waveform doesn't clip below 0V. This means our maximum allowable peak voltage across the burden resistor is 1.65V.

  • Secondary RMS Current: 50mA (0.05A)
  • Secondary Peak Current: 0.05A × √2 = 0.0707A
  • Max Peak Voltage: 1.65V
  • Ideal Burden Resistance: R = V_peak / I_peak = 1.65V / 0.0707A = 23.33Ω

The closest standard 1% resistor value is 22Ω. Using a 22Ω resistor yields a peak voltage of 1.55V, safely within the ESP32's 1.65V headroom.

Step 2: Create the DC Bias (Voltage Divider)

To center that AC signal at 1.65V, build a voltage divider using two 10kΩ resistors connected between the ESP32's 3.3V pin and GND. Add a 10µF decoupling capacitor across the bottom resistor to stabilize the bias voltage against ADC sampling noise. Connect one side of the CT's secondary to this 1.65V bias node, and the other side to the 22Ω burden resistor, which then ties to the ESP32 GPIO (e.g., GPIO 34).

Where You Meet This in Practice

You will encounter core current transformers across a wide spectrum of electrical and embedded systems:

  • Smart Home Energy Monitors: Devices like the Emporia Vue or Sense use arrays of 50A split-core CTs clamped to individual branch circuit breakers to disaggregate household power usage.
  • Solar Inverters & Net Metering: Grid-tied inverters use solid-core CTs on the main service feeder to detect export vs. import power, enabling zero-export curtailment.
  • Industrial Motor Protection: Overload relays use 5A-secondary solid-core CTs to monitor 3-phase induction motors, tripping the contactor if phase imbalance or overcurrent occurs.
  • DIY IoT Power Logging: Makers use SCT-013 variants with Arduino or ESPHome to log server rack power draw or greenhouse lighting schedules to Home Assistant via MQTT.

Decision Tree: Picking the Right CT for Your Build

Selecting the wrong CT leads to saturation, phase-shift errors, or dangerous voltage spikes. Use this decision matrix to terminate your selection process with a concrete part number.

Condition / Requirement If Yes... If No...
Do you need to measure DC current or mixed AC/DC? Stop. CTs only work for AC. Use a Hall-effect sensor (e.g., Allegro ACS724) or a Fluxgate sensor. Proceed to next row.
Can you safely de-energize the panel and disconnect the wire for installation? Choose a Solid-Core CT. They are cheaper, more accurate, and have lower phase shift.
Default Pick: Magnelab 100A:50mA Solid Core (SCT-100).
Choose a Split-Core CT. They clamp over existing wires.
Default Pick: YHDC SCT-013-000 (100A:50mA).
Is the output going to a microcontroller ADC (Arduino/ESP32/Pico)? Select a Voltage-Output CT (has an internal burden resistor).
Default Pick: YHDC SCT-013-030 (0-1V output).
Select a Current-Output CT and add your own external burden resistor matched to your meter's specs.
Are you wiring to a commercial panel meter or protective relay? Select a standard 5A Secondary CT (industry standard for panel meters). Ensure the meter's internal burden does not exceed the CT's VA rating. Select a 1A Secondary CT (used for long wire runs to reduce I²R losses in the secondary wiring).

Common Failure Modes and Wiring Mistakes

⚠️ CRITICAL SAFETY WARNING: Never Open-Circuit a Current-Output CT
If you wire a standard current-output CT (like a 100A:5A model) but leave the secondary wires unconnected (infinite resistance), the transformer will attempt to drive 5A through an open circuit. According to Ohm's Law, the secondary voltage will spike to thousands of volts. This will flash over the insulation, permanently demagnetize or shatter the ferrite core, and present a lethal shock hazard. Always short the secondary wires of a current-output CT if it is not actively connected to a burden resistor or meter. (Source: Electronics Tutorials - Current Transformers).

Core Saturation at Low Power Factors

When measuring highly inductive loads (like an unloaded motor or a switching power supply), the current waveform is rich in harmonics and phase-shifted. If your burden resistor is sized too large, the peak voltage requirement pushes the magnetic flux density of the ferrite core past its saturation point. When a core saturates, the secondary waveform flattens at the peaks, resulting in massive measurement errors (often reading 20-30% lower than actual RMS current). If you see flattened peaks on your oscilloscope, drop your burden resistor value by 20%.

The "Noisy at Zero" ADC Problem

When the primary load is turned off, makers often report erratic, noisy ADC readings bouncing between 0.1A and 0.5A. This is rarely a CT failure. It is usually electromagnetic interference (EMI) from nearby switching power supplies or Wi-Fi antennas inducing micro-voltages in the high-impedance secondary winding. Fix this by keeping the CT leads twisted, routing them away from the ESP32's Wi-Fi antenna, and implementing a software low-pass filter or a moving-average algorithm in your firmware.

Frequently Asked Questions

Can I pass multiple wires through the same core current transformer?

Yes, but they must be carrying the exact same current in opposite directions (like Line and Neutral) to measure leakage/ground fault, or you must account for the ampere-turn addition. If you pass a 120V Hot and a 120V Neutral through the same CT, the magnetic fields cancel out, and the CT reads 0A. This is exactly how GFCI/AFCI breakers detect ground faults.

Does the position of the wire inside the CT window matter?

For high-accuracy metrology, the wire should be centered in the window to ensure uniform flux distribution. However, for standard 1% to 2% accuracy split-core CTs like the SCT-013 used in DIY energy monitoring, resting the wire against the edge of the window introduces less than a 0.5% error, which is negligible for most IoT logging applications.

Why does my CT read 0.5A when the breaker is off?

As noted in the failure modes section, this is ghost voltage induced by adjacent energized wires in a crowded panel (capacitive coupling). Ensure your burden resistor is correctly sized, your DC bias is stable, and apply a software threshold in your code to snap any reading below 0.5A to absolute zero.