The Internet-of-Things Power Meter (IPM) is a device fixed on top of the regular household power meter that provides detailed information about the electricity usage. Modern power meters have a LED blinking every time a Watt is used, the IPM detects these flashes using a light sensor, counts them, saves the values to an SD card. Later the data is stored to the cloud.

Usually power companies provide very rough electricity usage data, the IPM provides data with a minute resolution. Knowing the household electricity usage allows to extrapolate statistics and can give precise numbers about the costs.
The IPM was made with simplicity of assembly and cost in mind. The device is easy to build, program and cheap to deploy and use. One can basically buy the parts, assemble, program and deploy it without any knowledge about the inner workings, however contribution to the development of this open-source project is welcome and encouraged.
Details
After the first version of my IoT project measuring my power consumption I wanted a better finished project that had a higher resolution (minutes instead of hours), local storage and a server that could be accessed and viewed to assess current power situation.
This project page is to document the development progress, the files and code are all hosted on GitHub.
Components
- 1 × ESP8266-12E with breakout
- 1 × I2C OLED screen 128×64
- 1 × Light sensor
- 1 × SPI Micro SD card reader
- 1 × Micro SD card At least 16MB, so anything is good really…
- 1 × 3.3V FTDI programmer for the ESP8266
- 1 × 3.3V LDO regulator
- 1 × 5V USB adapter Any phone adapter will do
- 1 × Button (through-hole) Used to enter programming mode on the ESP
- 1 × 10kOhm pull-up resistor Can actually be somewhere between 1kOhm and 10kOhm
For more detail: Internet-of-Things Power Meter