Industrial IoT · Predictive Maintenance Client project

Catching a motor failure five days before it happened.

Blackbox Factories runs a continuous shuffler line on a Mitsubishi servo motor. A breakdown means line downtime and missed delivery windows. They had sensor data — but no way to read it until it was too late.

2.7Msensor readings
250Hzsampling rate
1,310machine cycles
5 daysearly warning

The problem

The shuffler line's servo motor was instrumented with PLC sensors streaming data at 250Hz — but that data just sat there. Nobody on the floor had a way to translate raw torque and timing signals into a simple answer: is this motor healthy, or is it heading toward a breakdown?

Without that answer, the only options were reactive — wait for a failure, then scramble — or overly cautious preventive maintenance on a fixed schedule, which wastes time servicing a motor that's perfectly fine.

What we built

We needed a system that didn't just flag a problem after it occurred, but projected forward — telling the team how many days they had before action was needed.

Pulled 2.7M raw PLC sensor readings sampled at 250Hz directly off the motor
Extracted 1,310 individual machine cycles from the continuous data stream
Engineered 15 features per cycle — stroke timing, return torque, force curves, vibration signatures
Trained an Isolation Forest model to flag anomalies, backed by 3-sigma statistical thresholding
Layered in linear regression to project forward — turning "something's off" into "you have 5 days"
Packaged everything into a live 6-tab Streamlit dashboard — built for the floor, not just engineers

The result

The model caught a forward-stroke friction pattern building over several days — one that would have caused a stoppage if left unaddressed. Instead of an emergency repair, the team had a clear 5-day window to schedule maintenance on their own terms.

The dashboard's health score dropped from a healthy 99.6 to a cautionary 46.9 well before any visible symptom on the line — turning a sensor stream nobody was reading into a daily 30-second check anyone on the floor could do.

"Most companies are sitting on years of data that could answer their most important questions. They just need someone to ask it correctly."

Have a similar problem?

If you've got sensor, operational, or process data sitting unread — that's exactly what we look for.

View live dashboard View source on GitHub Start a conversation