Wireless Vibration Sensor v4 - no impact detection

Hello Folks,

I’m using Standalone Wireless Smart Vibration Sensor v4 (PR63-3A) - sensor id 114 to detect random impact (i.e. vehicle hitting a pole).
For testing in the lab, I deployed NCD gateway Enterprise lite, Node RED (node-red-enterprise version 2.0.0, ncd-red 3.1.9, node-red-dashboard 3.6.6, @flowfuse/node-red-dashboard 1.30.2)
I also updated sensor firmware from ver 8 to 11.

The issue - whenever I take a sensor into my hand and vigorously shake it for 1-2 sec, I get no read-out.

I configured sensor for Smart mode with the lowest thresholds (basically trying to mimic Use case 3 in Event-Driven Monitoring with Motion Detection Gen4: Understanding Data Transmission in Smart Mode - NCD.io):

LED mode - Acceleration
LED threshold - active, 1
Request timeout: 1 sec
Filtering - disabled
Output data rate (ODR) 12800 Hz - to capture vibration shocks
Sampling duration: 12 (~600 ms corresponding to ODR)
Low pass and Hi pass filters disabled
Sampling interval: 5min
Auto Raw Interval: active,
Smart mode threshold: 2 (100mg)
Smart mode skip interval: active, 0
Accel Wakeup/Interrupt Thrsh: active, 1
Full Scale Range: +/-4g
Dead Band: active, 1 mg
Fly interval : active, 1hr
RPM status: disabled
RTC: disabled
Motion to Sampling Delay: active, 0
Max Number Motion Tx per Interval: active, 2
Payload: 180bytes

WIth these settings, I expect that lightest touch of the sensor, lifting it into my hands, lightest shaking it for 1sec will blink red LED in the sensor and generate readouts within a second of the start of the shake, but that doesn’t happen. If I shake it, I may see occasional message (maybe 1 in 10 shakes), but mostly sampling interval messages.

I also attached the sensor to a metal shelf and shook it simulating random impact. Again - no immediate response from the sensor.

I’m confused - what else is preventing the sensor from detecting these handshake?

Hope for some insight.


Readout of configuration from the sensor is below:

{“type”:“sync_check_in”,“address”:“00:13:a2:00:42:35:a8:b9”,“core_version”:23,“firmware_version”:11,“sensor_type”:114,“tx_lifetime_counter”:6867,“hardware_id”:[99,61,0],“network_id”:“7fff”,“destination_address”:“0000ffff”,“node_id”:0,“odr”:14,“sampling_duration”:12,“lpf_coefficient”:0,“hpf_coefficient”:9,“full_scale_range”:1,“axes_enabled”:7,“sampling_interval”:0,“filter_status”:0,“operation_mode”:3,“measurement_mode”:0,“on_request_timeout”:1,“deadband”:1,“motion_detection_threshold”:2,“led_acceleration_alert_threshold”:1,“led_velocity_alert_threshold”:5,“smart_accelerometer_threshold”:2,“led_alert_mode”:0,“raw_packet_length”:3,“auto_raw_interval”:0,“auto_raw_destination_address”:“0000ffff”,“smart_mode_skip_count”:0,“sync_interval”:60,“rpm_compute_status”:1,“max_raw_samples”:4096,“motion_to_sampling_delay”:1,“max_motion_tx_per_interval”:2}

Here’s sample data from the sensor sitting on the desk.
{“nodeId”:0,“firmware”:11,“battery”:“3.28”,“battery_percent”:“97.98”,“counter”:1,“sensor_type”:114,“sensor_data”:{“mode”:3,“msg_type”:“regular”,“odr”:“12800Hz”,“temperature”:24.12,“x_rms_ACC_G”:0,“x_max_ACC_G”:0,“x_velocity_mm_sec”:0,“x_displacement_mm”:0,“x_peak_one_Hz”:0,“x_peak_two_Hz”:0,“x_peak_three_Hz”:0,“y_rms_ACC_G”:0.074,“y_max_ACC_G”:0.011,“y_velocity_mm_sec”:0.88,“y_displacement_mm”:0.03,“y_peak_one_Hz”:2003,“y_peak_two_Hz”:2296,“y_peak_three_Hz”:2676,“z_rms_ACC_G”:0,“z_max_ACC_G”:0,“z_velocity_mm_sec”:0,“z_displacement_mm”:0,“z_peak_one_Hz”:0,“z_peak_two_Hz”:0,“z_peak_three_Hz”:0,“rpm”:810},“sensor_name”:“Standalone Smart Vibration Sensor v4”,“type”:“sensor_data”,“addr”:“00:13:a2:00:42:35:a8:b9”,“received”:1775855593259,“original”:{“mac”:“00:13:a2:00:42:35:a8:b9”,“receive_options”:{“ack”:0,“broadcast”:0,“type”:“”},“data”:[127,0,11,3,252,1,0,114,0,3,14,9,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,11,0,88,0,3,7,211,8,248,10,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,42],“type”:“receive_packet”}}

{“nodeId”:0,“firmware”:11,“battery”:“3.28”,“battery_percent”:“97.98”,“counter”:2,“sensor_type”:114,“sensor_data”:{“mode”:3,“msg_type”:“regular”,“odr”:“12800Hz”,“temperature”:23.68,“x_rms_ACC_G”:0,“x_max_ACC_G”:0,“x_velocity_mm_sec”:0,“x_displacement_mm”:0,“x_peak_one_Hz”:0,“x_peak_two_Hz”:0,“x_peak_three_Hz”:0,“y_rms_ACC_G”:0.072,“y_max_ACC_G”:0.011,“y_velocity_mm_sec”:0.78,“y_displacement_mm”:0.03,“y_peak_one_Hz”:2976,“y_peak_two_Hz”:2848,“y_peak_three_Hz”:0,“z_rms_ACC_G”:0,“z_max_ACC_G”:0,“z_velocity_mm_sec”:0,“z_displacement_mm”:0,“z_peak_one_Hz”:0,“z_peak_two_Hz”:0,“z_peak_three_Hz”:0,“rpm”:402},“sensor_name”:“Standalone Smart Vibration Sensor v4”,“type”:“sensor_data”,“addr”:“00:13:a2:00:42:35:a8:b9”,“received”:1775855893297,“original”:{“mac”:“00:13:a2:00:42:35:a8:b9”,“receive_options”:{“ack”:0,“broadcast”:0,“type”:“”},“data”:[127,0,11,3,252,2,0,114,0,3,14,9,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,11,0,78,0,3,11,160,11,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,146],“type”:“receive_packet”}}

Hi @dkhijniak Vibration sensor gen4 is designed for vibration monitoring/analysis (predictive maintenance), for your application we highly recommend the Machine Runtime Hour Meter:

This device fit for your application, it combines a 3-axis accelerometer with a 1-axis magnetometer to detect when machines start, stop, and run through full cycles. It will transmit data when motion is detected based on threshold.

Thanks.

Hello Eduardo,
Thank you for suggestion. A couple of points.

  1. The Wireless Vibration Sensor V4 was recommended by your team when we initially solicited a solution for our problem.
  2. The Product you recommend looks / functions similar to Wireless Vibration Sensor. It wakes up when vibration threshold is exceeded and records the vibration duration. Reading Wireless Vibration Sensor V4 user manual, I can see its capabilities match and even exceed Industrial Wireless Production Counter Transmitter (product you recommended).
  3. We would like to detect the impact when it occurs, if it occurs (literally, if a vehicle hits a pole). Those are infrequent events. This is not a “production” environment where periodic vibration is expected.
  4. In my tests, I see sensor sends periodic transmissions. However, I’m unable to awake the sensor with vigorous rapid shaking. This seems to be my main problem. Maybe something is amiss in the settings, OR maybe I have a defective device, OR maybe sensor firmware has a bug, OR maybe I don’t know how to shake “vigorously” to wakeup the sensor.

The sensor waking up from the shake in “smart” mode seems to be my issue - the mode which I thought is designed to provide operation we are looking for.

Please advise what could be next steps.

Hi @dkhijniak I understand your requirements. To clarify why we recommend a change in sensor, here is a summary of the operational differences between the Gen4 Vibration Sensor and the Machine Runtime Hour Meter for impact detection:

The Gen4 is designed for industrial vibration monitoring. When configured for ‘motion’ alerts, it utilizes signal validation. Before transmitting a ‘motion’ message, the sensor analyzes the samples to confirm a sustained vibration event. This logic is intended to prevent ‘false positives’ in production environments, but it may inadvertently filter out a single, instantaneous impact like a vehicle hitting a pole.

In contrast, the Machine Runtime Hour Meter utilizes a more direct threshold-trigger logic. It does not perform validation; as soon as the vibration intensity exceeds your defined threshold, it immediately registers the event and transmits the data. This ‘instant-trigger’ behavior is much better suited for detecting infrequent, high-impact collisions.

Given that your application requires the detection of isolated, infrequent impacts rather than sustained industrial vibration, the Machine Runtime sensor is the correct fit.

You can return the Gen4 sensors to us, and we will ship the Machine Runtime unit to you.
Thank you.

Hello @dkhijniak,
I was having the same problem. Maybe you can set the “Max Number Motion Tx per Interval” to a higher number, like 20.
Also, your “motion_to_sampling_delay”:1 makes it look like the configuration is not being acknowledged by the sensor.

Hope this helps :slight_smile:

Hello marinp28,
Thank you for the hints. I checked those - in the latest settings - motion_to_sampling_delay is reported as 0.

What’s more strange @Bhaskar - sensor reports “Reported configuration match”, however, the sync_check_in shows:
motion_to_sampling_delay: 0
max_motion_tx_per_interval: 2

while the same settings in the sensor Wireless Device node are different

I did sensor reset (with a magnet) while both Auto config and OTF config were set to check, and uncheck.

This is firmware 11. Does it suggest that sensor is not properly synching? Is there a way to determine while parameter syncing is failing?

{“type”:“sync_check_in”,“address”:“00:13:a2:00:42:35:a8:b9”,“core_version”:23,“firmware_version”:11,“sensor_type”:114,“tx_lifetime_counter”:10381,“hardware_id”:[99,61,0],“network_id”:“7fff”,“destination_address”:“0000ffff”,“node_id”:0,“odr”:14,“sampling_duration”:12,“lpf_coefficient”:0,“hpf_coefficient”:9,“full_scale_range”:1,“axes_enabled”:7,“sampling_interval”:0,“filter_status”:0,“operation_mode”:3,“measurement_mode”:0,“on_request_timeout”:1,“deadband”:1,“motion_detection_threshold”:1,“led_acceleration_alert_threshold”:1,“led_velocity_alert_threshold”:5,“smart_accelerometer_threshold”:2,“led_alert_mode”:0,“raw_packet_length”:3,“auto_raw_interval”:0,“auto_raw_destination_address”:“0000ffff”,“smart_mode_skip_count”:0,“sync_interval”:60,“rpm_compute_status”:1,“max_raw_samples”:4096,“motion_to_sampling_delay”:0,“max_motion_tx_per_interval”:2}

We’ve release a new firmware version 13. I’ve attached it here:

ncd_motion_v13.ncd (189.0 KB)

You can download it locally and perform a firmware update by using Node-RED running on the Gateway, let me share you a guide for this:

You should follow the ‘Option 2: Download Firmware and Pull from Local / 1. Using the Enterprise IIoT Gateway’ option, you can skip step 1 to step 3. (but you will need to enable SSH on your Gateway during this)

Your path should see like: /home/ncdio/ncd_motion_v13.ncd

Once you update the firmware, you will need to set the follow settings:

  • Set Dead Band in mg = 0
  • motion detection threshold (Set Acceleration Wake/Interrupt Threshold) = 1
  • Set Smart Mode Skip Interval = 0
  • Set Motion to Sampling Delay = 0
  • Set Max Number Motion Tx Per Interval = 20

You should be able to receive a ‘motion’ message in each sensor movement.
Please try this and share your results.

Hello @Eduardo_Mtz , I’m sorry but I can’t find that version of the firmware in the official GitHub repository. Do you know when is it going to be available?

Maybe I’m not looking in the right place, what is the difference between vibration sensor and vibration sensor v4?:

Hi @marinp28 please use this GitHub repository:

Thanks.