A low-voltage current transformer (CT) is an inductive sensor that clamps around or threads onto an AC conductor to step down high primary current into a proportional, galvanically isolated secondary signal safe for microcontrollers and meters. In a real installation, a CT changes a potentially lethal 200A mains feed into a manageable 50mA signal, allowing you to log power consumption without cutting wires, breaking the circuit, or exposing your 3.3V logic to 240V AC.

Makers and junior techs commonly confuse CTs with Hall-effect sensors (like the ACS712). While Hall sensors measure both AC and DC, they suffer from temperature drift, require a 5V supply, and introduce insertion loss. CTs are strictly for AC but offer vastly superior accuracy, complete galvanic isolation, and zero insertion loss because they clamp around the wire rather than sitting in series with it. They are also frequently confused with potential transformers (PTs), which step down voltage rather than current.

The Math: Turns Ratio, Burden Resistors, and a Worked Example

To use a CT with a microcontroller like an Arduino or ESP32, you must convert the secondary current into a voltage your analog-to-digital converter (ADC) can read. This is done using a burden resistor. Some modern split-core CTs have this resistor built-in, but raw CTs require you to calculate and install it yourself.

Core Formula: Vsecondary = Isecondary × Rburden

Let us walk through a worked numeric example using a standard raw 100A:50mA CT (meaning when 100A flows through the primary wire, 50mA flows through the secondary coil). We want to interface this with an ESP32, which has a 3.3V ADC. To maximize resolution without clipping the sine wave peaks, we want an RMS voltage of about 1.0V (which yields a peak voltage of ~1.41V, leaving plenty of headroom below the 1.65V bias point).

  • Primary Current (Ip): 100A
  • Secondary Current (Is): 50mA (0.05A)
  • Target RMS Voltage (Vrms): 1.0V

Using Ohm's law, we solve for the burden resistor (Rburden):

R = V / I = 1.0V / 0.05A = 20 Ω

Next, we must verify the power rating of the resistor so it does not overheat and fail. Power (P) equals I² × R:

P = (0.05A)² × 20 Ω = 0.0025 × 20 = 0.05W

A standard 1/4W (0.25W) carbon film or metal film resistor is more than adequate. If you are building a permanent energy monitor, refer to the OpenEnergyMonitor CT sensor guide for detailed biasing networks that center this 1.0V AC signal at 1.65V DC for single-supply ADCs.

Where You Meet This in Practice

You will encounter low-voltage current transformers in several specific bench and jobsite scenarios:

  • Home Energy Monitors: Commercial units like Sense or Emporia Vue use arrays of split-core CTs clipped to individual branch circuits in your breaker panel. DIY builders replicate this using ESPHome and the ESPHome CT clamp integration to push real-time wattage to Home Assistant.
  • Solar PV Inverter Logging: To verify what your grid-tied inverter is actually pushing to the grid, you clamp a CT over the inverter's AC output line. This avoids the data latency and API polling issues inherent in reading the inverter's internal software metrics.
  • Motor Stall and Load Detection: In workshop automation, clamping a CT over the feed line of a bandsaw, lathe, or dust collector allows a PLC or microcontroller to detect when the motor is under heavy load or stalling, triggering an automatic shutoff before the thermal overload trips.

Decision Tree: Picking the Right CT for Your Build

Choosing the wrong CT leads to clipped signals, noisy ADC readings, or physical installation failures. Use this decision matrix to select the correct part.

If your application is... And your max current is... Choose this output type... Concrete Part Pick
Small appliance / single 120V branch circuit < 30A 0-1V (Internal Burden) YHDC SCT-013-030
Whole-home mains, subpanels, or 240V split-phase Up to 100A 0-1V (Internal Burden) YHDC SCT-013-000
Heavy commercial feeders, 200A+ service entrances 200A - 400A 5A (External Burden Required) Magnelab T075-000 (Solid Core)
Battery banks, DC solar charge controllers, EV chargers N/A (DC Current) Hall-Effect / Shunt (CTs will NOT work) Victron SmartShunt or ACS758
The Default Pick: For 90% of DIY home energy and Arduino/ESP32 projects, buy the YHDC SCT-013-000 (100A:1V). It has the internal burden resistor pre-installed, outputs a safe 0-1V AC signal, and the 13mm split-core window easily snaps over standard 14 AWG through 4 AWG THHN wire. It is natively supported by the EmonLib C++ library.

Critical Safety and Wiring Mistakes

DANGER: Never open-circuit a 5A secondary CT. If you are using a raw 5A-output CT (like the Magnelab models) and you disconnect the burden resistor or meter while primary current is flowing, the CT acts as a massive step-up voltage transformer. It will generate thousands of volts across the open secondary terminals, which will arc, melt the insulation, destroy the sensor, and potentially deliver a lethal shock. Always short the secondary terminals with a jumper wire before removing the burden.

Beyond the high-voltage hazard, builders frequently make two measurement errors:

  1. Clamping over Line and Neutral together: A CT measures the net magnetic field. If you clamp it over a standard 120V Romex cable containing both the hot (black) and neutral (white) wires, the magnetic fields cancel each other out perfectly, and your reading will be exactly zero. You must separate the conductors and clamp over only one current-carrying wire.
  2. Ignoring Phase Shift for Real Power: CTs introduce a slight phase delay between the primary current and the secondary signal. If you are only measuring RMS current (Amps), this does not matter. But if you are calculating Real Power (Watts) or Power Factor by multiplying the CT signal against an AC voltage reading, that phase shift will skew your wattage calculations. You must calibrate the phase offset in your software (e.g., using the PHASECAL constant in EmonLib).

FAQ: Quick Answers for the Bench

Do I need to strip the wire insulation before clamping the CT?
No. The CT reads the magnetic field generated by the current. It will clamp directly over the THHN insulation, Romex jacket, or THWN jacket without any loss of accuracy. Never strip mains insulation just to fit a sensor.

Can I use a low-voltage CT on a DC circuit?
No. Transformers rely on a changing magnetic field to induce a secondary current. DC current creates a static magnetic field, which induces zero voltage in the secondary coil. For DC, you must use a Hall-effect sensor or a precision shunt resistor.

What happens if my wire is too thin for the CT window?
If you clamp a large 100A CT over a tiny 18 AWG wire, the physical gap between the wire and the core can introduce minor linearity errors at very low currents, but it will still function. However, if the wire is so thin that it moves around inside the window, you will get noisy, fluctuating readings. Wrap the wire around the CT core multiple times to multiply the primary current (e.g., 3 loops turns a 100A:50mA CT into a 33.3A:50mA CT) for better resolution on small loads.

My ESP32 ADC is reading erratic, jumping values when the load is off.
You are likely picking up electromagnetic interference (EMI) from the breaker panel. Keep the low-voltage signal wires from the CT away from the mains AC wires. Use a twisted-pair cable for the CT leads, and ensure your DC bias circuit has a stable, decoupled voltage reference rather than relying directly on the ESP32's noisy 3.3V rail.