Search code examples
androidandroid-sensors

Available Android device sensors list


My phone has the following list of sensors:

 BMA150 3-axis Accelerometer, Type: 0, Vendor: The Android Open Source Project, Version: 1, Power: 3.0, Resolution: 2.480159E-4, Max Range: 2.8
 AK8973 3-axis Magnetic field sensor, Type: 0, Vendor: The Android Open Source Project, Version: 1, Power: 6.7, Resolution: 1.0, Max Range: 2000.0
 AK8973 Orientation sensor, Type: 0, Vendor: The Android Open Source Project, Version: 1, Power: 9.7, Resolution: 1.0, Max Range: 360.0
 APDS9900 Proximity sensor, Type: 8, Vendor: AVAGO, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 1.0
 APDS Light sensor, Type: 5, Vendor: AVAGO, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL rotation vector, Type: 11, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL linear accel, Type: 10, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL gravity, Type: 9, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL Gyro, Type: 4, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL accel, Type: 1, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL magnetic field, Type: 2, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL Orientation (android deprecated format), Type: 3, Vendor: Invensense, Version: 1, Power: 9.7, Resolution: 1.0, Max Range: 360.0

of this I wonder, why are there two sensors for the accelerometer, two magnetic and two orientation sensors from which the active one is deprecated?

Does these dormant sensors has any function?

Thanks,

Adam Zehavi.


Solution

  • I strongly advise to use only standard Android sensors like

    Rotation Vector Sensor, Gravity Sensor, Linear Acceleration Sensor, Orientation Sensor

    and not the MPL types. The MPL types are component specific non-standard functions from Invensense that will not work on other phones.

    Also, I tried out both types on my Galaxy Nexus and found that the above listed standard Android sensors provide better sensor data fusion results than the MPL types. E.g. the Rotation Vector Sensor compensates magnetic distortions better that the MPL rotation vector.