Made at DSL: power meter over WiFi

DSL gets high electricity bills, that’s why i built an AC power monitor to log the electricity consumption. It is based on the excellent open source OpenEnergyMonitor project which i also use at home (nodes based on Arduino with RF modules). For DSL, i used an ESP8266 to be able to post the data over WiFi straight into the cloud. The major disadvantage is that WiFi uses a lot of power compared to the RF communication in the original project, but it eliminates the need for a base station to receive the RF and post it into the cloud.

The data are stored at which is part of the OpenEnergyMonitor project and allows easy visualisation of energy data. You can find a dashboard here.

above the Watts in pink; below the kWh/day in purple

The hardware is quite straight forward, using a similar setup as the original Arduino project, and someone had already ported the Emon library to ESP8266. You can find details on my blog. Below you see the blue Current Transformer, which has to be clamped over the main power cable in the electricity box (1 phase only, see below). It has 2000 windings so transforms the AC power down to milli-amps. These milli-amps pass through a burden resistor, creating a voltage that can be read by an analog input pin, of which the ESP8266 has exactly one.

The device is powered by 2 AA batteries, which would be empty in a day if the device was constantly on. First i tried with a sample interval of 1 minute, and low-power deep-sleep in between. The batteries lasted for 7 days only (see above graph, Oct). Then with a sample interval of 10min we get nearly 2 months of battery life, which is acceptable (Nov-Dec in graph).

Background consumption is down to 250W. Below some MakerMonday (6th) and HackJam Tuesday (7th) evening activity.

The DSL electricity meter has 4 wires: 2 in, 2 out; the same current passes through all of them.

2 Replies to “Made at DSL: power meter over WiFi”

Leave a Reply

Your email address will not be published. Required fields are marked *

19 − five =