Sensor Agnostic Module for Sensor-Works BluVib M-V-T-3

roto_bluvibmvt3.aar Library for Androidâ„¢

  • Created: 11 Nov, 2020
  • Update: 20 Oct, 2021

If you have any questions that are beyond the scope of this help file, Please feel free to email via


roto_bluvibmvt3.aar is an Androidâ„¢ library that allows communication with the Sensor-Works BluVib M-V-T-3 bluetooth 3-axis acceletometer. The library provides simple commands to scan, connect, collect and post-process the vibration data.


Follow the steps below to install the roto_bluvibmvt3.aar library

  1. In your projects top bar menu, select >File >New >New Module... A new window will appear, select "Import .JAR/.AAR Package" from the options
  2. In the new popup window browse and select the roto_bluvibmvt3.aar library adn click on "Finish"
  3. The roto_bluvibmvt3 library will appear on the right
  4. in your App build.gradle add the following dependency
                dependencies {
                        implementation files('libs/roto_bluvibmvt3.aar')

Configuring your project

  1. Add the ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permits to the Android Manifest
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android=""
        <uses-permission android:name="android.permission.BLUETOOTH"/>
        <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
        <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  3. In your Activity add the permissions request
    public class MainActivity extends AppCompatActivity {
        private static final int PERMISSION_REQUEST_FINE_LOCATION = 1;
        private static final int PERMISSION_REQUEST_BACKGROUND_LOCATION = 2;
        protected void onCreate(Bundle savedInstanceState) {
            ActivityCompat.requestPermissions(this,new String[]{
                Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 1001);

Connecting to the Sensor

  1. Create actions to scan and connect to the bluetooth sensor.
            //start scanning for the ble sensor
            //connect the ble sensor

    The output in the log console should display the ID and the calibration value of the connected sensor

Collecting Data

  1. Once connected to a sensor, send the BluVib3_conn.bluvib3_collect(int numberSamplesCode, int samplingRateCode) command to collect data with the specific number of samples and sampling rate. There are 6 sampling rates and 7 number of samples options in this sensor.
    //samplingRateCode:0 -> SamplingRate = 512
    //samplingRateCode:1 -> SamplingRate = 1280
    //samplingRateCode:2 -> SamplingRate = 2560
    //samplingRateCode:3 -> SamplingRate = 5120
    //samplingRateCode:4 -> SamplingRate = 12800
    //samplingRateCode:5 -> SamplingRate = 25600
    //numberSamplesCode:0 -> NumberOfSamples = 512
    //numberSamplesCode:1 -> NumberOfSamples = 1024
    //numberSamplesCode:2 -> NumberOfSamples = 2048
    //numberSamplesCode:3 -> NumberOfSamples = 4096
    //numberSamplesCode:4 -> NumberOfSamples = 8192
    //numberSamplesCode:5 -> NumberOfSamples = 16384
    //numberSamplesCode:6 -> NumberOfSamples = 32768
            BluVib3_conn.bluvib3_collect(int numberSamplesCode, int samplingRateCode)

    The output in the log console should look like this:

Combine this framework with vibEngine.framework to perform signal post-processing and with the vibeFDaD.framework to analize the machine condition. Third party frameworks can also be used to plot and enhance the users interface.


See what's new added, changed, fixed, improved or updated in the latest versions.

Version 1.01 (20 Oct, 2021)

  • Fixed Bug Fixed

Version 1.0 (11 Nov, 2020)

Initial Release for Androidâ„¢