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)

[flickr 3218483639 ]

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!

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  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/

  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?

  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.

  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

  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?

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

  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.


    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.

  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.


    Just view source to see how it’s done.

  9. kyoorius, ya dont say 🙂 http://wattcher.appspot.com/[email protected]

  10. sexy!

  11. I prefer to use RRD for graphing data like this.

Sorry, the comment form is closed at this time.