Measuring Current & Power with SCT sensor

I have an SCT-013 current sensor for 100A max. Im using this code and wiring here:

#include "EmonLib.h"
// Include Emon Library
EnergyMonitor emon1;
// Create an instance
void setup()

  emon1.current(1, 111.1);             // Current: input pin, calibration.

void loop()
double Irms = emon1.calcIrms(1480);  // Calculate Irms only
Serial.print(Irms*120.0);           // Apparent power
  Serial.print(" ");
  Serial.println(Irms);             // Irms

I did mod the code because we use 120V instead of 230V, and I wired up a lamp with one of those old energy saving phillips bulbs which is rated at 14W. When the lamp is toggled it goes from 11.09 apparent power (W) & 0.09 A, to 51.56 power & 0.43 Amps.

First off, my doubts about how it shows power flow when the lamp is off, so I wonder if there is a way (in code since the sensor doesnt seem to have a pot) to regulate it down to 0.

Second, 120V * 0.43A = 51.6 which is not Watts it should be pulling. Am I understanding apparent power incorrectly?

Third, components, I AM using a 33Ω burden resistor since im using the 5V pin on my nano as Vcc. Im using the exact capacitor values as well.



A 100A sensor is rather large for reading 0.09 Amps .

If somehow , you read 100A with an analog input the resolution is 100/1024 , or about 0.1 Amp. So your no current signal is down in the noise or possible magnetising current errors .

Couple of other points - the led lamps may create harmonics which your circuit may not measure, creating an error in the reading.

If your 5v supply varies , then so will the calibration of your circuit .

So ..., you are trying to measure too small a current . You can mod the software by adding an offset to the measured value to improve the “zero” reading

I just checked with a kilawatt meter and got:


So 0.2 A at 127V is 25W.

Im just trying out the sct with a lamp because that's the easiest thing I could split the wires on. But my ultimate goal is to use the sct around the house main to measure consumption.

OK I took out a soldering iron, 40W. Again, I know, not much amperage, only 0.30A according to the kilawattmeter. This time I messed with the calibration factor in the code.

Its default to 111.1 so without anything in the sct, i took it down until it read near 0 (because if i plug in 0 then everything turns to 0). I left it at 0.1 for amps which gave about 0.01 for W.

But when I then connected the soldering iron (42W & 0.3A) the serial monitor read 20W or so power and 0 Amps.

So i took it back to 111.1 and this time with the soldering iron ON it read 60W and 0.4A, so I brought it down to 31 which is where it reads 42W and around 0.3A:

but its unstable at times as you can see it drops to 20W and 0.2A. So Ill keep looking for something with more amp draw.

Second, 120V * 0.43A = 51.6 which is not Watts it should be pulling. Am I understanding apparent power incorrectly?

No, apparant power is not net real power. Devices typically list their real power rating (and sometimes also
current). If apparent power is quoted, it is measured in VA, not W.

Only in a purely resistive load like a heater or tungsten bulb will apparent power be the same as real power.

Anything else may have larger or much larger apparent powers due to reactive circuit elements (capacitors,
inductors, transformers).

sorry for reopening the thread but i have a similar problem.
i use the same work but with 50A max
when i do my calibration i use the power consumption of my pc (0.20/0.25 A) i can get the values correctly
but i have a problem with a spike in value that dont show up on my kilawattmeter.
and the second problem is when i add more power consumption the values differ between the kilawattmeter and the sensor