A cable current transformer (CT) is a non-invasive magnetic sensor that clamps around an insulated wire to step down high AC line current into a safely measurable, proportional low-voltage or low-current signal. By utilizing a split-core design, it fundamentally changes how you monitor power: you can accurately measure a 100A feeder without cutting the wire, de-energizing the panel, or breaking the circuit. Hobbyists and technicians commonly confuse split-core cable CTs with Hall-effect sensors (which can measure DC) or solid-core toroidal transformers (which require you to completely disconnect and thread the cable through the donut hole).
The Physics and the Math: Sizing a Burden Resistor
Most microcontroller-based energy monitors rely on current-output CTs, meaning the sensor acts as a current source. To read this with an Arduino or ESP32 analog-to-digital converter (ADC), you must convert that current into a voltage using a "burden resistor." If the resistor is too large, you clip the ADC; if it is too small, you lose resolution at low loads.
Let us walk through a concrete numeric example using the most popular maker CT: the YHDC SCT-013-000. This is a 100A:50mA split-core CT. It has no internal burden resistor, meaning it outputs raw current.
- Primary Current (Max): 100A RMS
- Secondary Current (Max): 50mA (0.05A) RMS
- Turns Ratio: 2000:1 (100A / 0.05A)
- Target Microcontroller: ESP32 (3.3V ADC logic)
Because AC current alternates, we must bias the signal to sit at half the ADC reference voltage (1.65V) so the microcontroller can read both the positive and negative halves of the sine wave. Therefore, our target peak voltage from the CT must not exceed 1.65V.
Step 1: Calculate the peak secondary current.
I_peak = I_rms × √2
I_peak = 0.05A × 1.414 = 0.0707A (70.7mA)
Step 2: Calculate the ideal burden resistance.
R_burden = V_peak_target / I_peak
R_burden = 1.65V / 0.0707A = 23.33Ω
Step 3: Select a standard resistor.
The nearest standard 1% tolerance resistor is 22Ω. Using a 22Ω resistor yields a peak voltage of 1.55V (0.0707A × 22Ω), which safely sits below the 1.65V ceiling, leaving headroom for transient spikes without clipping the ESP32 ADC. For a 5V Arduino Uno, you would target a 2.5V peak, requiring a ~35Ω resistor (standard 33Ω or 36Ω).
For a deeper dive into the analog front-end design, including the RC filter values needed to establish that 1.65V DC bias, the OpenEnergyMonitor CT sensor guide remains the definitive open-source reference.
Where You Meet Cable Current Transformers in Practice
You will rarely see a bare split-core CT in a finished commercial installation, but they are the hidden engines behind modern power monitoring. Here is where they show up on the jobsite and the workbench:
- Home Energy Monitors: Systems like the Emporia Vue or Sense use arrays of split-core CTs clamped to individual branch circuit breakers in your main panel to provide appliance-level disaggregation.
- Solar PV Export Limiting: Grid-tied inverters (like Fronius or SolarEdge) require a CT clamped to the main service feeder. The inverter reads this CT to ensure it never exports more power to the grid than the local utility allows, throttling solar production in milliseconds if house load drops.
- Motor Overload Protection: Industrial motor starters use heavy-duty split-core CTs to monitor phase current. If a motor jams and current spikes to 600% of FLA (Full Load Amps), the CT feeds a protective relay that trips the contactor before the windings melt.
Split-Core vs. Solid-Core vs. Rogowski Coils
Not all cable current transformers are built the same. Choosing the wrong core type leads to installation nightmares or measurement errors at low loads. Here is how the three main physical form factors compare.
| Feature | Split-Core (Laminated Iron/Ferrite) | Solid-Core (Toroidal) | Rogowski Coil (Flexible Air-Core) |
|---|---|---|---|
| Installation | Clamps over existing wire; no disconnect needed. | Requires cutting wire or pulling terminal to thread. | Wraps around tight busbars; snaps closed. |
| Accuracy at Low Load | Moderate (core gap introduces slight non-linearity below 5% load). | Excellent (continuous magnetic path, no air gap). | Poor at very low currents; excels at high/transient currents. |
| Saturation Risk | High (iron core saturates during massive fault currents). | High (similar core material limitations). | None (air core cannot magnetically saturate). |
| Phase Shift Error | Moderate (requires software calibration for real power). | Low. | Requires an external hardware integrator circuit. |
| Typical Cost | $5 - $25 per unit. | $10 - $40 per unit. | $80 - $250+ per unit. |
For 95% of DIY energy monitoring and sub-metering tasks, the laminated split-core CT is the correct choice. It balances cost, ease of installation, and adequate accuracy for billing-grade sub-metering when calibrated properly.
Frequently Asked Questions
Can a cable current transformer measure DC current?
No. A standard cable current transformer relies entirely on Faraday’s Law of Induction, which dictates that a voltage is only induced in the secondary coil when the magnetic field is changing. Direct Current (DC) creates a static magnetic field, meaning the secondary output will be exactly zero. If you need to measure DC current (like on a 12V LiFePO4 battery bank or solar charge controller), you must use a Hall-effect sensor (like the ACS712 or ACS758) or a shunt resistor.
What happens if the CT secondary circuit is left open?
As noted in the safety warning above, if you are using a standard current-output CT (designed for a 5A or 1A secondary) and you leave the wires disconnected while the primary cable carries load, the CT will attempt to drive current across an infinite resistance. This results in extreme core saturation and dangerous high-voltage arcing at the open terminals. However, if you are using a "voltage-output" split-core CT (which has a factory-installed internal burden resistor), opening the external wires is perfectly safe, as the secondary coil is still loaded internally.
Does the arrow direction on the CT matter for single-phase wiring?
If you are only measuring RMS current (Amps) to see if a circuit is overloaded, the direction does not matter; the microcontroller will simply rectify the absolute value of the wave. However, if you are calculating Real Power (Watts) or Power Factor, direction is critical. Real power requires multiplying instantaneous voltage by instantaneous current. If the CT is installed backward, the current wave will be 180 degrees out of phase with the voltage wave, and your software will report negative watts (indicating power generation instead of consumption). Always point the arrow on the CT face toward the load.
Why are my real power (kW) readings wrong when my apparent power (kVA) is correct?
This is the most common frustration when building ESP32 energy monitors. Split-core CTs have a physical air gap where the two halves of the core meet. This gap, combined with the core material's hysteresis, introduces a slight phase shift (usually leading the true current by 2 to 4 degrees). While this shift is too small to noticeably affect the RMS amplitude (your kVA and Amp readings look perfect), it severely skews the power factor calculation at low loads, resulting in wildly inaccurate kW readings. You must compensate for this in software. If using the EmonLib library, adjust the phasecal variable iteratively until a known resistive load (like a space heater) reads a power factor of exactly 1.00.






