Android 오픈 소스 프로젝트(AOSP)는 중력 센서, 선형 가속도 센서 및 회전 벡터 센서의 세 가지 소프트웨어 기반 모션 센서를 제공합니다. 이 센서는 Android 4.0에서 업데이트되었으며 이제 장치의 자이로 스코프 (다른 센서 이외에)를 사용하여 안정성과 성능을 향상시킵니다. 이러한 센서를 사용하려는 경우 getVendor() 메서드와 getVersion() 메서드를 사용하여 센서를 식별할 수 있습니다(공급업체는 Google LLC; 버전 번호는 3). Android 시스템은 이러한 세 가지 센서를 보조 센서로 간주하기 때문에 공급업체 및 버전 번호별로 이러한 센서를 식별해야 합니다. 예를 들어 장치 제조업체가 자체 중력 센서를 제공하는 경우 AOSP 중력 센서가 보조 중력 센서로 표시됩니다. 이 세 가지 센서는 모두 자이로스코프에 의존합니다: 장치에 자이로스코프가 없는 경우, 이 센서는 나타나지 않고 사용할 수 없습니다. 진동 자이로 센서 제조업체는 다음과 같은 특성이 좋은 소형, 고정밀 자이로 센서를 고안하기 위해 다양한 재료와 구조를 사용하고 있습니다. 저항 • 안정성 • 소음 특성 가속도 센서는 중력을 포함하여 장치에 가해지는 가속도를 측정합니다. 다음 코드는 기본 가속도 센서의 인스턴스를 얻는 방법을 보여 줍니다: 디지털 인터페이스를 사용하는 자이로는 일반적으로 SPI 또는 I2C 통신 프로토콜을 사용합니다.

이러한 인터페이스를 사용하면 호스트 마이크로 컨트롤러에 쉽게 연결할 수 있습니다. 디지털 인터페이스의 한 가지 제한 사항은 최대 샘플 속도입니다. I2C는 400Hz의 최대 샘플 속도를 가지고 있습니다. MEMS 내의 자이로 스코프 센서는 작은 (1 ~ 100 마이크로 미터 사이, 인간의 머리카락의 크기). 자이로가 회전하면 각 속도가 변함에 따라 작은 공진 질량이 이동됩니다. 이 운동은 호스트 마이크로 컨트롤러에 의해 증폭되고 판독될 수 있는 매우 낮은 전류 의 전기 신호로 변환됩니다. 선형 가속도 센서는 중력을 제외한 각 장치 축을 따라 가속도를 나타내는 3차원 벡터를 제공합니다. 이 값을 사용하여 제스처 검색을 수행할 수 있습니다. 이 값은 데드 레코닝을 사용하는 관성 네비게이션 시스템에 대한 입력으로도 사용할 수 있습니다. 다음 코드는 기본 선형 가속도 센서의 인스턴스를 얻는 방법을 보여 주었습니다.

자이로가 아직 있을 때 출력을 측정하여 자이로 바이어스를 볼 수 있습니다. 자이로가 여전히 있을 때 0°가 표시될 것이라고 생각하지만 출력에 항상 0이 아닌 약간의 오류가 표시됩니다. 이러한 오류를 바이어스 드리프트 또는 바이어스 불안정이라고도 합니다.