BMI160 6-Axis Motion Tracking Sensor Module – 6DOF Gyroscope + Accelerometer, I2C/SPI Interface, 3-5V (GY-BMI160)

SKU: FA2206
Sensor

Bosch BMI160 (3-axis accelerometer + 3-axis gyroscope)

Accelerometer Range

±2g / ±4g / ±8g / ±16g (selectable)

Gyroscope Range

±125°/s to ±2000°/s (selectable)

Output Resolution

16-bit

Interface

I2C (up to 1MHz) / SPI (up to 10MHz)

Supply Voltage (Module)

3.2V – 6V (onboard LDO)

Current Consumption

950µA typical (full operation)

Operating Temperature

-40°C to +85°C

The BMI160 6-Axis Motion Tracking Sensor Module (GY-BMI160) is a compact, low-power inertial measurement unit (IMU) that combines a 16-bit 3-axis accelerometer and a 16-bit 3-axis gyroscope in a single module. Built around Bosch’s BMI160 MEMS sensor, this module is designed for high-precision motion sensing in smartphones, wearables, game controllers, and IoT devices .

At the heart of the module is the Bosch BMI160, a highly integrated IMU that delivers hardware-synchronized accelerometer and gyroscope data with precise timestamps (39µs resolution). This makes it ideal for sensor fusion applications requiring accurate, low-latency motion tracking . The accelerometer offers selectable ranges of ±2g / ±4g / ±8g / ±16g, while the gyroscope supports ±125°/s to ±2000°/s .

The module features ultra-low power consumption — typically 950µA when both sensors are in full operation, with a low-power mode down to 3µA. This makes it suitable for battery-powered and always-on applications . A built-in power management unit (PMU) and 1024-byte FIFO buffer further reduce host processor load and enable efficient data handling .

The GY-BMI160 module supports both I2C and SPI interfaces, with I2C clock speeds up to 1MHz and SPI up to 10MHz . The board includes an onboard LDO regulator supporting 3.2V to 6V input, and I2C level-shifting circuitry that makes it directly compatible with both 3.3V and 5V microcontrollers like Arduino, ESP32, and STM32 .

The module also features intelligent built-in algorithms, including a step counter that can be read directly through registers, making it ideal for fitness tracking and wearable applications . Additional motion detection features include any-motion/no-motion detection, tap/double-tap sensing, orientation detection, and free-fall/shock events .

The GY-BMI160 is widely used in augmented reality (AR), indoor navigation, 3D scanning, immersive gaming, gesture recognition, and air mouse applications . It is suitable for individual makers, students, and businesses purchasing in bulk for product development or educational programs.

Important Note: The BMI160 operates at 1.71V to 3.6V for the sensor core. The GY-BMI160 module includes an LDO and level shifters, allowing 3-5V supply and direct connection to 5V logic systems. Always verify the module variant and pinout before connecting.


Features

  • Bosch BMI160 IMU — 16-bit 3-axis accelerometer + 16-bit 3-axis gyroscope

  • Ultra-low power — 950µA full operation, 3µA low-power mode

  • Wide voltage support — 3.2V to 6V input with onboard LDO and level shifting

  • I2C & SPI interfaces — Flexible connectivity (I2C up to 1MHz, SPI up to 10MHz)

  • Hardware synchronization — Precise 39µs timestamps for sensor fusion

  • 1024-byte FIFO buffer — Reduces host processor load

  • Built-in step counter — Intelligent pedometer algorithm readable via registers

  • Motion detection interrupts — Tap, orientation, free-fall, any/no-motion

  • Compact module — 14-pin LGA package (2.5 × 3.0 × 0.8 mm)

  • Arduino compatible — Works with 3.3V and 5V microcontrollers


Technical Specifications 

# Parameter Specification
1 Sensor Bosch BMI160 (3-axis accelerometer + 3-axis gyroscope)
2 Accelerometer Range ±2g / ±4g / ±8g / ±16g (selectable)
3 Gyroscope Range ±125°/s to ±2000°/s (selectable)
4 Output Resolution 16-bit
5 Interface I2C (up to 1MHz) / SPI (up to 10MHz)
6 Supply Voltage (Module) 3.2V – 6V (onboard LDO)
7 Current Consumption 950µA typical (full operation)
8 Operating Temperature -40°C to +85°C 

Usage

Getting Started

  1. Connect power — Supply 3.3V or 5V to the VCC pin and GND to ground. The onboard LDO handles voltage regulation.

  2. Connect I2C (default) — Connect SDA to your microcontroller’s I2C data line and SCL to the I2C clock line:

    • Arduino Uno: SDA → A4, SCL → A5

    • ESP32: SDA → GPIO21, SCL → GPIO22 (default)

  3. Set I2C address — The default address is 0x69. Connect the SDO pin to GND to change the address to 0x68 .

  4. Install the library — Use the DFRobot_BMI160 library or FastIMU library through the Arduino Library Manager .

  5. Upload a test sketch — Read accelerometer and gyroscope data to verify operation. Example code reads getAccelGyroData() and outputs 6 columns of data .

Pin Connections (GY-BMI160)

Module Pin Function Arduino Uno
VCC Power (3.3V–5V) 3.3V or 5V
GND Ground GND
SCL I2C Clock A5
SDA I2C Data A4
SDO Address Select GND or VCC
CS SPI Chip Select (for SPI mode)
INT1/INT2 Interrupt Outputs Optional

Typical Applications

  • Wearable devices — Fitness trackers, smart watches, pedometers

  • Augmented reality & gaming — Immersive gaming, gesture recognition, air mouse

  • Indoor navigation — Pedestrian dead reckoning, 3D scanning

  • Robotics — Collision detection, orientation tracking, motion sensing

  • IoT devices — Motion-triggered applications and activity monitoring

Notes for Business Buyers

  • Proven Bosch technology — BMI160 is a widely adopted IMU with extensive documentation and community support .

  • Arduino compatible — Onboard level shifting simplifies integration with 3.3V and 5V systems .

  • Low power — Suitable for battery-powered and wearable applications .

  • Suitable for bulk purchasing — Ideal for wearable product development, robotics, and educational kits.

Q: What is the GY-BMI160 module used for?

It is a 6-axis inertial measurement unit (IMU) for motion tracking, used in wearables, AR/VR, robotics, indoor navigation, and gesture recognition applications .

Q: What is the difference between BMI160 and MPU6050?

The BMI160 offers lower power consumption (950µA vs. ~3.9mA), hardware synchronization for sensor fusion, and a built-in step counter. The MPU6050 is an older, widely used alternative .

Q: What is the I2C address of this module?

The default address is 0x69. Connect the SDO pin to GND to change it to 0x68 .

Q: What voltage does the module require?

The module operates from 3.2V to 6V thanks to its onboard LDO regulator. It is compatible with both 3.3V and 5V logic systems .

Q: What library should I use with Arduino?

Use the DFRobot_BMI160 library or the FastIMU library, available through the Arduino Library Manager .

Q: Does the BMI160 have a built-in step counter?

Yes. The BMI160 includes an intelligent step-counting algorithm that can be read directly through registers, making it ideal for fitness tracking .

Q: What is the maximum output data rate (ODR)?

The accelerometer supports ODR up to 1600Hz, and the gyroscope supports up to 3200Hz .

Q: What is the FIFO buffer size?

The module includes a 1024-byte FIFO buffer for efficient data handling and reduced host processor load .

Q: Can I use SPI instead of I2C?

Yes. The module supports both I2C (up to 1MHz) and SPI (up to 10MHz) interfaces .

Q: Can I purchase in bulk for a product development project?

Yes. This module is suitable for both individual users and business purchasing, including wearable product development, robotics, and educational kits.