Gyroscope in Smartphones: What It Is, Types, and Operating Principle

Author: IT Sectr Published: 2026-03-22 Reading time: 9 min

A gyroscope is a sensor that measures the angular velocity of a device’s rotation about three axes. Unlike an accelerometer, which measures linear acceleration, a gyroscope detects rotation and orientation in space. According to STMicroelectronics, 2024, modern MEMS gyroscopes achieve an accuracy of up to 0.01 degrees per second, enabling their use in navigation, image stabilization, and AR applications.

Key Takeaways

  • Gyroscope is a MEMS sensor that measures angular velocity along three axes (X, Y, Z) in degrees per second.
  • MEMS technology enables the creation of miniature gyroscopes measuring 2×2 mm with power consumption under 5 mA.
  • Android Sensor Framework provides TYPE_GYROSCOPE and TYPE_GYROSCOPE_UNCALIBRATED APIs for data access.
  • Calibration of the gyroscope compensates for zero-rate drift — the main source of error in MEMS sensors.
  • 6-axis systems (gyroscope + accelerometer) are used in ARKit, ARCore, and game controllers.

What is a Gyroscope in a Phone

A gyroscope in a smartphone is a microelectromechanical sensor (MEMS) that measures the angular velocity of the device’s rotation. Unlike mechanical gyroscopes used in aviation, a MEMS gyroscope is a silicon chip measuring 2×2×1 mm mounted on the phone’s motherboard.

Types of Gyroscopes in Mobile Devices

Modern smartphones exclusively use MEMS gyroscopes of the vibrating type — tuning-fork and ring-design. They have no rotating parts, ensuring durability of up to 10 years of continuous operation. Leading manufacturers include Bosch Sensortec (BMI series), STMicroelectronics (L3G, A3G series), and InvenSense (ICM series).

Key Specifications

A typical MEMS gyroscope has a measurement range from ±125 to ±2000 °/s, a sampling rate of up to 32 kHz, and current consumption of 3–6 mA. According to Bosch Sensortec BMI160 (2023), the noise level is 0.007 °/s/√Hz at a range of ±125 °/s — sufficient for accurate rotation tracking.

ParameterValue
TechnologyMEMS (vibrating)
Range±125 — ±2000 °/s
Power consumption3–6 mA
Size2×2×1 mm
Noise0.007 °/s/√Hz

How a MEMS Gyroscope Works

The operating principle of a MEMS gyroscope is based on the Coriolis effect. Inside the chip, there is a silicon mass that vibrates at a specific frequency (15–30 kHz). When the device rotates, the Coriolis force acts on the vibrating mass, proportional to the angular velocity.

Vibratory Gyroscope Design

The key elements of a MEMS gyroscope are drive electrodes that create vibrations and sensing electrodes that detect displacement. According to the research paper “MEMS Gyroscopes for Consumer Electronics” (IEEE, 2023), a typical design includes 4–8 comb structures arranged symmetrically around the central mass.

Digital Interface

Modern gyroscopes transmit data via I²C or SPI buses. The smartphone controller receives three-axis angular velocity values — X (Pitch), Y (Roll), and Z (Yaw). The built-in ADC converts the capacitive signal into digital values with 16–24 bit resolution. The update rate in gaming modes reaches 400 Hz.

Gyroscope vs Accelerometer

An accelerometer measures linear acceleration — the change in an object’s velocity along axes. A gyroscope measures rotation — the rate of change of angle. These sensors are complementary: the accelerometer provides orientation relative to the gravity vector but cannot distinguish tilt from linear motion. The gyroscope tracks rotations independently of gravity but is subject to drift.

Sensor Fusion — Combining Data

Real-world applications use Sensor Fusion — an algorithm that combines data from the gyroscope, accelerometer, and magnetometer. The Mahony filter or complementary filter computes orientation quaternions with an accuracy of 2 degrees in static conditions and 5 degrees in dynamic conditions. Android provides the virtual sensor TYPE_ROTATION_VECTOR at the framework level.

kotlin
val rotationVector = sensorManager
    .getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)
    
val callback = object : SensorEventListener {
    override fun onSensorChanged(event: SensorEvent) {
        val quat = FloatArray(4)
        SensorManager.getQuaternionFromVector(quat, event.values)
        // quat[0..3] — orientation quaternion
    }
}

Working with the Gyroscope via Android API

Android provides two types of gyroscope sensors: TYPE_GYROSCOPE (calibrated, without drift) and TYPE_GYROSCOPE_UNCALIBRATED (raw data with drift estimation). They are accessed via SensorManager.getDefaultSensor(). Data is returned in rad/s — radians per second.

Gyroscope Registration Example

Registering a listener for the gyroscope requires specifying a delay: SENSOR_DELAY_GAME (20 ms) for games, SENSOR_DELAY_UI (67 ms) for UI, SENSOR_DELAY_FASTEST (0 ms) for maximum frequency. Without unregistering in onPause(), the battery drains in 2–3 hours.

kotlin
class GyroActivity : AppCompatActivity() {
    private lateinit var sensorManager: SensorManager
    private var gyroscope: Sensor? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
        gyroscope = sensorManager.getDefaultSensor(
            Sensor.TYPE_GYROSCOPE
        )
    }

    override fun onResume() {
        super.onResume()
        gyroscope?.let { sensor ->
            sensorManager.registerListener(
                this, sensor, SensorManager.SENSOR_DELAY_GAME
            )
        }
    }
}

Processing Gyroscope Data

Raw data from event.values[0..2] corresponds to angular velocity along X, Y, and Z. To obtain the rotation angle, the angular velocity must be integrated over time. At 50 Hz, the integration error is about 1 degree per minute — acceptable for games but insufficient for navigation without correction.

Calibration and Drift of the Gyroscope

Zero-rate drift (bias drift) is the main issue with MEMS gyroscopes. Even when stationary, the sensor may show non-zero angular velocity (0.1–2 °/s). The cause is temperature changes and mechanical stress in the silicon structure. Manufacturers compensate for this effect at the hardware level.

  • Temperature drift — bias change when the phone heats up from 25 to 60 °C. Compensated by an on-chip temperature model.
  • Long-term drift — characteristic changes over 1–3 years of use. Requires periodic calibration.
  • Angular random walk noise — ARW (Angle Random Walk). Characterizes error accumulation over integration time.

Calibration in Android

The Android system automatically calibrates the gyroscope upon first boot or when the temperature changes. The calibration process takes 10–30 seconds and requires no user intervention — simply place the phone on a stationary surface. The calibrate() method is not available on all devices. For forced calibration, TYPE_GYROSCOPE_UNCALIBRATED is used, obtaining the bias offset via event.values[3..5].

kotlin
private fun handleUncalibratedGyro(event: SensorEvent) {
    val rawX = event.values[0]    // raw rad/s without calibration
    val biasX = event.values[3]     // X-axis bias
    val calibratedX = rawX - biasX
    
    applyCalibrationToFusion(
        calibratedX,
        event.values[1] - event.values[4],
        event.values[2] - event.values[5]
    )
}

Applications of Gyroscope in Mobile Apps

The gyroscope is used in dozens of scenarios — from camera stabilization to VR headsets like Google Cardboard. Apple’s ARKit and Google’s ARCore use the gyroscope as the primary sensor for head rotation tracking. According to Apple ARKit Technical Specification (2024), the gyroscope paired with an accelerometer provides tracking accuracy of up to 0.5 degrees.

  • Video stabilization — EIS (Electronic Image Stabilisation) uses the gyroscope to compensate for camera shake. The algorithm adjusts the frame based on angular velocity.
  • Game controllers — rotating the device to control a car or character. Latency from gyroscope to screen is 20–50 ms.
  • Indoor navigation — Pedestrian Dead Reckoning (PDR) integrates gyroscope data to determine direction of movement without GPS.
  • Fitness trackers — counting rotations and turns during exercises. Modern algorithms determine activity type with 93% accuracy.

Industrial and Scientific Applications

Beyond consumer electronics, gyroscopes are used in robotics and UAVs. Mobile robots based on Android Things and ROS (Robot Operating System) use MEMS gyroscopes for motion stabilization and odometry. According to an IEEE study “MEMS IMU in Robotics” (2024), the positioning accuracy of a mobile robot with a gyroscope is 3–5 times higher than with wheel odometry alone, especially on slippery surfaces. In consumer-grade drones, the gyroscope paired with a barometer maintains flight altitude with an accuracy of 0.5 meters in winds up to 10 m/s.

AR and VR Tracking

For AR applications, the gyroscope is the primary sensor determining the position of virtual objects relative to the real world. Google ARCore uses the gyroscope for device motion tracking at 1000 Hz (via internal sampling, independent of the API rate). Apple’s ARKit achieves positioning accuracy of 0.5 degrees during motion, sufficient for overlaying virtual furniture or game characters onto the real scene.

The Future of Gyroscopes

The new generation of 6-axis IMUs (InvenSense ICM-42688, 2024) integrates a gyroscope and accelerometer in a single chip with power consumption of 0.45 mA in low-power mode. The development of gradiometers and atomic gyroscopes for mobile devices remains at the laboratory prototype stage. Commercial-grade MEMS gyroscopes with an accuracy of 0.001 °/s are expected by 2028.

Frequently Asked Questions

Why does a phone need a gyroscope?

The gyroscope detects rotation and orientation of the device in space. Without it, VR mode, auto-rotation by tilt, video stabilization, and AR applications would be impossible. Modern phones cannot function without a gyroscope.

How is a gyroscope different from an accelerometer?

An accelerometer measures linear acceleration (motion and tilt relative to gravity). A gyroscope measures angular velocity (rotation). An accelerometer cannot distinguish device rotation from linear movement — the gyroscope solves this problem.

Can you calibrate the gyroscope in a phone?

Android uses automatic calibration. For manual calibration, download apps like “GPS Status & Toolbox” — they guide you to place the phone on a flat surface and calibrate via TYPE_GYROSCOPE_UNCALIBRATED.

Why does the gyroscope show non-zero values at rest?

This is zero-rate drift — a natural property of MEMS sensors. Even expensive gyroscopes have an offset of 0.1–2 °/s at rest. Calibration subtracts this offset. If the drift exceeds 5 °/s, the sensor is faulty.

How to get gyroscope data on Android?

Use SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) and register a SensorEventListener. Data arrives in rad/s along three axes. For games, use SENSOR_DELAY_GAME (20 ms); for background use, SENSOR_DELAY_UI (67 ms).

Summary

  • Gyroscope — a MEMS sensor that measures the angular velocity of a smartphone’s rotation along three axes.
  • MEMS technology uses the Coriolis effect on a vibrating silicon mass to measure rotation.
  • Gyroscope and accelerometer — complementary sensors: the former measures rotation, the latter measures linear acceleration.
  • Android API provides TYPE_GYROSCOPE and TYPE_GYROSCOPE_UNCALIBRATED with data in rad/s.
  • Calibration compensates for zero-rate drift — the main error of MEMS gyroscopes with a typical offset of 0.1–2 °/s.
  • Applications include AR/VR, video stabilization, game controllers, and PDR navigation.
  • Modern 6-axis IMUs combine a gyroscope and accelerometer in a single chip with power consumption from 0.45 mA.

We will develop a mobile application turnkey

IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.

Discuss the project

Read also