Monitoring Electricity Usage

Automatically measuring and graphing Electricity usage with an inexpensive device
Copyright 2012, Chris Nafis

Table of Contents


It's nice to plot your daily electricity usage so you can see places for conservation. The utility meter on your house records cumulative kilowatt hours used since it was installed. The number of watts being used is even more helpful.

There are different methods to capture this information. One approach is to put current measurement coils on the main leads to your breaker panel. One of the most well known products is the TED The Energy Detective. The advantage is that you have more resolution than the utility meter reports. The downside is that the computed kilowatt hours may be different from what the Power company's meter says. Another approach is to read the 1 watt IR pulses on the meter. This has nice resolution, but if the system misses any pulses, you loose track of your total usage. The other downside is that you have to mount something on the meter outside in the elements. Sometimes alignment can be a problem. A commercial example would be the Blue line Energy Monitor


There are several Internet sites that you can post your power usage to. Google launched the Google PowerMeter Project as a free energy monitoring tool to raise awareness about the importance of giving people access to their energy information. Unfortunately they retired the service in September 16, 2011. Microsoft had the Hohm Power Service but it will be discontinued on May 31, 2012.

There are several other sites that have picked up the slack:


A third approach has been developed by Grid Insight It uses the Consumption data packets that are broadcast by many ERT utility meters manufactured by GE, Schlumberger, Itron, and others. The Grid Insight AMRUSB-1 has a pretty good range. It will pick up meters within several hundred feet. You will need to identify your meter by the number on the front of the meter as shown above.

I didn't want to keep a desktop or laptop computer tied up reading the utility meter. The ethernet connected open-hardware Arduino seemed like a good fit.

Sparkfun has a USB Host Shield available, but it needs to be modified:

Oleg Mazurov has developed USB Host code. Line 61 of the Arduino USB Library -> Usb.h , has to be changed P10 to P6 to work with the modified USB Host Shield.
typedef MAX3421e<P6, P9>		MAX3421E;
The acm_terminal example works well with the Grid Insight device. The amrusb-1 outputs the consumption results as NMEA 0183ormat statements:
These statements can be parsed for the the meter id and the total kilowatt hours. The data can be posted to Pachube like in the Arduino PachubeClientString example.


Here are the materials that I used to develop this project. Most items are available from multiple vendors ( Sparkfun, Sparkfun, Parallax, Acroname, Seeedstudio )


Other types of real-time data have sites that users can share their data with the global Internet Community. For example, Weather Underground is a great place to store my weatherstation data. StrikeStar is wonderful for processing distributed lightning detectors data to produce real-time maps.

Pachube ("patch-bay") connects people to devices, applications, and the Internet of Things. As a web-based service built to manage the world's real-time data, Pachube gives people the power to share, collaborate, and make use of information generated from the world around them.

This is a perfect repository for our House Electricity Usage data. It provides a simple HTTP interface to post data and applications which generate charts that can be included on your web pages:



This project is for experimental use only. The user assumes all responsibilities for assembly, installation, and use. This circuit is provided without warranty and the author makes no claim that this device will work in any particular application. Do not use in applications where failure or incorrect operation could jeopardize someone's safety. This schematic is provided for noncommercial use only.