Predictice Maintenance Project

Hi everyone,

I'm planning a small project and would love your input to see if this idea makes sense or if there's a better way to approach it.

I want to use an Arduino with two vibration sensors attached to a motor to simulate a real-world predictive maintenance scenario. My idea is to collect the vibration data over time, send it to a computer (maybe via serial), and either plot it live or log it into an Excel/CSV file.

Then, I’d like to use Python (possibly with scikit-learn or another simple library) to analyze the data. The goal is to recognize changes in the vibration pattern—for example, if the vibration intensity increases or becomes erratic for a longer period, the system should flag this as a sign that maintenance might be needed.

At first, I thought about plotting the graphs and training a model to "look" at the images (like normal vs. faulty mode), but I’m not sure if using graph images as input is the right approach. Would that even count as predictive maintenance?

Appreciate any thoughts, suggestions, or resources that could help me get started in the right direction!

Thanks in advance

The first part, that is reading sensors and sending data over a serial link to a PC is standard Arduino stuff. Analysing the data on the PC is another matter and this needs expert knowledge of the mechanical environment including the motor. It could even be, when it is clear what the analysis functions actually do, that some (or in the best case all) of the pre-processing can be delegated back to the Arduino.

Thank you for your reply! May have communicated my intention a bit unclearly.I just want to simulate a simplified version for learning purposes.

Another example, I’m working with a small Arduino motor and using temperature and current (e.g. 500 mA and 30 °C as “normal” values). If the temperature rises above 30 °C and the current goes over 700 mA for more than 2 minutes, the system should simply give a warning like: “Motor might fail in 4 days if this condition continues.” But with a ML in scikit and Python.

I know this is very basic and not perfectly accurate, but my goal is just to create a small prototype using Arduino and Python (with scikit-learn or similar tools) to simulate the idea of predictive maintenance.

A more realistic scenario might be to have a small brake on the motor and when it is applied (additional friction) the current / temperature will change.

Predictive maintenance should also capture acute problems/scenarios like

  • blocking the motor completely
  • disconnect of a power wire
  • sensor failure (think self diagnostic)

I understand what you mean, but I’d still like to give it a try. Do you have any information on how to get started with Python what i mean. I’m not quite sure where to begin.So I’m looking for a "complete" example or a similar model with data or Project.

Find/buy a Python book and then download Python and get started.

have a look at Getting started with MicroPython on the ESP32¶
you could transmit data over WiFi to a PC where a Python program could process it

I assume you know this has become standard operation in the HVAC industry over the last few decades. In a typical system the processing is at multiple levels. Local, to run the sensor interface and data collection. The next level would do some some data analysis and prediction, this could be local (sensor control processor) or building level. Finally at a higher level long term data collection and analysis to generate the actual prediction parameters.
For example.

It appears that you want to simulate conditions as an experiment and try to predict failures from deviations from "normal" operation. I would second @robtillaart suggestion so you can control the load and see the results.