I built a predictive maintenance system that detects bearing failures before they occur, running entirely on the MAX78000 microcontroller. The goal was to demonstrate edge-based condition monitoring without relying on cloud processing.
The Problem
Industrial bearings fail gradually, but catastrophically. Early detection is crucial for planned maintenance, but traditional monitoring systems often require expensive infrastructure or cloud connectivity. I wanted to see if modern edge AI could handle this entirely on-device.
Approach
The system uses NASA's IMS bearing dataset from 2003 - real acceleration data from bearings running until failure. I trained an autoencoder on normal bearing operation, so it learns to reconstruct healthy vibration patterns. When a bearing starts degrading, the reconstruction error increases, flagging potential failures.
Data processing pipeline:
- Raw acceleration sampled at 20kHz
- 1-second windows processed every 15 minutes
- Continuous Wavelet Transform (Morlet wavelets)
- Resampled to 50x50 pixel images
- Fed to CNN autoencoder on MAX78000
Performance
The MAX78000's onboard CNN accelerator makes this practical:
- Inference time: 3.9ms
- Total processing: 318ms (including preprocessing)
- Model size: 4-bit quantization
The system successfully detected inner race defects and outer race failures across three NASA test experiments. The animation above shows the autoencoder's reconstruction error increasing as bearings degrade.
Why Edge AI?
Running inference on-device means:
- No cloud dependency or latency
- Reduced infrastructure costs
- Faster response times for critical failures
- Privacy for industrial process data
This demonstrates that condition monitoring can transition from centralized analysis to distributed edge intelligence. The MAX78000's CNN accelerator makes real-time bearing health assessment practical on a microcontroller.