A micro current transformer is a compact, electrically isolated electromagnetic sensor that steps down primary AC line current into a precisely proportional milliamp-level secondary current for measurement by low-voltage microcontrollers. When you need to measure 120V or 240V AC mains power on an ESP32 or Arduino, this component fundamentally changes your design by providing galvanic isolation. It keeps lethal mains voltage entirely separated from your 3.3V logic circuitry while delivering highly accurate, low-noise current readings without the insertion losses of inline resistors.

Core Operating Principle and What It Changes

At its core, a micro current transformer (CT) operates on the same magnetic induction principles as a massive utility pole transformer, but scaled down for printed circuit boards or tight inline enclosures. The AC mains wire acts as a single-turn primary winding. The alternating current generates a fluctuating magnetic field in the CT's ferrite or nanocrystalline core, which induces a proportional current in the multi-turn secondary winding wrapped around that core.

What this changes in a real installation is safety and signal integrity. Without a micro CT, measuring AC current requires either a shunt resistor (which ties your microcontroller ground directly to the AC line, creating a massive shock hazard and destroying isolation) or a Hall effect sensor (which requires active power, suffers from thermal drift, and introduces high-frequency noise). The micro CT is entirely passive on the secondary side, requires no external power to operate, and naturally blocks any DC offset or high-voltage transients from reaching your ADC.

The Math: A Worked Numeric Example

Let us design the front end for a smart plug measuring up to 15A RMS on a 120V AC circuit using an ESP32 (which has a 0-3.1V usable ADC range). We will use the widely available ZMCT103C micro CT, which has a turns ratio of 1000:1.

  • Primary Current ($I_p$): 10A RMS (our target measurement point).
  • Secondary Current ($I_s$): $10A / 1000 = 10mA$ RMS.
  • Burden Resistor ($R_b$): Micro CTs output current, but microcontrollers read voltage. We must convert the current to voltage using a burden resistor. Let us select a 100-ohm resistor.
  • Secondary Voltage ($V_{rms}$): $10mA imes 100\Omega = 1.0V$ RMS.
  • Peak Voltage ($V_{peak}$): $1.0V imes \sqrt{2} = 1.414V$.

Because the AC waveform swings positive and negative, and the ESP32 ADC cannot read negative voltages, we must bias the signal. We use a voltage divider to create a 1.65V DC offset (VCC/2). The ADC will now see a sine wave oscillating between $1.65V - 1.414V = 0.236V$ and $1.65V + 1.414V = 3.064V$. This perfectly utilizes the ESP32's ADC range without clipping the peaks, ensuring accurate RMS calculations in software.

Burden Resistor Wattage Check: Power dissipated by the resistor is $P = I^2R$. $(0.01A)^2 imes 100\Omega = 0.01W$. A standard 0805 SMD resistor (rated for 0.125W) or a 1/4W through-hole resistor provides more than enough thermal headroom.

Where You Meet Micro Current Transformers in Practice

As of 2026, micro CTs are the undisputed standard for non-invasive or isolated AC current sensing in commercial and DIY IoT hardware. You will find them inside:

  • Smart Plugs and Relays: Devices like the Shelly EM or Sonoff POW use PCB-mount micro CTs to calculate real power (Watts) and trigger overloads.
  • Whole-Home Energy Monitors: Systems like the Emporia Vue or Sense use arrays of split-core micro CTs clamped directly onto branch circuit wires inside the main breaker panel.
  • Solar Inverters and BMS: Used for AC coupling verification and grid-tie current limiting, where strict galvanic isolation is required by UL and IEC safety standards.

Common Confusions: Micro CT vs. Hall Effect vs. Shunt

Beginners frequently confuse micro CTs with Hall effect sensors (like the popular ACS712) or shunt resistors. While all three measure current, their underlying physics and failure modes are vastly different. According to Texas Instruments current sensing design guides, choosing the wrong topology for mains voltage is a leading cause of prototype destruction.

Feature Micro Current Transformer Hall Effect Sensor (e.g., ACS712) Shunt Resistor
Measurement Type AC Only AC and DC AC and DC
Galvanic Isolation Yes (Magnetic) Yes (Optical/Magnetic internal) No (Direct electrical connection)
Power Requirement Passive (None) Active (Requires 5V VCC) Passive (None)
Thermal Drift Negligible High (Requires software offset calibration) Low (Depends on TCR)
Mains Safety Excellent Good (If isolation rating is respected) Dangerous (Ties logic to mains)

Decision Tree: Picking the Right Sensor for Your Build

Do not waste time debating sensor topologies if you are measuring AC mains. Follow this decision path to select the exact hardware for your workbench.

Condition Action / Next Step
Are you measuring DC current or mixed AC/DC? Stop. Micro CTs cannot measure DC. Use a Hall effect sensor or a shunt with an isolation amplifier.
Are you measuring AC current below 50V (e.g., 12V AC halogen lighting)? A shunt resistor is safe and acceptable here, provided you handle the common-mode voltage in your op-amp circuit.
Are you measuring AC Mains (>50V) and need to retrofit an existing panel without cutting wires? Choose a split-core micro CT. Pick: SCT-013-000 (outputs 50mA at 100A primary, requires external burden).
Are you designing a custom PCB for a smart plug or inline monitor? Choose a PCB-mount toroidal micro CT. Pick: ZMCT103C (1000:1 ratio, 5A to 5mA, fits standard 0.1-inch header footprints).
The Default Pick: For 90% of DIY ESP32/Arduino AC mains projects, buy the ZMCT103C for PCB designs and the SCT-013-000 for breadboard/panel retrofits. They are cheap, heavily documented in the OpenEnergyMonitor community, and inherently safe.

FAQ: Burden Resistors, Phase Shift, and Safety

Q: What happens if I power up the circuit without the burden resistor installed?
A: You risk catastrophic failure. A current transformer must never be operated with an open-circuited secondary while primary current is flowing. Without the burden resistor to dissipate the energy, the CT will attempt to drive the secondary current across infinite resistance, generating massive voltage spikes (often exceeding 1kV). This will arc across the secondary windings, melt the insulation, and permanently destroy the sensor, potentially sending high voltage into your microcontroller.

Q: Why does my real power (Watts) calculation read incorrectly even though my RMS current is accurate?
A: This is caused by phase shift. The magnetizing current required to energize the CT core causes the secondary current waveform to lag the primary current waveform by a few degrees. While this does not affect simple RMS amperage readings, it severely skews Real Power ($P = V imes I imes \cos(\theta)$) calculations when multiplied against the AC voltage waveform. You must implement a phase calibration constant in your software (such as in the EmonLib library) to shift the voltage or current samples back into alignment.

Q: What ADC sampling rate do I need for accurate RMS readings?
A: To accurately reconstruct a 60Hz sine wave and capture the true peaks without aliasing, you need a minimum of 12 samples per cycle, but practically, you should aim for at least 1,500 to 3,000 samples per second (1.5kHz - 3kHz). The ESP32's I2S ADC or properly configured SAR ADC can easily achieve this, whereas a standard Arduino Uno sampling via analogRead() in a basic loop might bottleneck and yield artificially low RMS values.