# Sensors overview Note The Qualcomm® Sensing Hub (QSH) is available only on [QCS5430](https://www.qualcomm.com/products/internet-of-things/industrial/industrial-automation/qcs5430) and [QCS6490](https://www.qualcomm.com/products/internet-of-things/industrial/building-enterprise/qcs6490). The Qualcomm® system-on-chip (SoC) includes an application processor that runs the Linux operating system, a low-power application digital signal processor (aDSP), and other processors. The low-power processor runs the real-time operating system (RTOS) to handle the sensor data streaming using QSH framework. The aDSP supports the following for QSH operations: - GPIOs configurable as serial bus: serial peripheral interface (SPI), inter-integrated circuit (I^2^C), improved I^2^C (I^3^C), and universal asynchronous receiver/transmitter (UART). - Serial buses in low-power mode. - Dedicated local memory, also known as the island in QSH. ## Qualcomm sensing hub overview QSH provides a framework to use data from a wide range of sensors. The sensor data is useful in fields, such as IoT, gaming, health, and fitness. A device can have more than one sensor of a given type. For example, a flip-phone has an accelerometer placed on each of the two planes. The published attributes or capabilities distinguish each accelerometer sensor. The QSH client APIs allow you to access the availability, attributes, and capabilities of a sensor on the platform. Use the same QSH client APIs to get the sensor data from the QSH framework. The QSH framework APIs include QSH client APIs and sensor APIs to perform the following sensor-related tasks: - Identify the sensors available on a development kit. - Determine sensor capabilities using attributes, such as supported sample rate, maximum range, manufacturer, power requirement, and resolution. - Collect and provide data according to the configuration, thereby enabling sensors with a specified sample rate. The QSH framework provides access to both hardware-based and software-based sensors. ### Hardware-based sensors Hardware-based sensors are physical sensors that gather data by directly measuring specific environmental properties, such as acceleration, magnetic field, pressure, humidity, light, and angular velocity. The following table lists the hardware-based sensors that the QSH framework supports: > > > Table : Hardware-based sensors > > > | Sensor name | Sensor type | Description | Proto API | > | --- | --- | --- | --- | > | Accelerometer | `accel` | Measures the acceleration applied to a device on all the 3 physical axes (x, y, and z) in meter/second square (m/s^2^) | `sns_accel.proto` | > | Gyroscope | `gyro` | Measures the rate of rotation of a device around each of the 3 physical axes (x, y, and z) in radians/second (rad/s) | `sns_gyro.proto` | > | Sensor temperature | `sensor_temperature` | Measures the temperature of the sensor in degrees Celsius (°C) | `sns_sensor_temperature.proto` | > | Magnetometer | `mag` | Measures the ambient magnetic field for all the 3 physical axes (x, y, and z) in microtesla (μT) | `sns_mag.proto` | > | Proximity | `proximity` | Measures the proximity of an object and provides *near/far* events | `sns_proximity.proto` | > | Ambient light | `ambient_light` | Measures the ambient light level illumination in lux (lx) | `sns_ambient_light.proto` | > | Pressure | `pressure` | Measures the ambient air pressure in hectoPascal (hPa) | `sns_pressure.proto` | > | Humidity | `humidity` | Measures the relative ambient humidity in percentage (%) | `sns_humidity.proto` | > | Ambient temperature | `ambient_temperature` | Provides the ambient room temperature in degrees Celsius (°C) | `sns_ambient_temperature.proto` | > | Hall | `hall` | Measures the magnetic field and provides a magnet *near/far* indication | `sns_hall.proto` | > | Capacitive proximity | `sar` | Detects human object proximity using change in capacitance and reports *near/ far* events | `sns_sar.proto` | ### Software-based sensors Software-based sensors, also known as virtual sensors, are algorithms that gather data from one or more physical sensors and generate the intended output. The common examples are: > > > - Gravity > - Step counter > - Game rotation vector (GRV) The following table lists the software-based sensors that the QSH framework supports: > > > Table : Software-based sensors > > > | Sensor name | Sensor type | Proto API | Description | > | --- | --- | --- | --- | > | Absolute motion detector | `amd` | `sns_amd.proto` |
Reports a stationary state event when the device is at absolute
rest. For example, the device is placed on a stationary object, such as desk or table.
Reports a moving state event when the device transitions from absolute rest to moving state.
For example, the device is lifted from a desk or table.
Uses the accelerometer motion detect interrupt to reduce
the power.
Triggers when detecting a significant motion—a motion
that might lead to a change in the user location. For
example, walking, biking, or sitting in a moving car,
coach, or train.
The following examples don’t trigger a significant
motion:
The device is in a pocket and the person isn’t
moving.
The device is on a table and the table shakes a bit.
Reporting mode: Single response, after the notification
sensor automatically disables itself.
A low-power dynamic calibration algorithm for gyroscopes.
Validated across multiple gyroscope parts from different
vendors.
A low-power dynamic calibration algorithm for the magnetometer sensor.
Validated across multiple magnetometer parts from
different vendors.
Reports the orientation of the device that is relative to
an unspecified coordinate frame.
Obtains the orientation through integration of
accelerometer and gyroscope readings. Therefore, the
y-axis doesn’t point north; instead, it points to an arbitrary
reference.
Provides a three-dimensional vector indicating the
direction and magnitude of gravity.
Determines the relative orientation of the device in space.
Reports the orientation of the device relative to the ENU coordinates frame.
Unlike geomagnetic rotation vector, this sensor uses gyroscope.
Obtains orientation through the integration of accelerometer, gyroscope, and magnetometer readings.
Tracks the distance in meters, and reports to the client when the requested distance is completed.
The client can query the accumulated distance any time before the final distance is reached.
Reduces the development time.
Plug and play of QSH-compliant sensors across the platforms.
QSH drivers or algorithms are compliant across Qualcomm® Snapdragon platforms.
Generic APIs.
Saves power by enabling the local memory.
Due to the limited local memory, only a finite number of sensors can fit in here.
Enables QSH to operate in ultralow power mode, meeting the low-power requirements of the industry.
Suitable for background use cases, such as proximity detection and gesture recognition.
More memory and more on-chip resources are available, as compared to the Island mode.
Higher power consumption due to more on-chip resources being active.
Access to the larger main memory allows integration of more sensors.
Supports cycle-intensive operations.
Improves sensor accuracy.
By default, this feature is available.
QSH supports calibration for hardware-based sensors.
Calibration standardizes equipment for precise results, which ensures that the sensor values match the baseline.
Recalibration maintains sensor accuracy and adjusts for sensitivity changes over time.
For more information, see Calibrate sensors.
Configure the buses, power rails, GPIOs, and Interrupt/Polling modes, for physical sensors.
By default, this feature is available.
Change sensors configuration, such as Serial Bus type, GPIOs, and Interrupt/Polling mode.
Sensors are configured using the Registry files parsed during QSH framework initialization.
For more information, see Configure sensors.
Includes device motion, activity, and device physical position sensors.
Gathers data from one or more physical sensors and generates the intended output.
These sensors are a set of software algorithms.
Enables device motion using significant motion.
Supports device positioning and direction using linear acceleration, gravity, geomagnetic rotation vector, and rotation vector sensor.
Step counter, step detector, and activity recognition help to identify user activities.
For more information, see Software-based sensors.
Low latency and improved performance, as compared to the Qualcomm messaging interface (QMI).
The QSH direct channel is an interface designed for high-speed applications. It ensures that sensor data is transmitted with minimal delay, which is crucial for high-rate applications, such as optical image stabilization (OIS) and other camera sensor use cases that require real-time or near-real-time data processing.
The overall system performance is enhanced due to the efficient handling and quick access to sensor data, making it suitable for applications that demand high-speed data processing.
For more information, see QSH direct channel APIs.