Smartphone Electricity Billing With NILM Models

Smartphone Electricity Billing With NILM Models

ISEF Category: Embedded Systems

Ready to Turn This Idea Into a Real Project?

This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

Subcategory: Other  ·  Difficulty: Advanced  ·  Setup: School Lab  ·  Time: Full Year

The Hook

Your electricity bill knows more than you think. A single meter can hide which devices are using the power, like hearing one song through a wall and trying to name every instrument. That puzzle has a name, non-intrusive load monitoring, or NILM. If you can solve part of it, you can help families spot waste without wiring every device.

What Is It?

This project asks you to estimate which devices are using electricity, and how much each one costs, from a shared power signal. Instead of putting a sensor on every lamp, fan, or charger, you measure the overall load at a breaker or panel and let software infer the parts. Think of it like listening to a smoothie through a straw. You cannot see each fruit, but the sound changes when the blender, ice, or liquid changes.

The hardware side often uses a microcontroller, which is a small computer, plus a current and voltage monitor such as the INA219. That setup records power use over time. The software side uses machine learning, which means a model learns patterns from labeled examples. Your app can then try to match those patterns to devices and estimate monthly cost for each one.

Why This Is a Good Topic

This is a strong science fair topic because you can test one clear idea, compare models, and measure real accuracy. It connects to energy savings, utility billing, and home monitoring, so the problem matters outside the classroom. You can start with a small set of devices and still build a project with real engineering choices, real data, and real analysis. That makes room for original work without needing a full university lab.

Research Questions

  • How does the number of training days affect device-level cost accuracy in a NILM model?
  • What is the effect of adding voltage features to current-only data when separating household devices?
  • Does a random forest model outperform a CNN for classifying breaker-level appliance signatures?
  • To what extent does sampling rate change the ability to estimate monthly device cost from shared power data?
  • Which appliance types are easiest to disaggregate from aggregate household power use?

Basic Materials

  • MCU board such as Arduino Nano 33 IoT or ESP32.
  • INA219 current and voltage sensor module.
  • Clamp meter or plug-in watt meter for ground-truth checks.
  • Breadboard and jumper wires.
  • Smartphone with a simple data logging or dashboard app.
  • Laptop for data analysis and model training.
  • Test devices such as a lamp, phone charger, fan, and tablet.

Advanced Materials

  • MCU with stable Wi-Fi or Bluetooth logging.
  • INA219 or similar power monitor modules for breaker-level sensing.
  • Safe low-voltage test bench or supervised panel access in a school lab.
  • Reference power meter for calibration.
  • Laptop or workstation with Python and ML libraries.
  • Current transformer sensor for higher-load validation.
  • Optional Raspberry Pi for edge data collection.

Software & Tools

  • Python: Cleans sensor data, trains models, and compares prediction error.
  • Jupyter Notebook: Helps you explore patterns, plots, and model results step by step.
  • pandas: Organizes time-stamped power data into tables you can analyze.
  • scikit-learn: Trains baseline machine learning models for device classification or cost estimates.
  • ImageJ: Not needed here, so skip it unless you compare photo-based labels for device states.

Experiment Steps

  1. Define the exact output you want, such as device identity, device state, or monthly cost share.
  2. Choose a small set of appliances that create distinct power patterns and can serve as labeled training data.
  3. Plan how you will collect aggregate power data and label the true device activity at the same time.
  4. Decide which features the model will use, such as power level, change over time, and usage duration.
  5. Build a baseline model first, then compare it with one stronger model and one simpler rule-based method.
  6. Design validation so you test on new days, new device combinations, or new rooms, not just the data you trained on.

Common Pitfalls

  • Using appliances with nearly identical power signatures, which makes the model confuse them.
  • Training and testing on the same days, which inflates accuracy and hides real failure.
  • Skipping calibration of the sensor, which shifts cost estimates away from true energy use.
  • Labeling device activity too loosely, which creates noisy training data and weak ground truth.
  • Measuring only one home setup, which makes the model look stronger than it really is.

What Makes This Competitive

A competitive version goes beyond a simple classifier. You would test how well the system generalizes to unseen days, overlapping loads, and different device combinations. Strong projects compare multiple models, report error with careful statistics, and explain where the method fails. Even better, you can add an edge case, like low-power devices or shared circuits, that many student projects ignore.

Project Variations

  • Compare how well NILM works on kitchen appliances versus bedroom electronics.
  • Use only low-power devices and test whether the model can still separate chargers, lamps, and fans.
  • Focus on cost estimation rather than device identity, then compare predicted monthly bills against utility-style calculations.

Learn More

  • MIT OpenCourseWare: Search for courses on embedded systems, sensor interfaces, and machine learning basics to build the hardware and model side.
  • PubMed: Search for review articles on non-intrusive load monitoring and residential energy disaggregation.
  • NASA Open Data Portal: Explore energy and systems data examples to practice time-series analysis and visualization.
  • USGS Water Science School: Use the site’s data thinking examples to practice turning sensor streams into clean measurements.
  • scikit-learn documentation: Learn how to train, test, and compare classification and regression models in Python.

For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →

To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub​ →

Shopping Cart