Eagle Python C++ SMT CMake Makefile Other

README.md

PowerBlade

PowerBlade is a miniature plug load power meter - it is small enough to fit between the plug and the outlet while performing its metering operation. Achieving this form factor requires targeting every aspect of traditional power meters, including contact method, power supply, voltage and current sensing, and data communication (Bluetooth Low Energy, in this case).

There have been multiple iterations of PowerBlade, starting with a backscatter- based variant and eventually transitioning to the BLE version. Along the way there have been several iterations of the contact method, starting with flexible PCB layers to touch the prongs and ending with spring-loaded pins which make contact more reliably and repeatably.

Future work on this system will include improvements to the accuracy of the unit (PowerBlade readings currently have 5% to 10% error but we believe this can be significantly lower), as well as safety.

How Do I View My PowerBlade's Data?

  • Option 1: Install Summon [Android, iOS].

  • Option 2: Run a node.js script to view packets on your computer.

    cd data_collection/advertisements/
    npm install
    sudo node powerblade_adv.js

    This requires that you have support for running as a BLE master on your machine. To get setup, see the instructions below.

BLE and node.js Setup

  1. Install Node.js for your platform. Node.js provides a JavaScript runtime to execute the data collection script in.

  2. Install BLE dependencies for your platform.