energy disaggregation — smart outlet

Teaching an outlet to recognize the interaction with coffee machines

Coffee machines nowadays contain multiple functionalities and parts (self-cleaning, milk frothers, etc.). My part was pulling the actual coffee making signature out of that shared load, so a smart outlet could count every cup without having to access the inside of the machine itself.

Line chart comparing the total aggregate load against the individual power draw of a kettle, microwave, and toaster across fourteen readings.

An aggregate load (orange) against the individual draw of different appliances on the circuit — water pump, heater, screen animations — the reference set used to work out what the total was hiding.

What I worked on

  1. 1

    Capture

    Logged the aggregate power draw on the shared circuit while running each coffee machine's functionalities on its own.

  2. 2

    Label the frequency components

    Broke the combined signal into its frequency components and tagged which ones belonged to which appliance — turning one shared, noisy total into appliance-level detail

  3. 3

    Feature extraction

    Turned each appliance's raw power-over-time reading into a compact set of distinguishing numbers — things like steady-state wattage, rise/fall shape of the transient, and which frequency components show up and how strongly.

  4. 4

    Machine Learning

    Designed Decision Tree based on previous feature extraction step.