MPU6050 6-Axis Gyroscope & Accelerometer Module (GY-521)
New

MPU6050 6-Axis Gyroscope & Accelerometer Module (GY-521)

In StockRs. 730

The MPU6050 is a 6-axis motion sensor that combines a 3-axis gyroscope and a 3-axis accelerometer on a single chip from InvenSense (TDK). This GY-521 breakout board adds an on-board voltage regulator and I2C pull-up… Read more

2 in stock

1

Description

The MPU6050 is a 6-axis motion sensor that combines a 3-axis gyroscope and a 3-axis accelerometer on a single chip from InvenSense (TDK). This GY-521 breakout board adds an on-board voltage regulator and I2C pull-up resistors, so you can connect it straight to an Arduino, ESP32 or Raspberry Pi with just four wires. It's the go-to sensor for measuring tilt, rotation and movement — from self-balancing robots to drone flight controllers.

Features

  • 6 degrees of freedom — measures rotation (gyro) and acceleration (accel) on X, Y and Z
  • 16-bit resolution on every axis for precise, low-noise readings
  • Selectable ranges — gyro ±250 / ±500 / ±1000 / ±2000 °/s, accel ±2 / ±4 / ±8 / ±16 g
  • Digital Motion Processor (DMP) on the chip does sensor fusion for you and outputs ready-made orientation (quaternions, yaw / pitch / roll)
  • I2C interface (up to 400 kHz) with selectable address — use two MPU6050s on the same bus
  • On-board 3.3V regulator — power it from 3.3V or 5V (Arduino, ESP32, Raspberry Pi, STM32)
  • Built-in temperature sensor, 1024-byte FIFO buffer and interrupt output
  • Auxiliary I2C port (XDA / XCL) to attach an external magnetometer for full 9-axis tracking

Pinout

PinFunction
VCCPower input, 3.3–5V
GNDGround
SCLI2C clock
SDAI2C data
XDAAuxiliary I2C data (for an external magnetometer)
XCLAuxiliary I2C clock (for an external magnetometer)
AD0I2C address select — LOW / unconnected = 0x68, HIGH = 0x69
INTInterrupt output (data ready / motion detected)

Wiring

MPU6050Arduino UNO / NanoESP32Raspberry Pi
VCC5V3.3V3.3V (pin 1)
GNDGNDGNDGND (pin 6)
SCLA5GPIO 22GPIO 3 (pin 5)
SDAA4GPIO 21GPIO 2 (pin 3)

Popular Arduino libraries: Adafruit MPU6050 (easiest to start with), MPU6050_light (simple angle readings) and I2Cdevlib MPU6050 by Jeff Rowberg (for DMP / quaternion output).

Tips

  • Calibrate first. Every sensor has small offsets — keep it flat and still for a few seconds at start-up and subtract the average readings.
  • Use sensor fusion for angles. The gyro drifts over time and the accelerometer is noisy; combine them with a complementary or Kalman filter, or use the built-in DMP.
  • Yaw will drift without a magnetometer — pitch and roll are stable, but for an absolute heading add a magnetometer (e.g. QMC5883L) on the XDA / XCL pins.
  • Mount the board firmly and keep it away from motors — vibration shows up as noise in the readings.
  • Keep I2C wires short (under about 30 cm) for reliable communication.

Use it for

Self-balancing robots · drone and quadcopter flight controllers · gimbals and camera stabilisers · gesture-controlled projects · step counters and fitness trackers · tilt and vibration monitoring · VR / motion-tracking projects

Specifications

Sensor ICInvenSense (TDK) MPU-6050
ModuleGY-521 breakout board
Axes6-axis (3-axis gyroscope + 3-axis accelerometer)
Gyroscope Range±250, ±500, ±1000, ±2000 °/s
Accelerometer Range±2, ±4, ±8, ±16 g
ADC Resolution16-bit per axis
InterfaceI2C, up to 400 kHz
I2C Address0x68 (AD0 LOW) / 0x69 (AD0 HIGH)
Supply Voltage3.3–5V (on-board 3.3V regulator)
Motion ProcessingOn-chip Digital Motion Processor (DMP)
Extra FeaturesTemperature sensor, 1024-byte FIFO, interrupt output, auxiliary I2C
Board Sizeapprox. 21 × 16 mm