MPU6050 Pinout and Interfacing with Arduino, ESP32, Raspberry Pi
The MPU6050 IC Module is a tiny sensor that can be used to measure motion of any object that means we can measure how fast something is moving or how it is tilted. This module is basically combination of an 3-axis accelerometer and a 3-axis gyroscope in one small chip. It can measure both linear acceleration like moving forward or backward and rotational movement like turning or tilting. This makes it perfect for electronic devices or projects like robots, drones, even mobile phones, or anything that needs to know its position or movement.
In this article, we are going to see the pinout diagram of the both MPU6050 Module and Standalone IC. Also we will see the connection diagrams to interface it to popular microcontrollers like Arduino, ESP32, and Raspberry.
Pinout Diagram
Here, in the below figure, you can see the 6050 IC Pinout Diagram and MPU6050 Module Pinout Diagram.
MPU6050 Module Pinout
The MPU6050 Module has 8 pins and each pin has a specific function. Here, function of each pin explained below,
Pin.1(VCC) - It is the power supply pin. It can be connected to 3.3V or 5V, depending on the module.
Pin.2(GND) - It is the ground pin. This need to connect to the GND pin of the microcontroller.
Pin.3(SCL) - It is the Serial Clock Line for I2C communication. This need to connect to the SCL pin of the microcontroller.
Pin.4(SDA) - It is the Serial Data Line pin for I2C communication. This need to connect to the SDA pin of the microcontroller.
Pin.5(XDA) - It is the auxiliary I2C data line. This is used if we need to connect external sensor (like a magnetometer). Not used in basic setups.
Pin.6(XCL) - It is the auxiliary I2C clock line. It also used for external sensors. Not needed in simple applications.
Pin.7(AD0) - It is the I2C Address select pin. It needs to be set to LOW (0) for default I2C address "0x68" and set to HIGH (1) for address "0x69".
Pin.8(INT) - This is the Interrupt pin. It can be used to trigger an event when new data is available.
6050 IC Pinout
The MPU6050 IC comes in a 24-pin QFN (Quad Flat No-lead) package. Below is the details of each pin,
Pin no. 1 is the CLK IN. It is the Optional external clock input.
Pin no. 2-5 and 14-18 are the NC(Not Connected)
Pin no. 6 is the AUX_DA. It is the I2C auxiliary data pin for external sensors.
Pin no. 7 is the AUX_CL. It is the I2C auxiliary clock pin for external sensors.
Pin no. 8 is the VLOGIC(Logic level voltage 1.8V to VDD)
Pin no.9 is the AD0 which is I2C address select (LOW = 0x68, HIGH = 0x69)
Pin no.10 is the REG OUT(Regulator output)
Pin no.11 is the FSYNC(Frame synchronization input)
Pin no. 12 is the INT(Interrupt output)
Pin no.13 is the Main supply voltage pin (typically 2.5V to 3.3V)
Pin no.18 is the Ground Pin.
Pin no. 19, 21, and 22 are the Reserved Pin. They do not need connections.
Pin no. 20 is the CP OUT.
Pin no. 23 is the SCL(I2C serial clock input)
Pin no. 24 is the SDA(I2C serial data input/output)
Read Also:
- BMP280 Pinout Diagram and Connection with Arduino
- Current Sensor INA219 Pinout Diagram and Connection with Arduino
- MQ2 Gas/Smoke Sensor Pinout and Connection with Arduino
- RFID RC522 Pinout and Interfacing with Arduino for Door Lock System
- Bluetooth Module HC05 and HM10 Pinout and Connection with Arduino
MPU6050 Interfacing with Arduino
Here, you can see the connection diagram for interfacing MPU6050 with Arduino.
To connect the MPU6050 sensor to the Arduino Uno, connect the VCC pin of the MPU6050 to the 5V pin on the Arduino, and the GND pin to the Arduino’s GND.
The SDA pin of the MPU6050 should be connected to A4 on the Arduino Uno, and the SCL pin should be connected to A5.
You can connect the INT pin of the sensor to the D2 pin of the Arduino if required.
These connections allow the MPU6050 to communicate with the Arduino using the I2C protocol.
MPU6050 Interfacing with ESP32(30-Pin Devkit)
Here, you can see the connection diagram for interfacing MPU6050 with ESP32(30-Pin Devkit).
To connect the MPU6050 sensor to an ESP32 30-pin Devkit, start by connecting the VCC pin of the MPU6050 to the 3.3V pin on the ESP32, and the GND pin to one of the ESP32’s GND pins.
For I2C communication, connect the SDA pin of the MPU6050 to GPIO21, and the SCL pin to GPIO22 on the ESP32. These are the default I2C pins on most ESP32 boards, and they allow reliable communication between the sensor and the microcontroller.
MPU6050 Interfacing with Raspberry Pi
Here, you can see the connection diagram for interfacing MPU6050 with Raspberry Pi Pico.
To connect the MPU6050 sensor to a Raspberry Pi Pico, begin by connecting the VCC pin of the MPU6050 to the 3.3V (out) pin(pin no.36) on the Pico, and the GND pin to one of the GND pins(e.g. pin 38).
For I2C communication, connect the SDA pin of the MPU6050 to GPIO20(pin 26), and the SCL pin to GPIO21(pin 27). These are commonly used for I2C on the Pico, but other GPIO pins can also be used with software configuration.
Once the connections are made, you can communicate with the MPU6050 using MicroPython or C/C++ via the Pico’s I2C interface.
Read Also:



