Ok I tested it and it works fine. Because the reading of low current was not acurate I change readings up to 60W as 0W. I mesure the energy consumption of a room dryer that consumes about 1400W. Mabe SCT-013-005 would be more acurate in low current mesurements.

I made some changes in the software. There was a mistake in the kwh and I added a DHT-Sensor (see comment in the code).
It works well. The kwh is reset on each restart. I probably will change that in the future.

Had a chance to sit down and build this node. Made a few tweaks which you may be interested in.

Rewrote the code to sleep for 60 seconds between measurements. This saves approx 80% power ( 22mA down to 4.6mA on my 3.3v pro mini). This also corrects for the drift in the original code which resulted in gaining a second every few mins of measurements (its now only 2ms/min)

Added battery level monitoring which is reported in volts every hour and require no additional hardware or wiring than the originally posted circuit but requires a new vcc library. The actual votlage is only reported if the battery level has changed since the last reading - to save power) .

Thanks for sharing this! I am hoping to create an all-in-one extension cord plus this meter. I hope this way I can detect when a pump fails or maybe just how much power is being used.

I have read that you when using a CT you must be careful to avoid a voltage build up on the CT output. Is that a concern with this current setup? With a battery powered arduino you are not grounded? In my extension cord project I was thinking I could use the ground from the extension cord.

I am not an electrical engineer so I may be way off here, just trying to be safe.

I think this setup could be very useful. In the high school greenhouse where I have my sensor network there are so many pumps, heaters, air stones, that need to be monitored and an alert sent if they stop working.

Hello Patrick, thank you for sharing your project. I tested it and it works fine but I want to test how acurate it is with low current measurements. Can you please tell me how to change your code to get results below 60W? I'm just beginning to learn arduino-programming so i don't understand everything..

I just got my sct-013-000 non-burden version and will try it as soon as atmega+nrf packs arrive. Thanks for code update.
Meanwhile what is "msgKWH" for? What is different than "kwhMsg"? Which controller do you use?

@john7845
Error is related to missing library of DHT. If you will use DHT temperature/humidity sensor in your circuit, you should add DHT library to your Sketchbook/libraries folder. If you don't use that sensor, clear or comment out dht related codes in sketch.

I use this code just to see if the current sensor works, but I get 0.0 on the serial! What am I doing wrong?

/*
ReadAnalogVoltage
Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

One thing to keep in mind with this configuration: you're not actually measuring true power. Rather by not using a voltage reference, you're calculating apparent power, which is measured in VA (Volt Amps) vice Watts.

For resistive loads, apparent power and real power are the same, or very nearly so. But with reactive loads, e.g. motors, computer power supplies, compact flourescent or LED lamps, etc. they will differ considerably.

I was testing this code on my AC unit which has 1600W max consumption. When I first ran it always reported a value of around 270W even when the AC unit was off from mains and in running condition it reported around 750W with compressor on and around 250W with compressor off.
I adjusted the value on line

Thank for sharing the code and schematics, I cannot get it to run however, I always get 0 value whatever I do. Anyone has a suggestion about how to test this sensor the easiest way?

I have sct 013 030 sensor, and I connected it using the schematics provided here, I tried even the most basic examples I could find using EmonLib, I tried some basic examples using analog read and what not, but nothing seemed to work properly, I would always get either 0 or some fixed value.
I am connecting "first" and "last" conneciton on 3.5mm jack, but I also tried all combinations, and nothing seems to make a diffference.
I am using two resistors of 20Kohm as splitters, I am getting 2.43v between both side of them (using nano on 5V).
I am wrapping the module around the cable of the water cooker for example, which is 1.5KW, but values never change at all. It is either 0 or some max value (46A f.eks.) either with or without the load.
I was trying both nano and pro mini, same thing happens. Checked the circuit and connection between components several times.
This is the simplest code I found on the internet (not even mysensorized)

After some research I realized that this cannot work with two wires as they cancel each other.
After some googling I have found this https://moderndevice.com/product/a1324-hall-effect-sensor/ in description they mention that it can do what I want, to detect if appliance is on or off even if two wires are in close proximity. They mention that you could detect 100W, although I am planning to monitor if stove is on or off, which is I assume more then 100w.
They also have more precise "boosted" version that is more precise https://moderndevice.com/product/current-sensor/ but I think I do not need it for now.