Motor Vibration Fault Detection for Predictive Maintenance

Motor Vibration Fault Detection for Predictive Maintenance

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: Sensors  ·  Difficulty: Advanced  ·  Setup: University Lab  ·  Time: Full Year

The Hook

A tiny shake can warn you before a motor fails. That is the whole idea behind predictive maintenance. Your fan, fridge compressor, or other small motor starts acting differently long before it dies, and vibration can catch that change early. If you can measure that pattern, you can turn a cheap sensor into an early warning system.

What Is It?

This project uses vibration as a clue. A healthy motor spins with a fairly steady motion pattern. A damaged bearing, loose part, or imbalance changes that pattern. An accelerometer, which is a sensor that measures motion, can pick up those tiny changes.

Think of it like listening to a car engine. You do not need to open the hood to hear that something sounds off. In the same way, your sensor can “listen” to a motor through vibration. Fast Fourier Transform, or FFT, breaks a vibration signal into its frequency parts. A convolutional neural network, or CNN, is a machine learning model that can learn patterns in those signals and sort them into classes, such as healthy or faulty.

Why This Is a Good Topic

This is a strong science fair topic because you can change one variable at a time and measure a real signal. You can compare different motor states, sensor mounting methods, and feature extraction choices. The project connects to home safety, energy use, appliance reliability, and industrial maintenance. You can also learn embedded sensing, signal processing, and machine learning in one project.

Research Questions

  • How does motor condition affect vibration spectra measured by an ADXL355 sensor?
  • What is the effect of sensor mounting location on fault classification accuracy?
  • Does combining FFT features with raw time-series data improve CNN performance?
  • To what extent does training on CWRU bearing-fault data help a model classify your own at-home motor data?
  • Which vibration features best separate healthy motors from imbalanced or worn motors?
  • How does motor type, such as fan versus compressor, change the transferability of the model?

Basic Materials

  • ADXL355 accelerometer module or breakout board
  • STM32 development board
  • Breadboard and jumper wires
  • USB cable for programming and data transfer
  • Laptop or desktop computer
  • Mounting tape, zip ties, or reusable putty for sensor attachment
  • Small household motor source, such as a bathroom fan, desk fan, or spare appliance motor
  • Phone camera or notebook for logging motor condition
  • Optional smartphone tachometer app or optical tachometer for estimating rotation speed

Advanced Materials

  • ADXL355 accelerometer module or equivalent low-noise sensor
  • STM32 development board with sufficient ADC and data logging support
  • Oscilloscope or logic analyzer for signal debugging
  • Bench power supply with current monitoring
  • Vibration isolation pads and rigid sensor mounts
  • Laser tachometer or optical encoder
  • Temperature sensor for motor monitoring
  • Computer with Python, NumPy, SciPy, PyTorch or TensorFlow, and scikit-learn
  • Access to controlled faulted bearing samples or lab motors with induced faults
  • Reference accelerometer for calibration checks

Software & Tools

  • Python: Cleans signals, computes FFT features, and trains the classifier.
  • Jupyter Notebook: Lets you explore vibration plots and compare model runs.
  • SciPy: Supports signal processing, filtering, and spectral analysis.
  • PyTorch: Builds and trains the CNN on labeled vibration data.
  • ImageJ: Can help inspect plotted spectra or exported sensor images when you convert signals into visual inputs.

Experiment Steps

  1. Define the motor fault states you can measure safely and repeatably, such as healthy, imbalanced, or loosely mounted.
  2. Choose one sensing setup first, then decide how you will keep sensor position, motor load, and sampling rate consistent.
  3. Plan a data pipeline that records raw vibration, computes FFT features, and stores labels in a clean format.
  4. Build a baseline classifier before the CNN so you can tell whether the neural network really adds value.
  5. Design a validation scheme that keeps data from the same motor run out of both training and testing sets.
  6. Compare public bearing-fault data with your own data to test how well the model transfers across sources.

Common Pitfalls

  • Mounting the accelerometer loosely, which adds fake vibration and hides the real motor signal.
  • Mixing data from the same run into both training and test sets, which makes accuracy look higher than it really is.
  • Changing motor speed or load between samples without tracking it, which confuses the classifier.
  • Training only on CWRU data, then expecting the model to work on a fridge compressor or fan without adaptation.
  • Using raw accuracy alone, which can hide class imbalance and weak fault detection on rare cases.

What Makes This Competitive

A strong version of this project does more than say, “the model worked.” It tests whether the model still works when the motor type changes, the mounting changes, or the data source changes. That kind of transfer test matters in real predictive maintenance. Better entries also compare feature sets, report confusion matrices, and explain why one signal representation beats another.

Project Variations

  • Test whether the same sensor setup can classify different household motors, such as a fan, blender, or vacuum motor.
  • Compare raw vibration signals against FFT, spectrogram, and wavelet features for fault detection accuracy.
  • Train the model on public bearing data first, then fine-tune it with a small set of your own motor recordings.

Learn More

  • CWRU Bearing Data Center: Search for the Case Western Reserve University bearing data sets and read how the fault signals were collected.
  • NIH PubMed: Search review articles on predictive maintenance, vibration diagnostics, and rotating machinery faults.
  • NASA Technical Reports Server: Search for papers on vibration analysis, fault detection, and condition monitoring in rotating systems.
  • MIT OpenCourseWare: Look for free course materials in signals and systems, digital signal processing, and machine learning.
  • Python Documentation: Use the official docs for NumPy, SciPy, and PyTorch to handle signal processing and model training.

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