# Looking for help with an improved vibration sensing method for Arduino

I am trying to test how vibration waves move through different material...ie how sensitive certain components are. I am needing a vibration sensor that will send me back some kind of measurement say in the form of an integer between 1 and (a number).

I have tried the 801S with an Arduino board and it was successful. The problem though is it just returns a 1 for vibration and 0 for none. To get the results I had to keep retesting and moving the material further and further away to get it to fail.

I also tried a HiLetgo piezoelectric analog sensor. It does return a number...but the results are all over the place...from 5 to 250. I have a device that supplies a consistent "tap" to be measured...so the HiLetgo had to be letgo.

I did research SE and found this question Vibration sensor for arduino but it does not answer my question.

• not a question about Arduino ... your question is off topic here Mar 5, 2022 at 2:20
• The sensor is for an Arduino. Mar 5, 2022 at 4:13
• Did you try with a microphone module it might pick up back ground noise too, better to do a FFT hmm. Microphone module has a prebuilt in op amp to give analog values dc biased because Arduino picks only dc voltage values. Mar 5, 2022 at 5:05
• A vibration is when the body moves rapidly back and forth. Thus the signal will also rapidly move back and forth. In fact - since you want to measure "how vibration waves move through different material" - the vibration wave is just a sound wave in that material. A sound wave is an oscillating signal (look at the wave from any song or speech that you have). The sensor just gives you this wave. If you want the amplitude of the wave you would need to measure the wave values for a specific amount of time (at least one period of the wanted frequency) and then calculate the diff between min and max Mar 5, 2022 at 18:00
• So basically the sensor was probably totally ok. You just need to interpret the data in the correct way. Mar 5, 2022 at 18:01

I did some experiments a year or so ago to sense vibration through a (physical) office desk top using the inbuilt accelerometer and gyroscope of an Arduino Uno Wi-Fi Rev2. That chip is an LSM6DSM but I would think that any such module (e.g., MPU6050) connected to any Arduino could be useful.

There’s a good comparison article at Seeed Studios introducing vibration sensors for Arduino.

Update. Looking at the similar question linked by the OP I see several comments that the MPU6050 which I suggested would have poor resolution. You may have to study data sheets (or experiment) to find the best device for your purpose.

Second update. This white paper, “Measuring vibration with accelerometers” has some good engineering notes about selecting suitable accelerometers for different purposes.