Homemade Power Monitor



Over the past few years I'd been somewhat interested in the power usage of my home. I had a Kill-A-Watt as well as a generic whole home power monitoring system, but after buying a Chevy Volt I realized I'd like to know more. Many of the logging power monitors either required monthly subscriptions, or some sort of 3rd party company involved to host the data. I didn't want to be tied to any such service (free or not), and so I set about to make my own monitor.

What I came up with was a small Arduino based hardware solution which is connected to via the internet. It is on, logging, 24/7 in my garage, and uses 2 watts of power with the wifi bridge. I've written Android client software to display live power usage, as well as an in-depth Windows application for more intricate analysis of the data. Historical data is saved every 5 seconds, but 'live' feeds update once a second. By forwarding certain ports on my firewall to the Arduino, I can view my power usage from anywhere I've got a connection to the internet.

The Arduino interfaces with the electrical panel via 3 clamp-on current transducers. One around each of the two 120V feeds, and the third around the wire feeding my Chevy Volt's power outlet in the garage. By monitoring the car seperately I can get accounting data for just how much 'juice' the car pulls from the wall each night. It also allows me to send myself detailed tweets every morning when the car is done charging, and it'll also tweet at me if it's a work night and I've not yet plugged my car in.


  • Arduino Mega 2560 (needed only for the >32kb Flash size)
  • 3 Current Transducers (2 for each leg of a 240V feed, and 1 Aux)
  • 4GB of logging storage via microSD
  • 3 Status LEDs (Blue: Network status, Green: Logging activity, Red: 'House Heartbeat')
  • DHT22 Temperature/Humidity sensor

    Microcontroller Software Details:

  • Total compiled firmware size ~55kb
  • Syncs time via NIST time server
  • Records all CT inputs and weather data 24/7 at 5sec intervals
  • Live streams data at 1hz, and can fulfill historical data requests in the background
  • Communicates with twitter to send any instant notifications
  • Interactive Live View

    Fully scrollable/zoomable 'live' graph of the power usage history

    Monthly Overview

    You can very clearly see the 5-6 'green' sections per week where I've charged my Chevy Volt

    Android version

    The android version simply displays live info, as the current hourly cost. This lives on a $60 7" tablet on the kitchen wall

    Arduino Prototype

    The breadboard and array of various types connectors will be gone for the final build.

    -jmX 2/19/2013