Although products are becoming more and more available for monitoring your home power usage, I'm one of those idiots who can't leave well enough alone and who would rather shell out $100 and hours of my time in order to save $20 and learn something in the process.  Building on the fine work of Trystan Lea and others at OpenEnergyMonitor.org as well as various and sundry web sources and acquaintances the result is a self-contained Arduino shield for monitoring the energy usage of your home using clamp on current transformers, an ethernet shield, and an Arduino. The resulting Energy Monitoring Shield has a built in switching power supply and with mains voltage (120VAC in the US) to the board can do power factor correction as well.  With mains voltage to the board it is also more dangerous than your typical home electronics project and as such has been rejected for distribution by commercial maker outlets like adafruit and sparkfun.  So take that as a warning, and if in doubt, keep one hand in your pocket and out of puddles when handling the board.

In simple terms, the power monitor shield provides an AC to DC power source for the Arduino and Ethernet Shield, samples the AC voltage waveform for power factor correction, and uses the current transformers to measure current draw of branch circuits in your home breaker box.

* Connectors for easy integration with clamp on current transformers
* Built in 120VAC to 5VDC switching power supply for powering Arduino and Ethernet Shields
* Monitor up to 5 branch circuits at once, of which up to 3 can be two wire single phase 240VAC
* Power factor correction for power measurements
* Code interfaces with Pachube (now COSM) internet of things for data presentation
* Makes your breaker box a mess

DISCLAIMER:  This project requires working with 120 and/or 240VAC, which can kill or seriously injure you if you are not careful.  Please be aware of and follow all applicable safety practice, electrical code, and Geneva Convention guidelines.

Step 1: BOM

The BOM (bill of materials) for the energy monitor shield is below and also attached as a txt file output from EAGLE.  In addition you will need suitable current transformers such as:
30A split core clamp on current transformer
100A non-invasive AC current sensor

If you need a larger  current transformer for getting around the main house service wires (big thick ones) you can get bigger sensors such as:
Split-Core AC Current Sensor SCT-0750

If you go with a current transformer that does not have a 1/8" phono end connector on it you will also need to source and attach them.  You can get these from cutting off old headphones, or from Radio Shack, Ax-man for those distinguished enough to have the means, or elsewhere.

It should be noted that the values for a lot of the resistors below depend on the current sensors and measurement ranges you desire to measure.  Read up on the web on current transformers for more information.

Part Value Device Package
C1 10u C-USC0805 C0805
C2 10u C-USC0805 C0805
C3 10u C-USC0805 C0805
C4 10u C-USC0805 C0805
C5 10u C-USC0805 C0805
C6 10u C-USC0805 C0805
C7 330u CPOL-USE3.5-8 E3,5-8
C9 2200u CPOL-USE5-13 E5-13
JP1  PINHD-1X2 1X02
JP2  PINHD-1X2 1X02
JP4  PINHD-1X2 1X02
JP5  PINHD-1X2 1X02
L1 330u L-US6000-XXX-RC 6000-XXXX-RC
R1 10k R-US_M0805 M0805
R2 10k R-US_M0805 M0805
R3 10k R-US_M0805 M0805
R4 10k R-US_M0805 M0805
R5 100 R-US_M0805 M0805
R6 10k R-US_M0805 M0805
R7 10k R-US_M0805 M0805
R8 100 R-US_M0805 M0805
R9 10k R-US_M0805 M0805
R10 10k R-US_M0805 M0805
R11 100 R-US_M0805 M0805
R12 10k R-US_M0805 M0805
R13 10k R-US_M0805 M0805
R14 100 R-US_M0805 M0805
R15 10k R-US_M0805 M0805
R16 10k R-US_M0805 M0805
R17 100 R-US_M0805 M0805
R18 10k R-US_M0805 M0805
R19 10k R-US_M0805 M0805
R20 100 R-US_M0805 M0805
R21 100 R-US_M0805 M0805
R22 100 R-US_M0805 M0805
TR1  EI30-1 EI30-1
U$2 LM2575 LM2575 TO263-5
<p>Hi,</p><p>Very cool project! I noticed you are measuring the voltage on only one phase and in your pictures you seam to be measuring the current on both phases going in to your breaker. Are you using a calculation to estimate the power factor for the other phase or how are you getting the separate power factors?</p><p>/Jonas</p>
The voltage phase angle is measured on a single phase for all current sensing transformers, with the assumption that being backed by the grid it will be the same across both branches. The measurement of the current waveform phase angle relative to the voltage is used to calculate power factor and is computed for the pair of current transformers when measuring 240VAC current on both branches. So the assumption there is that the aggregate current phase angle as approximated by the code is accurate for both branches. In the strange case where an appliance on the 240 branch has a large resistive load on both branches (PF = 1) and a motor for a blower on only one branch (PF &lt; 1) then this assumption will lead to some inaccuracies in power factor correction perhaps. A limitation. But for the price.... :)<br><br>-Jon
<p>Green energy monitor: http://free-energy-monitor.com/index.php/energy/live_data_locatii</p>
<p>Hi Jmengel,</p><p>Your article is very interesting. So, if you are okay, we would like to link our site(wiznetmuseum.com) to your article for more references. Is it okay?</p><p>I also left the same request to you by a private message a few days ago.</p>
<p>hey...can i get the coding that without using ethernet shield? only print the output at serial output </p>
The code already prints to the serial port. You should be able to simply comment out the ethernet setup and transmission code and go for it.
Can i flat out buy onr of these from you? This seems like a better solution than whats commercially available. Also, i have sometging wou may want in exchange (square D powerlogic cm 3350 with comm chip and panel.) Its 3 phase and waymore / not enough for wjat i want to do.
<p>Honestly I don't currently have any units on hand. I have my personal unit, which is prototype-esque in its fabulous spaghetti. If you are interested I can put one together for you, but the time frame would be post-holidays as I'm just buried right now with managing a kickstarter campaign.</p>
Damn phone keyboard...
<p>i already got this one in the picture, that is 220v-9v. can i use it?</p>
Should be fine. Not going to fit the holes in the PCB files but you can use wires from the PCB to the transformer. Just have to tweak the calibration parameters.
So i can use this transformer without changing any other other hardware component? It's also fine for the arduino power suply?
<p>You may need to change the divider resistors that feed AC voltage to the Aurduino (R2 and R19) depending on the actual output of your transformer. You just need to keep the signal from saturating the ADC input.</p><p>Also, as discussed, the burden resistors for each current transformer input will need to be altered to match the current transformers you end up using.</p>
Hi,<br>First of all sorry for my English because I'm italian.<br>I want to make a project similar to yours but i need to use 220v instead of 120v.<br>I found this on internet http://iq-technologies.net/projects/power/025/ can i use it?
<p>In hardware, all you will need to do to change the circuit for 220VAC is to swap in a transformer with a different winding. For example:</p><p><a href="http://www.digikey.com/product-detail/en/3FD-310/MT2097-ND/285633" rel="nofollow">http://www.digikey.com/product-detail/en/3FD-310/M...</a></p><p>You will also need to adjust some of the parameters in the code. But that will be easier.</p>
Hi,<br>First of all sorry for my English because I'm italian.<br>I want to make a project similar to yours but i need to use 220v instead of 120v.<br>I found this on internet http://iq-technologies.net/projects/power/025/ can i use it?
I'm having a failure every two days atm updating Cosm - it hangs at the update, seemingly at random. Did you ever get to the bottom of what was causing the locking up on yours? I'm thinking of rewriting the code without the Cosm plugin to add some extra connection checking. <br>I've been trying things for weeks now, to no avail. My shield is a clone by the way, don't know if that makes a difference. <br>Yours exasperatedly, Duncan
I did not get to the bottom of the lock up, although it was more on the scale of weeks/months rather than every day or two so I just live with it, and I got tired of messing with it. Did you heatsink the ethernet chip?
Great build, but please - add some isolation between neutral/phase and make isolation between neutral/phase and the ground plane. Add a fuse for that mains transformer too, if the transformer fails shorted you will have full house current cooking your PCB... That PCB layout is a recipe for disaster :-/
Looking over the PCB, I can see that it might make sense to increase the spacing between the mains traces and the ground plane. Also a fuse is not a bad idea. The case the PCB is housed in is a metal case grounded to the main panel. The transformer itself is not rated as an isolation transformer but does isolate the rest of the PCB from mains unless it fails in short across the primary to secondary. So again, I'm not sure how to add isolation.
You need some isolation between parts that is in contact with line voltage, that is - isolation to components on low-voltage side, groundplane, case etc.<br><br>If your PCB is mounted on plastic standoffs there is nothing to mention about placing the standoffs, but if the PCB is slit into some kind of grooves in the box, so the groundplane and metal box is actually touching, you need make a 8mm spacing between the high voltage and the edge of the PCB. The recommended spacing between your live parts and other components and/or groundplane is 8mm too. Please have a look at this picture: http://www.tablix.org/~avian/blog/images/blog/20070408t202730-img_2621-m.jpg<br><br>See the spacing between the two sides ? That is for safety. The only connection between the sides is a optoisolator and the transformer (which is internally isolated)<br><br>A fuse is a good idea, too.
Can you elaborate on a proper method to isolate? I am an ME with only enough EE to be dangerous, as you point out.
Have you looked at the AC waveform you are getting from the transformer? <br> <br>I've been looking at an energy monitor, but found that transformers distort the voltage waveform. <br> <br>See http://www.rotwang.co.uk/projects/energy_monitor.html for details
I have not looked at the AC waveform out of the xformer. I'll take a look and post the result. Nice write up on the power monitor you are building.
Nice, but a lot of cost in the audio jacks, I think people can find a cheaper alternative and save.
Being able to swap between circuits is quite handy so the jacks are a must. You do not want to solder your current transformer leads to the PCB. In any case, the SMT jacks are just $1.04 each in qtys of 10. If you want to find a cheaper jack, go for it, my only requirement was SMT. The current transformers are the main cost at ~$10 each. <br> <br>The cheapest alternative is to turn off the main breaker, tape a sheet of paper with &quot;0 Watts&quot; written on it to the computer screen and go for a walk. Savings!
Nice! I would want to make one of these but for 240V 50Hz (and 400V 3-phase). Any pointers?
You'll need to alter some of the calibration numbers and be sure your current transformers and burden resistors are rated for 240V. You'll also need to select a transformer suited for 240VAC. Check at openenergymonitor.org and in their forums as there is sure to be someone who has already done what you propose. <br> <br>I can't help you on the 3-phase front. In theory you'd just need to modify the power monitor shield to use 3 current transformers per input, placing all in series. Getting power factor data will be more challenging. Again, probably someone at openenergymonitor.org has done this.
To clarify, by transformer I mean the step-down transformer for single phase voltage measurement and power factor correction which is also used to power the device. You'll need a transformer that steps the 240V 50Hz down to 6VAC.
Cool. How long has this been installed? Have you noticed anything interesting yet?
I've had a version of this installed for about 2 years. I use it for monitoring solar production and for tracking HVAC usage among other things. In terms of interesting things, I've found out which branch circuits have significant vampire loads on them and tracked down a few gross offenders that now get switched off via a surge strip when not in use.

About This Instructable


186 favorites


More by jmengel: Laser Cut Front End Loader Toy Laser Cut Ukulele Electric Brewery Control Panel on the Cheap
Add instructable to: