The MPU-6050 connects to an Arduino over I2C and measures both three-axis angular rate and three-axis acceleration. To get started, connect the breakout’s power, ground, SDA, and SCL pins, install a compatible library, and run a readings example. The gyroscope reports how quickly it is rotating—not a stable, long-term angle—and the sensor has no compass reference for absolute yaw.
What the MPU-6050 measures
The MPU-6050 combines a three-axis gyroscope with a three-axis accelerometer. The gyroscope measures angular rate; the accelerometer measures acceleration, including the effect of gravity when the sensor is relatively still. The InvenSense MPU-6000/MPU-6050 Product Specification, revision 3.4, also documents a digital motion processor (DMP), FIFO, interrupts, a temperature sensor, and self-test functions.
The MPU-6050 communicates over I2C. The product specification distinguishes it from the MPU-6000, which also supports SPI. Arduino libraries and breakout-board implementations may expose different features, so use documentation for the specific board and library you choose.
Choose the breakout and check its voltage requirements
Use an MPU-6050 breakout board, sometimes sold as a GY-521 module, rather than wiring the bare chip directly to an Arduino. Board designs can differ in voltage regulation, pull-ups, and pin labels. In particular, the chip’s supply specification does not establish the acceptable voltage at a breakout’s VCC pin.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
#1 Best Overall
- MPU-6050 MPU6050 6-axis Accelerometer Gyroscope Sensor
- Communication mode: standard IIC communication protocol
- Chip built-in 16bit AD converter, 16bit data output
- Gyroscopes range: +/- 250 500 1000 2000 degree/sec
- Acceleration range: ±2 ±4 ±8 ±16g
For its own breakout, Adafruit’s MPU6050 Arduino guide connects VCC to 5 V on a 5 V Arduino or to 3 V on a 3 V board. Treat that as guidance for the Adafruit board, not all MPU-6050 modules. Check your breakout’s documentation before applying power. InvenSense specifies a 2.375–3.46 V VDD operating range for the IC itself; this is not a breakout-board input rating.
Wire the MPU-6050 to Arduino over I2C
For the basic Adafruit readings setup, connect four pins. Use the Arduino board’s labeled SDA and SCL pins; their locations vary by model.
| MPU-6050 breakout pin | Arduino connection | Purpose |
|---|---|---|
| VCC | Supply specified for your exact breakout and host board | Power |
| GND | GND | Common ground |
| SDA | SDA | I2C data |
| SCL | SCL | I2C clock |
The Adafruit basic-reading wiring does not require an INT connection. Some DMP examples use INT, so add that wire only when the hardware and chosen example call for it.
Rank #2
- MPU-6050 MPU6050 Module: adopts the standard IIC communication for communication and is powered by 3V-5V for sustainable use.
- 3 Axis Accelerometer Gyroscope Module: Gyroscope range: ± 250 500 1000 2000 ° / s; Acceleration range: ± 2 ± 4 ± 8 ± 16 g; Transmission can pass I2C up to 400kHz or SPI up to 20MHz.
- MPU 6050 Chip built-in: with three 16-bit analog-to-digital converters (ADCs) for digitizing the gyroscope outputs and another three ones for digitizing the accelerometer outputs.
- Universally Compatible: This sensor is easy to use with just about any microcontroller that has an I2C interface, for Raspberry Pi and ESP32 models.
- What You Will Get: 3pcs Pre-Soldered GY-521 mpu-6050 mpu6050 3 axis accelerometer sensor. Ready to plug in and go.
Install a library and read acceleration, rotation, and temperature
Adafruit’s documented Arduino workflow uses the Adafruit MPU6050 library and Adafruit BusIO. Its basic_readings example prints acceleration, rotation, and temperature at 115200 baud.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problems- In Arduino IDE, open Library Manager and install
Adafruit MPU6050. - Install
Adafruit BusIOthrough Library Manager if it is not already installed. - Open the
basic_readingsexample from the Adafruit MPU6050 library. - Select the correct board and port, then upload the example.
- Open Serial Monitor and set the baud rate to
115200to view the readings.
This is a practical first check that the sensor is communicating and producing changing measurements. The example is tied to Adafruit’s library and guide; it is not a guarantee that every third-party module or Arduino configuration uses the same setup.
Understand gyro ranges, units, and angle drift
The gyroscope outputs angular rate. Software can integrate that rate over time to estimate a changing angle, but small bias errors accumulate, so the estimate drifts. Calibration can reduce an initial offset; it cannot guarantee a permanently stable angle.
Rank #3
- Product Name MPU-6050 MPU6050 6-Axis Accelerometer Gyro Sensor, which is a key component for motion sensing applications.
- Communication Protocol Utilizes the standard IIC communication protocol, enabling reliable data transfer between the sensor and other connected devices.
- AD Converter and Data Output Incorporates a built-in 16-bit AD converter, providing precise 16-bit data output for accurate measurement and analysis.
- Gyroscope Range Offers a gyroscope range of +/- 250, 500, 1000, and 2000 degrees per second, allowing for the detection of various rotational speeds and movements.
- Acceleration Range The acceleration range spans ±2, ±4, ±8, and ±16 grams, facilitating the measurement of different levels of linear acceleration in various applications such as inertial navigation and motion tracking.
The MPU-6050’s selectable gyroscope full-scale ranges are ±250, ±500, ±1000, and ±2000 degrees per second. Its selectable accelerometer ranges are ±2, ±4, ±8, and ±16 g. These are InvenSense device specifications from 2013. Choose a range that accommodates the motion you expect: a wider range allows faster motion before reaching the limit but provides less sensitivity per unit of motion than a narrower range.
When conditions permit, the accelerometer’s gravity measurement can help constrain tilt, such as roll or pitch. It cannot provide a magnetic compass heading. Because the MPU-6050 has no magnetometer, it cannot by itself supply stable absolute yaw; gyro-integrated yaw can drift.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Calibrate while the sensor is still
Calibration estimates sensor offsets, so keep the module stationary while collecting calibration readings. The third-party GY521 library documents this requirement; the exact API and assumptions depend on the library in use. Do not assume that a calibration function from one library applies to another.
Rank #4
- Main Chip: MPU-6050; Power Supply: 3-5V (Internal Low Dropout Regulator),Built-In Chip: With Three 16-Bit Analog-to-Digital Converters (ADCs) for Digitizing the Gyroscope Outputs and Another Three Ones for Digitizing the Accelerometer Outputs.
- Angular Velocity Range is ±250, ±500, ±1000 and ±2000°/sec (dps) for Accurate Fast and Slow Motion, and User-Programmable Accelerator Full-Frame Sensing the Range is ±2g, ±4g,±8g and ±16g; Transmission Can Pass I2C Up to 400kHz or SPI Up to 20MHz.
- Integrates 3-Axis Gyroscope and 3-Axis Accelerator, Including the Hardware Accelerator Engine for Devices Connected to the Second I2C Port.
- Easy to Use: the Measured Values of the Sensor Can Be Interrogated by the I2C Interface; The Accelerometer Can Be Operated at 3.3V and 5V.
- Application: MPU-6050 Sensor can be Applied to Develop Various Entertaining Applications and Systems; Nice for Projects with Gaming and Virtual Reality Devices, Navigation (for Drones and for RC Planes).
For that library specifically, its documentation lists I2C addresses 0x68 and 0x69 and says to call Wire.begin() before its begin() method. These are GY521-library details, not universal method names or initialization requirements for all MPU-6050 libraries.
Choose basic readings or a DMP example
The basic-reading and DMP routes serve different purposes; the available source examples do not establish a controlled performance comparison between their libraries or algorithms.
| Path | What it provides | Wiring and fit |
|---|---|---|
Adafruit basic_readings |
Acceleration, rotation, and temperature readings | Four I2C connections in the documented basic setup; useful for verifying communication and inspecting sensor values. |
| ROBOTIS DMP example | DMP initialization and roll, pitch, and yaw output | The example includes INT wiring; use it when its platform, library, and processed-orientation flow suit the project. |
The DMP is a documented feature of the chip, but its presence does not make orientation drift-free or provide an absolute compass heading. ROBOTIS’s example is platform-specific; follow its wiring and software instructions rather than assuming it is interchangeable with the Adafruit workflow.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Troubleshoot an MPU-6050 that is not detected
- Confirm SDA and SCL are connected to the correct I2C pins for your exact Arduino model and have not been swapped.
- Check that the breakout and Arduino share ground.
- Recheck the breakout’s power requirements and pin labels against its own documentation.
- If using the GY521 library, check for its documented addresses,
0x68and0x69. The address may depend on the module’s AD0 configuration; consult that board’s documentation. - An I2C scanner can help determine whether a device responds on the bus, but the cited guides do not prescribe one universal troubleshooting procedure.
Changing values as you move the board are expected sensor readings. If an angle estimate wanders over time, gyro bias and integration drift are likely relevant; offset calibration does not remove the sensor’s lack of an absolute yaw reference.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

