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."

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."

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.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles