Electrical monitor crashing

I am trying to copy a simple project to detect when my hot water tank is energized (to know when it is finished heating and to track total heating time).

I used a simple circuit to utilize an SCT013-000 current sensor (with a burden resistor and voltage bias as outlined in CT sensors - Interfacing with an Arduino | Archived Forum).

It is working when I first turn it on and I am getting a reading of about 512 on the analog input. When I subject the circuit to a load (using an AC heater) it notes the first increase but then crashes. If I slowly increase and decrease the load it seams to work but it seems like it is getting a voltage spike or some other issue when I change the heater settings quickly. . I have tried both an LCD output and the serial monitor and both stop responding. I have tried increasing the DC bias to ensure I am not getting a negative voltage on the analog pin but still no luck. I am now down to just the CT sensor circuit and a simple code and it is still crashing. Any suggestions out there?

I am only getting an AC voltage of about 0.185v across the burdern resistor at full load.

void setup() {


//Main Loop, check to see of power is on, add to timers.
void loop() {
int sensorValue;
//int x = getPeak();

Picture from OP's link:

What values are you using for R1, R2, C1 and the burden resistor ? You can put a 5v zener diode between ground and 'arduino input' to keep the voltage in the range -0.7 to +5.0 but it should not be necessary because it looks like it is anyway clamped between the Arduino's power rails.

Can You explain what "crashes" look like? Serial printouts stop?

How do You do things when it seems like it is getting a voltage spike or some other issue when I change the heater settings quickly. .?

Note that You may never let a current transformer run without any load. Not for the shortest moment. That would produce very high voltages in the low current Winding, and yes, sparks will occur. They can damage the entire transformer.

The heater must be turned off for changing the load.

Read how it [ the Current Transfomer] works and Use the arduino code from that [openenergymon ] site.

The analog signal is cycling at 50 or 60 Hz. [ your code is only seeing the peak value ]

You code is missing [ not seeing] the sine wave.

If you reset to zero every second you would get results that are more in line with what you want

Your running peak is the problem as it does not refresh continuously
[ by refreshing continuously, a 'ON' will pull the high amps and read, then when the power is turned off, the amps will drop back to zero. resetting the value once per second will get you very close to what you are trying to do. ]