Computing stuff tied to the physical world

Sensing power consumption

In Hardware on Sep 11, 2011 at 00:01

A small exploration of a circuit which went nowhere…


Here’s my original (naïve) line of thought:



JC's Doodles, page 11.png




Sooo… could this approach be made to work?











Hm… might give that a try.



  1. I have a vague idea that might work, but don’t have enough expertise to follow it through. How does this sound:

    You have a series of optoisolators; the first of them needs approx. 5A to trigger it; the 2nd 1A, the 3rd 0.2A …

    If optoisolator 1 is triggered, then optoisolators 2, 3… get bypassed, so you only “waste” the power to trigger Optoisolator 1.

    If the current is too low to trigger optoisolator 1, then it runs through optoisolator 2; again if the current’s high enough to trigger this you bypass optoisolator 3.

    Does that make sense? I’m not sure if it’s actually feasible or not, but maybe it gives you an idea.

    • I’m not convinced that this is practical. Anything with a voltage drop (V) and a current (I) through it is going to consume energy (P = I * V), i.e. generate heat. With passive solutions, a 5 A load will consume at least 7.5 W if it needs to produce the 1.5 V or so needed for an opto-isolator LED to light up.

  2. Very interesting views. I think your idea of building your own current transformer makes sense. I had tried to measure currents using the information provided in as reference before. Since here we just want to sense the presence of current and not measure it, it should definitely suffice. I got more reliable results by using a Toroid core inductor (I took it off an old SMPS.). eBay has few for a dollar each

  3. The little toroid inductors look like a neat trick… After reading this I was toying with the idea of mounting a pipe cleaner in the lathe, wrapping it with some fine gauge coated copper wire (I have a reel or two laying about thanks to my father) and then wrapping the finished construction round the conductor to be measured/tested.

    I’m just not quite sure how I’m going to spin the pipe cleaner without wrapping it up into a knot. I do have a free spinning centre, but I don’t think it’s going to be free enough for the thin bit of steel wire in a pipe cleaner. I think I need a lathe with both ends driven… Damn… I shall have to keep my eye open with a slightly thicker, but not too stiff, source of steel/iron… Or I guess I could just try it without any attempt at a ferrous core and just wrap it round a bit of 1.5mm copper cable.

    Why does the field have to be so awkward and go round the conductor in concentric circles, it would be so much easier if we could just wrap a coil round the conductor without having to twist everything 90 degrees to cut the field!

  4. Contactless solution is the best way … you do not have to modify your installation, more safe and easy maintenance.

    arduino-ready hall effect sensor :-)

  5. How about using the approach of OpenEnergyMonitor? The sensing circuit uses an Efergy commercial clip-on CT sensor. The sensors can be bought separately and cost around 10 euros.

  6. just an idea : how about just sensing the heat ? you said you just wanted on/off detection…

    • Definitely an option. It’s slow, though – correlating it with changes in total current consumption at home will be a bit more difficult.

  7. How about having strings of forward-biased power diodes in series with the mains to get a small, more-or-less constant, voltage drop whenever there’s any reasonable amount of current flowing then sensing that voltage drop with an opto-isolator? One string in each direction for AC. Something like:

    Might need another diode or two in each string to get enough voltage that the current-limit resistor in series with the opto-isolator LED can be meaningful. Schottky diodes would have the advantage of less power to dissipate in each individual component but you’d need more, of course.

    Not sure if there are opt-isolators sensitive enough to detect 2 mA though I wouldn’t be surprised if there are, LEDs don’t need much current to produce some light.

  8. The Rogowski coil might be an interesting alternative which has lower costs than the CT:

    The wikipedia article even mentions a low cost planar variant that could be achieved on a PCB.

    William Koon wrote an interesting paper comparing different current detection techniques:

    The low cost shunt method which is also mentioned seems to be popular in consumer plug consumption meter appliances.

  9. and what about a modified simple AM radio. it is easy to pick up 50hz hum. This idea, with the coil wrapped around the AC wires : might even help you harvesting energy. try google BEAM robotics for simple energy harvesting circuits.

  10. Mailed you before on how your thoughts seem to march just days ahead of mine. I’ve been wondering about the same problem last weeks. Thought about having a piece of 220V “montage draad” in the drill, covering it with a few layers of very thin wire and link that very bare bones transformer to any pin of the JeeNode. Then see at what current level there is an interrupt generated (ie. an appliance plugged in). The JeeNode can then switch to actively do some sensing. As long as the appliance uses no power, there is no magnetic field, so no interrupt. Once there is an interrupt, JeeNode could do some ADC or other energy wasting job. Only then, rectifying migh require wasting a volt or 1.2 over a diode… Heck, even parasitically charge a supercap to keep JeeNode going. There must be some way to switch off the electric tooth brush after charging :-)

  11. Hello,

    I know this is in french, but this link explain how to have a led on 230 AC with only a few components (no big resistors)

    • Thanks for the link (French is fine). But unless I’m missing something, this only shows a transformer-less power supply (which, to drive an LED at 10 mA, consumes over 2W). I don’t think it helps with the task of finding out whether an appliance is on or off, since there will always be power applied to it. I have to measure current by placing the detection circuit in series with the appliance.

  12. I’m testing something similar. The way I do it now is to use “signature recognition”. I found out that most electric devices have not only a recognizable electric power consumption, but for many of them, a certain pattern can be identified when they turn on. So I want to rely on a home energy monitor (based on and programs to recognize the patterns. I use 5 energy sensors. 2 on the mains entry and 3 on different breakers for precise monitoring/pattern study. It would be, of course, more precise to have one sensor per breaker, but much too expensive. The problem, again, is for very low power devices. I decided to not monitor them because they are too hard to identify on the mains sensor. But if they could be made to send a recognizable “pulse” on the wire to the breaker, that could be analyzed. I’m thinking of having a coil wrapped around the wire going to the breaker, either on a Kill-A-Watt type of interface or directly on a power wire. I think that it would be easy to have a simple tune-able circuit that used a transistor (or a 555 oscillator) to induce a recognizable signal on the coil, to be picked up by the monitor. After all, isn’t it the way cheap “mains network” systems work?

    • Sounds like you’re on to something. Would love to hear how that pulse idea works out. I’m still hoping to find a way to detect power draw at a low cost. Main ones I’m after are those intermittent users: fridges and boilers. They should be easiest, since they do draw a fair amount of current.

    • This Site and the refferences there in will give you a lot of information on that topic.

    • I just made some tests. The resolution for the entire home monitor (mains sensors) is about 5 watts. I am still testing the resolution for the mains sensor, but it seems to be about 1%. I can detect a little 13w lamp turning on and off on my desk while the system senses about 1000 watts for the whole house. The problem then is to have an “inventory” of devices power signatures to be able to differentiate them. I haven’t been able to find a circuit using a 555 timer to inject the FM signal into the house wiring yet. Any idea?

    • @timm: Very interesting reads. This is in line with was I’m trying to do. The last paper states that it is virtually impossible to detect loads of less than .25 amps. For those, we might need a simple circuit to “create” a detectable transient. A “noisy” switch…

  13. Here is a blog of a dutch guy building a setup to check if a 220v device is on or off. It for a arduino board but should be to hard to change it from 5v to 3v.

    Oh here is the overal project together with 220v relais switch and an/off check.

    • Thanks for the link, Barry – I’m not able to track everything going on out there, so I really appreciate tips like these.

      But again – this doesn’t sense current but voltage. With an appliance plugged into mains, I don’t want to know whether it gets power (it always does), but whether it draws power.

  14. This unfortunately is a difficult problem and a simple (or even not so simple) optocoupler circuit will not work.

    Doing your own transformers is problematic since the magnetizing inductance of the primary winding ruins the sensitivity of the transformer. This means you want: lots if secondary loops and (more then one primary loop and/or a nice toroidal core).

Comments are closed.