Wattcher! For when you want to watch your Watts

(Last week, Phil T. & I entered our prototype networked power meter “Tweet-a-watt” into the Greener Gadget competition here in New York. After much demand for how to do such a thing, I’ve decided to post up this work in progress)

This project documents my adventures in learning how to wire up my home for wireless power monitoring. I live in a rented apartment so I don’t have hacking-access to a meter or breaker panel. Since I’m still very interested in measuring my power usage on a long term basis, I will build wireless outlet reporters. Building your own power monitor isn’t too tough and can save money but I’m not a fan of sticking my fingers into 120V power. Instead, I’ll build on the existing Kill-a-watt power monitor, which works great and is available at my local hardware store.

My plan is to have each room connected to a 6-outlet power strip which powers all the devices in that room (each kill-a-watt can measure up to 15A, or about 1800W, which is plenty!). That way I can track room-by-room usage, for example “kitchen”, “bedroom”, “workbench”, and “office”.

This project will show how to:

  1. snag data from a Kill-a-Watt power meter
  2. use an XBee to read analog sensor data remotely
  3. put XBees into low power sleep mode
  4. have multiple sensors transmit to one receiver
  5. parse XBee sensor data using python on a home computer and/or an Arduino-type thing
  6. utilize Google App Engine ‘cloud computing’ to store that data and display it for later analysis

So far I’ve uploaded the first section which goes through the hardware steps of wireless-izing a Kill-a-Watt with an XBee modem!



11 Comments

  1. That is really nifty. I was just messing with collecting home energy usage data last month and stumbled upon the fact that google spreadsheets allows you to insert data from external sources and tie that to visualization gadgets. Once you bang out a script that outputs your data as csv, you could display it like those sexy google finance-like graphs with about 5 minutes of work.

    description and links below the graphs at: http://www.omnistep.com/furnacemonitor/

    Comment by kyoorius — January 25, 2009 @ 12:34 am

  2. hmm! i might have to figure out how to use that nice widget. I was going to use google graphs but theyre not that great. Is it required that I create a spreadsheet?

    Comment by ladyada — January 25, 2009 @ 11:10 pm

  3. Nice project! This is something I’ve been intending to get around to doing, myself.

    One suggestion: Add one chip and a few external components to insert an RMS-to-DC converter between each sensor tap point and the XBee input.
    Then you can drop the sample rate to something like once per second, and not have to track the waveforms. An AD737 goes for $6 to $12 at DigiKey.

    Comment by DBell5 — January 27, 2009 @ 3:14 pm

  4. neat chip…but i think it might be more useful to pop in a multiplier and integrator…although at that point you should just put in a microcontroller

    Comment by ladyada — January 27, 2009 @ 3:31 pm

  5. Well, of course a multiplier would be great, too!
    But you would be working in the analog domain, so range might be an issue.

    Of course, if you want a multiplier, integrator and microcontroller, they’re already all there in the Kill-A-Watt.
    How could we hack into the data, and give the KAW wireless connectivity?

    Comment by dbell — January 27, 2009 @ 9:14 pm

  6. ya i know, right? unfortunately the chip is some noname thing, sometimes even epoxied in…totally sucks!

    Comment by ladyada — January 27, 2009 @ 10:05 pm

  7. time to send a kill-o-watt over to Chris over at Flylogic :)

    To answer your question above about the spreadsheet requirement. No, it’s not required, but it would be more difficult.

    http://code.google.com/apis/visualization/documentation/dev/implementing_data_source.html

    One reason to venture into that is to “possibly” display a larger data set. Right now the browser chokes while chewing through anything more than a few thousand data points. I don’t know if it’s the visualization code or the ajax in the background querying data from Google spreadsheets which is pulling the data from my machine. However, I personally find developing in javascript to be quite unpleasant and try to avoid it if I can.

    Comment by kyoorius — January 28, 2009 @ 1:08 am

  8. Hey. Looked into the Google timeline viz and apps docs tonight. Turns out it wasn’t difficult at all to do graphs without interfacing with the spreadsheet.

    http://www.omnistep.com/furnacemonitor/googleviz-direct.php

    Just view source to see how it’s done.

    Comment by kyoorius — January 30, 2009 @ 6:01 am

  9. kyoorius, ya dont say :) http://wattcher.appspot.com/history?user=adawattz@gmail.com

    Comment by ladyada — January 30, 2009 @ 10:53 am

  10. sexy!

    Comment by kyoorius — January 30, 2009 @ 11:15 am

  11. I prefer to use RRD for graphing data like this.
    http://oss.oetiker.ch/rrdtool/

    Comment by PaulC — January 31, 2009 @ 8:36 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

www.flickr.com
adafruit's items Go to adafruit's photostream
www.flickr.com
items in Adafruits More in Adafruits pool