A current transformer for metering is a precision magnetic device that steps down high primary AC current to a safe, proportional secondary current so standard instruments can measure it without carrying the full load. In a real circuit or installation, it changes the architecture by physically isolating low-voltage metering electronics from dangerous mains potentials while scaling the signal to match standard analog meter or microcontroller ADC inputs. Beginners and even some intermediate makers commonly confuse metering CTs with protection CTs, not realizing that a metering CT is intentionally designed to magnetically saturate during a short circuit to protect the delicate meter attached to it, whereas a protection CT is built to remain linear during massive fault currents so relays can trip.
The Working Principle and the Math
At its core, a current transformer (CT) operates on the same mutual induction principle as a voltage transformer, but it is designed to be driven by a constant current source (the primary wire) rather than a constant voltage source. Think of a CT like a water flow meter that uses a small bypass pipe: the main river (primary current) flows through the heavy mains wire, but a precisely proportional trickle (secondary current) is diverted through the secondary winding to spin the measuring turbine.
The relationship is governed by the inverse turns ratio. If you have a 2000:1 turns ratio, one amp of primary current forces 1/2000th of an amp through the secondary coil. Because microcontrollers like the ESP32 or Arduino cannot measure current directly—they measure voltage—we must pass this secondary current through a precision burden resistor to generate a readable voltage drop.
Worked Numeric Example: Sizing a Burden Resistor for an ESP32
Let's look at the ubiquitous YHDC SCT-013-000 split-core CT, a staple in DIY energy monitoring. It is rated for 100A primary and 50mA secondary, giving it a turns ratio of 2000:1. We want to interface this with an ESP32-S3, which has a 3.3V ADC limit, and we are measuring a nominal 40A RMS load (like a heavy EV charger or subpanel).
- Primary Current (I_p): 40A RMS
- Secondary Current (I_s): 40A / 2000 = 0.020A (20mA) RMS
- Target Peak Voltage (V_peak): The ESP32 ADC reads 0 to 3.3V. Since we are measuring AC, we must bias the signal at 1.65V (half of 3.3V). This leaves a maximum peak swing of 1.65V before clipping.
- Maximum RMS Voltage (V_rms): 1.65V / 1.414 (√2) = 1.16V RMS
- Burden Resistor (R_b): Using Ohm's Law (R = V / I), R_b = 1.16V / 0.020A = 58 ohms.
In practice, we would select the next standard 1% resistor value down—56 ohms—to ensure we never clip the ADC during slight grid overvoltages. At 40A primary, the secondary pushes 20mA through 56 ohms, yielding 1.12V RMS (1.58V peak). Added to our 1.65V DC bias, the ESP32 sees a clean sine wave oscillating between 0.07V and 3.23V. According to the OpenEnergyMonitor project documentation, keeping the peak voltage at least 5% below the ADC rail prevents the internal sample-and-hold capacitor from charging inaccurately.
Where You Meet Current Transformers for Metering in Practice
You will encounter metering CTs across three distinct tiers of electrical work, each with different accuracy requirements and physical form factors:
- Commercial Revenue Submetering: In multi-tenant buildings, landlords use revenue-grade CTs (often solid-core, 5A secondary output) paired with Class 0.5 meters to bill tenants for exact kWh usage. These are heavy, potted in epoxy, and legally sealed by the utility or AHJ.
- Consumer Home Energy Monitors: Devices like the Emporia Vue or Sense use proprietary or standard split-core CTs (typically 50mA or 100mA secondary outputs) that clamp directly onto individual 120V/240V branch circuits inside a residential load center. These prioritize ease of retrofit over absolute revenue-grade precision.
- DIY Solar and Battery Telemetry: Makers building custom power walls or solar dashboards use cheap split-core CTs (like the SCT-013) paired with custom PCBs featuring op-amp conditioning circuits to feed data via MQTT to Home Assistant.
Metering vs. Protection: The Saturation Trap
The most critical specification to understand when selecting current transformers for metering is the Instrument Security Factor (FS) or accuracy class. As detailed in industry technical primers on instrument transformers, the core steel is engineered differently depending on the job.
| Feature | Metering CT (e.g., Class 0.5, FS 5) | Protection CT (e.g., Class 5P20, 10P) |
|---|---|---|
| Primary Goal | High accuracy at normal operating loads (80% - 120% of rated current). | Maintain linear ratio during massive fault currents (up to 20x rated current). |
| Saturation Behavior | Saturates early (e.g., at 5x rated current) to limit secondary current. | Resists saturation; core is larger and uses different steel alloys. |
| Why it matters | Protects delicate analog meter movements and shunt resistors from melting during a short circuit. | Ensures protective relays see the true magnitude of a 10,000A fault so they can trip the breaker. |
| Cost & Size | Smaller core, generally less expensive for the same primary rating. | Larger, heavier core, more expensive. |
If you accidentally wire a protection CT to a sensitive analog kWh meter, a downstream short circuit could drive 100 amps through the meter's 5A coil, instantly vaporizing the internal shunts. Conversely, if you use a metering CT to feed a protective relay, the CT will saturate during a fault, the relay will see a truncated current waveform, and the breaker will fail to trip, potentially causing a fire.
FAQ: Current Transformers for Metering
Can I use a protection CT for revenue metering?
Technically yes, but practically no. Protection CTs (like a 5P class) are only guaranteed to be accurate within 1% to 5% at rated current, whereas revenue metering requires Class 0.5 or Class 0.2 (0.5% or 0.2% error). If you use a protection CT for billing, your measurements at light loads (e.g., 10% of rated current) will drift significantly, leading to inaccurate billing and potential legal disputes with tenants or utilities. Always match the accuracy class to the application: 0.2s/0.5s for billing, 5P/10P for tripping relays.
What happens if I leave a metering CT secondary open-circuited?
In a normal transformer, primary current is determined by the secondary load. In a CT, the primary current is forced by the external mains circuit. If the secondary is open, there is no opposing magnetic flux (demagnetizing ampere-turns). The entire primary current acts as excitation current, driving the core into extreme magnetic saturation. This induces massive voltage spikes in the secondary winding—often exceeding 2,000V to 5,000V. This will puncture the insulation, create a lethal shock hazard, and overheat the core to the point of melting the casing or starting an electrical fire. Always short the S1 and S2 terminals before removing a meter, or use CTs with built-in shorting terminal blocks.
Does the direction of the wire through the CT window matter?
Yes, absolutely. CTs have a strict polarity, usually marked by P1/P2 on the primary (mains) side and S1/S2 on the secondary side, or indicated by a dot on the schematic. For simple analog ammeters, direction doesn't change the reading. However, for digital wattmeters, power quality analyzers, and microcontrollers calculating real power (Watts) and power factor, the phase angle between voltage and current is critical. If you install the CT backward (P2 facing the source instead of P1), the current waveform will be shifted by 180 degrees. Your energy monitor will read negative watts, interpreting a load as solar generation, and your power factor calculations will be completely inverted.
How do I size the burden resistor for an ESP32 energy monitor?
To size the burden resistor, you need three values: the CT's secondary current at maximum expected primary load, the ESP32's ADC reference voltage (usually 3.3V), and your DC bias voltage (1.65V).
- Calculate maximum secondary RMS current: I_sec = I_primary_max / Turns_Ratio.
- Calculate maximum allowable RMS voltage: V_rms_max = (ADC_Max / 2) / √2. For a 3.3V system, this is 1.65V / 1.414 = 1.16V.
- Calculate resistance: R = V_rms_max / I_sec.






