Sensor fusion is software that intelligently combines data from several sensors for the purpose of improving application or system performance. Combining data from multiple sensors corrects for the deficiencies of the individual sensors to calculate accurate position and orientation information.

MEMS sensors have become critical building blocks within electronic systems over the past several years. A common suite of MEMS sensors is now supported across all types of mobile devices to enable such applications as screen rotation, gesture recognition, gaming, step-counting, and personal navigation. As the mobile market continues to drive the focus on sensor integration, the process of adding value to products through such means as sensor fusion is central to Kionix's success as a sensor supplier.
The Kionix sensor fusion solution is extremely flexible, offering both a hardware configuration, meaning the software runs on an embedded microcontroller, and a software configuration, meaning it runs on the Applications processor. This provides unparalleled scalability across the full range of multi-sensor implementations. In addition, Kionix sensor fusion supports multiple combinations of sensor types, (accelerometer-magnetometer, accelerometer-gyroscope, and accelerometer-magnetometer-gyroscope), supports customers tiered product line strategy requirements, and even supports parts made by other manufacturers.
![]() |
![]() |
| Kionix hardware and software sensor fusion configurations. | |
Kionix sensor fusion is also scalable across operating systems, from embedded, fixed-point microcontroller RTOS systems to floating-point, 32-bit mobile-phone OSs such as Android and Windows 8. It includes sophisticated power-management techniques that help designers manage sensor interaction and data processing with minimal overhead, resulting in unparalleled power and performance.
Kionix sensor fusion even supports third-party or custom-developed software for enhanced motion processing and application-specific functions, and Kionix provides full source code to qualified customers, as well as direct support and BSPs (board support packages) for leading applications processors and, in the future, RF ICs. Designers using Kionix sensor fusion will be able to calibrate, compensate, and correct for biases and anomalies; manage sensor power-draw to increase battery life; and prevent interference among different types of sensors. Kionix sensor fusion provides customers with the flexibility and performance they've been looking for, making it the most powerful combination on the market.
Accelerometer
Accelerometer/Magnetometer
Accelerometer/Magnetometer/Gyroscope
Kionix's Android sensor library provides a concrete implementation of the sensors hardware abstraction layer (HAL) specified by Google for Android systems. It forms the middle layer between the low-level kernel drivers and the high-level android java framework. The Kionix sensor library implements sensor fusion, combining inputs from accelerometer, magnetometer, and gyroscope into a composite 3D orientation output. Power-state optimization is included in the library; sensors that are not needed are placed in a low-power mode to conserve device battery power. The library's internal state-management module also performs data-rate arbitration when 3D orientation output is enabled.
The Kionix software solution consists of a C++ library and the associated header files. Full source for the library and instructions for rebuilding the library are also included. The library includes a working sensor HAL implementation with support for the physical devices accelerometer, magnetometer, and gyroscope. It can be used out-of-the-box to provide 3D orientation output on an Android device.
Additionally, the library interface exports an object-oriented API for accessing both the physical sensors (gyro, compass, accelerometer) and the synthetic sensors generated via the Kionix sensor fusion implementation. Synthetic, software-generated sensor types include orientation (see Android documentation), rotation vector, linear acceleration, and gravity. This interface allows Android device vendors to integrate the Kionix solution with existing sensor-management software (e.g. existing HAL with support for light, temperature, and pressure sensors).
The Kionix software solution is fully compliant with the Android event specification and with the current CCD "Android 4.0 Compatibility Definition." Specific points of compliance include the following:
Kionix's sensor library must interface with a kernel driver for the accelerometer, gyroscope, and magnetometer. The preferred type of kernel driver is an input event driver with sysfs attributes for control (e.g. enable, data rate, bias). This type of driver is the de-facto standard for sensor drivers in the Linux kernel. Advantages of using this type of driver include lower complexity, high reliability, and increased transparency. If an input event driver is not available for a particular sensor chip, the Kionix library can be extended to interface with any type of driver.
![]() |
| Kionix HAL Architecture |