This Arduino-Powered TinyML Project Uses an Edge Impulse Model to Listen Out for Motor Failure

Deployed directly onto an Arduino Nano 33 BLE Sense, this machine learning model can alert you before a motor fails.

Developer Shebin Jose Jacob has put together an Arduino-powered tinyML proof of concept predictive maintenance sensor designed to warn before a motor fails — simply by listening to the sound of it running.

"If you want to find the best balance between preventing failures and avoiding over-maintenance, Predictive Maintenance (PdM) is the way to go," Jacob explains in a case study brought to our attention by the Arduino blog. "Equip your factory with relatively affordable sensors to track temperature, vibrations, and motion data, use predictive techniques to schedule maintenance when a failure is about to occur, and you'll see a nice reduction in operating costs. In the newest era of technology, teaching computers to make sense of the acoustic world is now a hot research topic."

A microcontroller and a microphone is enough to provide predictive maintenance through audio analysis. (📷: Shebin Jose Jacob)

To prove the point, Jacob turned to the Arduino Nano 33 BLE Sense microcontroller board, which handily includes an on-board microphone. A simple sketch would be enough to illuminate an LED when it detects noise, but Jacob wanted something smarter — something that would warn not just when there's noise, but when the noise is out-of-the-ordinary. In short, on-device machine learning.

"We use the Nano 33 BLE Sense to listen to the machine continuously," Jacob explains. "The MCU [Microcontroller Unit] runs an ML [Machine Learning] model which is trained on two sets of acoustic anomalies and a normal operation mode. When the ML model identifies an anomaly, the operator is immediately notified and the machine may be shut down for maintenance after proper inspection. Thus, we can reduce the possible damage caused and can reduce the downtime."

A quantized model is small enough to run the analysis directly on an Arduino Nano 33 BLE Sense microcontroller. (📷: Shebin Jose Jacob)

The project's hardware requirements are minimal — just the Arduino Nano 33 BLE Sense and an LED for notifications, with an optional 3D-printed case to keep everything neat. The software, meanwhile, is written in the Arduino IDE — with the on-device tinyML model created using Edge Impulse Studio, fed sound recordings of background noise, a motor's normal operating noise, and two failure-related noises.

More details on the project, which proved 95 percent accurate at detecting the audio anomalies emanating from the motor, are available on the Edge Impulse website — though a promise to publish the source code and machine learning model driving the project had not yet been fulfilled at the time of writing.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles