Electric Imp and Non-invasive AC current sensor

I believe you can only have one sampler (ie, sample one analog input). Admittedly, I haven’t spent a lot of time on it, but when I tried setting up multiple samplers, only the last-configured channel received any data.

There has been so much discussion, I sort of lost track of what has happened. Is there a way where one pin could be used to detect the ac zero-crossing and look at the maximum value between crossings? A circuit with a pulse at each zero crossing?

There’s still something I don’t quite get: how does the calibration work?

How can I get real power in kWatts?

Ok, I figured out that to get the real power I need instantaneous current x instant. voltage. How do I get the current?

alkopop79: there is a edit button next to the post-time. :wink:

current is what you get after using some of the code posted before.

Just noticed that only buffer1 is being processed (half of the samples). When I changed imp.wakeup(1.0, StopSampler); to imp.wakeup(1.01, StopSampler);, both buffers are filled and processed. It needs that extra 1/100 of a second to fill the second buffer. It works fine, but is there a better way of doing this?

@sjm multi-channel sampling is on the roadmap, no date as yet.


can you please list your sensor and the minimum Irms you can read?

SCT-013-000, 22Ohm burden, minimum (Irms) = ~0,21-0,22 (~45W / 230V)

SCT-013-000, 20 Ohm burden, minimum (Irms) = ~0.18 (~22W / 120V)

@osherl you are using 120V, right?


Hi, I just found this thread. I want to make a water meter using Imp. Can someone share what they have done so far?

Water metering is quite different to electricity metering. Best you get a flow meter that provides a pulse output and connect that output up to an imp. Counting pulses can give you a volumetric indication of the amount of water. It you want to finely measure rate of flow, you may find the pulse stream too coarse.

This is one style of pulsing flow meters:

There are other ‘inline’ styles too, ones that you can’t view the paddle. It’s nice to see something moving so you get a visual indication of liquid flowing.

They all come with a K-factor, that is factory calibrated to know how much volume of liquid passes for a determined number of pulses. You can of course calibrate it yourself by timing it and measuring by weight (of water in a bucket).

The Imp would be more than capable of measuring pulses with just about any residential flow-rate.

With a solenoid valve, you could enter a setpoint and have the Imp automatically meter-out a determined amount and shut off.

I’ve no idea how the pricing compares to mechanical water meters, but I do like the idea of completely solid-state (no moving parts) water metering such as this: http://www.sentec.co.uk/technologies/smartwatermeter


Magnetic flow meters, ultra-sonic flow and corealis flow meters are really great and accurate ways to measure flow without the spinning sensor to wear-out. But they are really expensive compared to the mechanical meters.

Mag flow are standard in the industrial plants, especially when the liquid is dirty. Ultra-sonic is nice because you can measure flow without disturbing a pipe, but the water must be clean with no air bubbles.

for energy metering accuracy is important, for energy consumption monitoring 2-3% is ok.
You cannot count that mains voltage is 230V (or what so ever) - +5/-10% is standard. Sampling rate must be about 3-4 KHz, difficult for imp pin configured as analog_in (I have post a discussions about that). Moving up can cause unpredictable results without I-V readings filters.
Voltage and current filtering must be equal - have the same phase shift.
And worse - you must have calibration tool to be sure about your readings in case of energy metering.

I bought two of these. I’ll see if I can get Imp to count the pulse and report hourly on xively. Any one has doen one?

You’ll have to calibrate your flow meter by counting how many pulses occur in one minute and then weighing how much water is in the bucket in one minute. Do the test a few times to get an accurate average.

One gallon of water at room temp is very close to 8.33 pounds. Or whatever the conversion is to Liters.

Your goal will be to find out how many pulses equals one gallon. Once you know that, you can measure by flow rate, or by accumulated volume.