LIS3DH Asset tracker vibration detection




@majj_11, if you are considering purchasing a complete board, take a look at this one instead:

You would mount it in the existing control panel. The split-core CT will snap around the motor wire verses routing the wire to the NCD board. You also get to customize your AMP rating for increased measurement accuracy. If the control panel has a DC source (usually 24VDC) , use it to power the NCD board & Electron and don’t worry about Sleeping.

If the motor is turning a pump, you can relate the AMPs to the amount of work being performed (gallons, GPM, etc). Obviously you can track min/max AMPS, run-times, etc.

It’s worth mentioning that you can monitor up to 6 motors (various NCD Boards w/ different # of channels) from 1 board, which makes a project like this more cost effective per motor monitored.

I appoligize for the Scope Creep and getting way off topic.
This direction isn’t a “tiny box stuck to the side of the motor”.
Your previous plan would be much better for that goal :grin:.


@Rftop, thank you very much, yes that is help a lot.

your way is more robust i can tell :wink:


@Rftop and @majj_11 this is a great topic and one I am interested in.

I can see the benifit in both, but majj_11’s acceelerometer approach has most of my attention.

I believe the decision point is invasive (current sensor, even if its clip on you still have to open up equipment enclosures to clip it on to something) vs. non-invasive (sensor pack is slapped on via magnets and you are done). To clarify, I am assuming battery power for either case.

Of course, the non-invasive acceelerometer will take more data filtering and manipulation to output helpful data metrics that are actually useful to determine equipment status (on / off) and health (increased vibration over time, etc.). I don’t know if this level of data filtering and manipulation is possible to create an equally robust data output when compared to the invasive split-core CT.


If you’re looking for true vibration monitoring for a predictive maintenance program, then you’re better off with a combined inertial module.

There are several finished wireless products on the market for vibration monitoring, but most use BLE for comms :smirk:.


@Backpacker87 and @Rftop, thank you very much.

well, it depends on the application, for example if the application is not critical i.e. they don’t care about data like in my application, the main requirement is when the motor ON and when its OFF, so if i set up a low cost vibration sensor or accelerometer “advantage here its “built in” in asset tracker” so we can setup a threshold depends on the motor size. i.e. when vibration > 1G then the motor is ON, else the motor is OFF.


@majj_11, good clarification on application.


The LIS3DH has built-in filtering. If you select a high-pass filter you mostly eliminate the effect of gravity and only get movement/vibration above the filter’s cut-off frequency.


Thank you very much @tve , could you explain more on how to choose that filter and activate it if its the right word, it will amazing to have that filter in my application.

Appreciate it.


Have you read the official datasheet (Section 8.9) and application note Section 4.3?


1: You are trying to detect motor rotation. If the motor is well balanced, it may not vibrate much so other vibrations may cause false indications.

2: A current transformer may indicate current when a motor is stalled, but the motor is not actually rotating.

If indeed you want to sense if a motor is rotating or not use a shaft encoder of some type to detect shaft rotation directly. This can be a magnet / hall effect sensor combo or a photo interrupter wheel and photo transistor / led sensor or a variable reluctance sensor like is used on ABS brakes.

For reliable sensing, try to directly sense the parameter you are interested in, as opposed to sensing a secondary parameter which is less likely to be correlated as well as the first parameter. (For instance a motor would also heat up when used, so you could use a temperature sensor, but environmental changes could give false indications.)

Hope this helps.


I’d like to suggest a vibration sensor instead of an accelerometer or inertial sensor. Specifically a rolling ball sensor. I had an application recently where I was trying to detect a motor through vibration, and I used a rolling ball sensor without any problems. Essentially it acts like a switch, so just put a pullup or pulldown on there, set up the GPIO as an interrupt, and then you can use the number and frequency of interrupts to determine whether it’s running or not. The best part is that it consumes VERY little power depending on your pull value.

The specific part number I’ve been working with (because I needed very small) is Sensolute SEN-MVS0608.02 or SEN-MVS0409.02.


Thanks @bobbaddeley, vibration sensor is really good and i have used it before, its low cost and it does the job but one of the disadvantages in my situation its not compact system, that is why i prefer to use for example accelerometer because its built in with asset tracker, so in industrial application you are looking for something “robust”.

This is my point of view.

Many Thanks


yes totally agree, its the best to measure directly, but again how critical the application, that make big difference.


Even for non-critical applications it is better to use sound engineering practices. People get very frustrated when things don’t operate as expected. I.E. it is obvious the motor is rotating, why does this thing think it is not?


@araasch, you make an excellent point regarding critical or non-critical monitoring in the sense that if the resulting metric is wrong people will not trust the system violating the whole purpose of the system.

Also, a few days ago you make the case for reliable sensing via direct parameters vs. secondary parameters. Regarding @majj_11’s project, is it possible to combine the data from two secondary parameters to produce a synthetic parameter that has near equal robustness of a primary parameter?

For example, if you are measuring the status (On or Off) of a simple exhaust fan like this:
If acceelerometer is above the set tolerance and a pressure sensor is reading air pressure from the fan discharge, the fan motor is on.


Agree, but accelerometer is not a primary, or secondary. It is tertiary at best. I.E. a perfect motor would not vibrate. If 5 % of the production motors were of high quality, these motors would last the longest, yet would not be detected to be rotating by detecting accelerometer output. If the motor drove a fan and you wanted to use a secondary parameter sensor to detect this one could use a differential pressure sensor with one of its ports on the input plenum, the other on the output plenum. An alternate sensor would be to detect the position of a moving vane that is spring loaded in the output air stream. The position of the vane would be proportional to the amount of air that was being moved.


Agree with the simplest direct solution - e.g, - I have used vane sensors for airflow monitoring successfully and the side benefit is that you do not compromise the installed system in any way as you don’t need to attach, insert or otherwise interfere with someone else’s equipment ( and warranty :slight_smile: )


yes @shanevanj, that is the point, no need to interfere with someone else equipment, and in my case i have asked what access do i have, the answer is non, so it has to be a complete an independent system.


@shanevanj, you hit on one of my main concerns of monitoring someone else’s equipment. The second you modify or interface with something you become “the last person who touch it” if that equipment ever fails. For this reason, I think we should be more drawn to independent systems as @majj_11 states. Independent meaning self powered, non-invasive sensing.