100a CT clamp with resisters and capacitor VS 13Bit ADC?

Hello i want to setup a home monitoring in my house so i bought two of the 100 amps CT clamps here. I'm searching online and saw a few setups with arduino using Resistors and capacitor. But i would like to use the a external ADC 13 Bit mcp3304-b converter. It is a 13 Bit ADC. But looking around the ones that do have a external ADC don't have any resistors but one and no Capacitor on it. So i was wondering If using a external ADC would i need them resistors and Capacitor?


The capacitor is required for proper operation. An internal or external ADC does not change the requirements unless you’re operating at a different VCC voltage or it is a bipolar input ADC in which case you could eliminate the the resistors but that seems doubtful with a single ended supply. Details required to make sense of what you’re suggesting.

The standard configuration is shown (and explained) here:


Hello what's that Thank you. I'm going to be using a external ADC i do have a few of them. I have been looking at the openenergymonitor site the same link . Only thing i do not have is the 33ohms resistor for the Burden. I do have a 30ohms resistor. I don't know how to calculate to change or even if i can use a 30 Ohms resistors because it is close to the 33 Ohms.

Edited: i have been looking at the library and sketch to run this. EmonLib/current_only.ino at master · openenergymonitor/EmonLib · GitHub


30 ohms will lower the output voltage to 4.236 volts peak to peak at 100 amps.

The three resistors should be 1% metal film parts for accuracy and stability.

Hello WattsThat. Yes that is also what i think the problem is in the sketch there are few areas that needs to be change.

// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3

#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*230.0);	 // Apparent power
 Serial.print(" ");
 Serial.println(Irms);		 // Irms

the areas that i need to change is
emon1.current(1, 111.1); // Current: input pin, calibration.

double Irms = emon1.calcIrms(1480); // Calculate Irms only

Serial.print(Irms*230.0); // Apparent power
I’m not sure how to calculate it to make the code. I never did that before. or learned how to.

The details explaining the magic numbers and how to calibrate are here:


I think i have it now the Example is 111.1 mine will have to be change to 66.6

100 / 0.05 / 30 the 100 is the amps i forgot what the 0.05 is and the 30 is the resistor i have currently. emon1.current(1, 66.6); // Current: input pin, calibration. from What I'm als reading the 1 in there is the pin of the Clamp.

so that would be 100/0.05/30=66.6