Power reading about half of true value

I have - It’s in the new emonPiCM, which uses a different radio protocol, but it’s not in the (standard) discrete sample emonPi, and I’d forgotten that. Sorry for the confusion.

Hi Robert,

It’s OK. I have installed platformio on the EmonPi and compiled and uploaded the code. Piece of cake :stuck_out_tongue:

I deleted my previous post because I wanted to repeat the measurements by not touching at all the CT and the probes. I proved correct because the measurement turned to be quite different.

So, connected the multimeter in parallel with the CT resistor (100Ω) set it to ACV at 200mV scale and measured 187mV. I didn’t do any turns on the cable. I repeated the measurement a few times just to see whether the value remains stable. As long as the load was ON the measurement was at 187mV. I turned off the load after each measurement just to make sure that the multimeter will be zeroed.

Based on the above the current on the CT’s secondary should be 1.87mA while the load draws based on my measurements around 5.75A at the same time.

Now I suppose this gives us the CT transformer’s ratio ? How can we calculate the number so to calibrate the EmonPi and should I change the onboard (emonPi) resistor too?

Thanks in advance for your help

Using your numbers, and taking the rated current to be 71 A (a peculiar number, but hey ho), the ratio is 71 A : 23.09 mA. Let’s round it to 71 A : 23 mA.

If you want to read to the full 71 A, then you want the burden resistor to develop 1.1 V across it at 71 A primary current, i.e. with 23mA flowing in the secondary winding and the burden. That gives a resistor value of 1.1 V ÷ 23 mA = 47.8 Ω. Going to the next lower preferred value gives you 47 Ω. If you only need or want to measure to a lower maximum, then you need to do the same sum but with the lower current replacing the 71 A.
As a quick (educated) approximation, if you remove the on-board 22 Ω resistor and rely on the 100 Ω burden inside the c.t., your max. current is close to 35 A. (Doing the maths backwards: 1.1 V across 100 Ω = 11 mA, referred back through the c.t. gives 11 mA ÷ 23 mA × 71 A = 33.96 A.)

If you want a lower maximum than that, then you need to replace the 100 Ω with a higher value. If you take the 100 Ω out of the c.t. completely and put the only burden inside the emonPi, then you should replace the 100 Ω with pair of 4.7 V zener diodes in series opposition (connected in series but their anodes connected together). This won’t affect the accuracy, but it provide a path for the current if the c.t. is unplugged from the emonPi.

The calibration constant is the primary current that would give you 1.0 V across the (actual) burden resistor you use. How to calculate it should be clear from the above, as it depends on the burden you choose.

Hi Robert,

I deleted my previous post (I suppose your reply is based on the email you received with my deleted post). The measurements turned to be wrong and provided new.

However If I use your calculation above and just replace the numbers I can probably do the necessary changes (both SW and HW).

However, I doubt I will make it without further help :grimacing:

No, I used post no.23 (1300 UTC today).


what confuses me is that I can’t figure out how you calculated the 23mA… It may be obvious but I can’t get it.

From what I understand if I take out completely the 22 ohm resistor from EmonPi and replace the 100 Ohm of the CT with a 47 Ohm I will get the full range of 71A. Then I will add this value (71) as the calibration constant to the code and power calculation will be fixed. I prefer to remove EmonPi resistor because I don’t have Zeners right now and It will be difficult to get any on my hands in a short time.

Proportion: 1.87 mA ÷ 5.75 A = ? ÷ 71 A

1.87 mA ÷ 5.75 A × 71 A = 23.09 mA

Correct - or near enough. It will go a little above 71 A before it clips and you get inaccurate values.

Close - but you’ll probably need to make a fine adjustment anyway because your resistor won’t be exactly 47 Ω, and the emonPi’s voltage reference won’t be exactly 3.3 V either.
Doing the maths backwards: The calibration constant is the current that gives you 1.0 V across your 47 Ω. That’s = 21.28 mA, referred back through the c.t. gives 21.3 mA ÷ 23 mA × 71 A = 65.68 A.

That’s fine, and probably the easiest.

1 Like

Crystal Clear !!!

Thanks a lot Robert.

So I’m going to remove R28 (CT1) and replace the CT’s 100Ω with a 47Ω, correct the calibration value in the firmware and test again.

I’ll post the results here as soon as I have them.

1 Like

(Hint) If you are likely to want to put it back, twist it round and leave one end soldered to a pad, the other end free. Then it won’t get lost.


didn’t take too much but the outcome doesn’t look very promising :frowning_face:


With the resistor removed and even without the CT connected, the feed shows random values. This is just the port 1 of the CT where 22Ω resistor is removed. The other one looks OK.

When I connect the CT it zeroes for a moment and then goes crazy again.

Any ideas ? Did I break something ? I swear I didn’t touch any other SMD component.

Hmmm, it looks like the problem lies within the CT. I tested with another one which still has the 100Ω resistor and when I connected it the values go to zero. So, without the 22Ω resistor it’s normal for the values to go random and need to add the resistor from the CT to stabilize it. But somehow the other CT where I changed the resistor seems like not working anymore.

I must double check…


I soldered a 47Ω resistor to the second CT, this time the values go zero when I connected it on the EmonPi but when I switch on the load it shows almost nothing…Around 2-3W.

Therefore I suppose that the measurements I took in order to calculate the resistors and the calibration values are wrong. I can’t think of anything else…

Check the connections to the 3.5 mm plug.

Is it a 2-pole (mono) or a 3-pole (stereo). If it is a 3-pole, the red and black wires must connect to the Tip and the Sleeve (either way round)

Hi Robert,

I know it’s very annoying for you and I’m really sorry for that. Yes I’m using a stereo jack and yes, I don’t use the sleeve and tip but the ring and tip. I will change it right away and check the outcome.

Just for your info, even without a CT connected the port1 shows that a CT is connected (serial monitor).

No quite true - what it really means is there is a plug in the socket. What it is doing is checking the voltage. When there’s no plug, the “break” contact inside the socket grounds the input via the 22 Ω burden, and a true 0 V is detected, and it thinks there is no c.t. When there is a plug - no wires, just a plug - that ground connection is broken, the input is connected to 1.65 V, and it thinks there is a c.t. connected. Without a burden inside the emonPi, this won’t work: the voltage without a real connection to the 1.65 V bias could be anything but it almost certainly won’t be 0 V - so it thinks a c.t. is connected whether there is or not.

If you want it to tell the truth, connect a high value resistor (~10 kΩ) in the holes where your 22 Ω SMT burden was. I won’t significantly affect the calibration, it should make the “no c.t.” part work.

1 Like

Dear Robert SUCCESS!!!

It shows 3.86KW and at the same time the OWL shows 3.88KW (and to be honest I never considered OWL very accurate).

Now that I know the theory behind all this stuff (thanks to you and your patience) I can continue experimenting and improving the accuracy. As soon as I receive the multimeter I will take again new measurements and try to come closer in terms of accuracy.

Thank you very much Robert and please keep up the good work :+1:

IIRC, the Owl provides “approximate apparent power measurements.” as it’s battery powered and doesn’t sample the mains voltage to do a voltage / current phase comparison. With a resistive load, the measurement it makes will be fairly close to the real power being consumed, as well as the measurement made by your emonPi.

But, if a reactive load e.g. one with a motor, is used, the difference between the measurement from your Owl and the measurement from your emonPi, will be quite noticeable.

1 Like

I think it’s safe to assume that most “easy to install” monitors aimed at the do-it-yourself domestic market will work like that - some even don’t measure mains voltage at all (those are the sort wholly powered by batteries) and rely on the user entering the correct ‘average’ voltage. At best, this sort will only give a general indication of usage.

1 Like

You are both right. Most of these companies are selling very expensive products in fancy enclosures with advertisements praising their features and user friendly approach and when you buy one you discover that are buggy, lacking support and some time you even have to pay additional fees in order to have access to your data (this is the case of OWL and I’m suspecting of many others).

I think openenergymonitor worth every penny because it’s open source and of course, for this wonderful support here.

1 Like