Stufin
Home Quick Cart Profile

MPU-6050 Triple-Axis Accelerometer & Gyroscope Module (Pack of 25)

Buy Now

Component Description

MPU-6050 Triple-Axis Accelerometer & Gyroscope Module

The MPU-6050 Triple-Axis Accelerometer & Gyroscope Module is a high-performance, miniature sensor module designed for measuring acceleration, angular velocity, and temperature. This module is based on the MPU-6050 sensor chip from Invensense, a leading manufacturer of motion-tracking devices. The module is available in a pack of 25 units, making it an ideal choice for prototyping, development, and production of IoT projects.

Functionality

The MPU-6050 module combines a 3-axis accelerometer and a 3-axis gyroscope in a single compact package. The accelerometer measures the acceleration of the device in three perpendicular axes (x, y, and z), allowing it to detect movements, orientation, and vibrations. The gyroscope, on the other hand, measures the angular velocity of the device, providing information about its rotational movements and orientation.

The module can operate in various modes, including

Accelerometer mode

Measures acceleration in three axes (2g, 4g, 8g, or 16g range)

Gyroscope mode

Measures angular velocity in three axes (250/s, 500/s, 1000/s, or 2000/s range)

Temperature mode

Measures temperature (in degrees Celsius)

Key Features

  • High accuracy and sensitivity: The MPU-6050 module provides high-resolution measurements with a 16-bit ADC for the accelerometer and a 16-bit ADC for the gyroscope.
  • Wide range of measurement: The module can measure acceleration from 2g to 16g and angular velocity from 250/s to 2000/s.
  • Low power consumption: The module operates at a low power consumption of 3.3V to 5V, making it suitable for battery-powered devices.
  • Compact design: The module is small in size (15.5mm x 12.5mm), making it ideal for IoT projects with space constraints.
  • I2C and SPI interfaces: The module supports both I2C and SPI interfaces for easy communication with microcontrollers or other devices.
  • Operating temperature range: The module operates between -40C to +85C, making it suitable for a wide range of applications.
  • RoHS compliant: The module is RoHS (Restriction of Hazardous Substances) compliant, ensuring it meets environmental and safety regulations.

Applications

The MPU-6050 Triple-Axis Accelerometer & Gyroscope Module is suitable for a wide range of IoT applications, including

Robotics and autonomous systems

Wearable devices and fitness trackers

Gaming and virtual reality

Industrial automation and control systems

Navigation and orientation systems

Aerospace and defense applications

Packaging

The module is available in a pack of 25 units, ensuring you have enough stock for your projects and prototyping needs. Each module is carefully packaged to prevent damage during shipping and storage.

Conclusion

The MPU-6050 Triple-Axis Accelerometer & Gyroscope Module is a high-performance, versatile sensor module suitable for a wide range of IoT applications. Its compact design, low power consumption, and high accuracy make it an ideal choice for prototyping and production. With its easy-to-use interfaces and wide range of measurement capabilities, this module is an excellent addition to any IoT project.

Pin Configuration

  • MPU-6050 Triple-Axis Accelerometer & Gyroscope Module Documentation
  • Pin Description
  • The MPU-6050 module has a total of 8 pins, which are used to communicate with the microcontroller and provide power to the sensor. Each pin has a specific function, which is explained below:
  • Pin 1: VCC
  • Function: Power supply pin
  • Description: This pin is used to provide a power supply to the MPU-6050 module. The recommended voltage range is 2.5V to 3.6V.
  • Connection: Connect to the positive terminal of the power supply (e.g., 3.3V or 5V) of the microcontroller or a battery.
  • Pin 2: GND
  • Function: Ground pin
  • Description: This pin is used to provide a ground connection to the MPU-6050 module.
  • Connection: Connect to the negative terminal of the power supply (e.g., GND) of the microcontroller or a battery.
  • Pin 3: SCL
  • Function: Serial Clock pin
  • Description: This pin is used to provide a clock signal to the MPU-6050 module for I2C communication.
  • Connection: Connect to the SCL pin of the microcontroller (e.g., Arduino's SCL pin).
  • Pin 4: SDA
  • Function: Serial Data pin
  • Description: This pin is used to transmit data between the MPU-6050 module and the microcontroller using I2C communication.
  • Connection: Connect to the SDA pin of the microcontroller (e.g., Arduino's SDA pin).
  • Pin 5: XDA
  • Function: Not used
  • Description: This pin is not used in the MPU-6050 module.
  • Connection: Not connected.
  • Pin 6: XCL
  • Function: Not used
  • Description: This pin is not used in the MPU-6050 module.
  • Connection: Not connected.
  • Pin 7: AD0
  • Function: Address select pin
  • Description: This pin is used to select the I2C address of the MPU-6050 module. When connected to GND, the address is 0x68. When connected to VCC, the address is 0x69.
  • Connection: Connect to either GND or VCC to select the desired I2C address.
  • Pin 8: INT
  • Function: Interrupt pin
  • Description: This pin is used to provide an interrupt signal to the microcontroller when the MPU-6050 module detects a specific event (e.g., motion detection).
  • Connection: Connect to an interrupt pin on the microcontroller (e.g., Arduino's digital pin 2).
  • Connection Structure
  • Here is a point-to-point connection structure for the MPU-6050 module:
  • VCC (Pin 1) 3.3V or 5V power supply
  • GND (Pin 2) GND
  • SCL (Pin 3) Microcontroller's SCL pin (e.g., Arduino's SCL pin)
  • SDA (Pin 4) Microcontroller's SDA pin (e.g., Arduino's SDA pin)
  • XDA (Pin 5) Not connected
  • XCL (Pin 6) Not connected
  • AD0 (Pin 7) GND or VCC (select I2C address)
  • INT (Pin 8) Microcontroller's interrupt pin (e.g., Arduino's digital pin 2)
  • Important Notes
  • Make sure to use a pull-up resistor on the SCL and SDA lines if they are not already provided by the microcontroller or other components on the board.
  • The MPU-6050 module is sensitive to power supply noise, so it is recommended to use a decoupling capacitor (e.g., 10uF) between VCC and GND to filter out power supply noise.
  • The module is also sensitive to mechanical stress, so handle it carefully to avoid damaging the sensor.

Code Examples

MPU-6050 Triple-Axis Accelerometer & Gyroscope Module Documentation
Overview
The MPU-6050 is a popular, low-cost, and high-performance triple-axis accelerometer and gyroscope module. It combines a 3-axis accelerometer and a 3-axis gyroscope in a single chip, providing a comprehensive motion sensing solution for a wide range of applications, including robotics, drones, IoT devices, and wearable electronics.
Technical Specifications
Accelerometer:
	+ Measurements: 2g, 4g, 8g, or 16g
	+ Resolution: 16 bits
 Gyroscope:
	+ Measurements: 250/s, 500/s, 1000/s, or 2000/s
	+ Resolution: 16 bits
 Communication: I2C (up to 400 kHz) or SPI (up to 1 MHz)
 Power Supply: 2.4V to 3.6V
 Operating Temperature: -40C to 85C
Code Examples
The following code examples demonstrate how to use the MPU-6050 module with Arduino and Raspberry Pi.
### Example 1: Arduino - Basic Accelerometer and Gyroscope Readings
This example uses the Arduino MPU-6050 library to read accelerometer and gyroscope data from the module.
```cpp
#include <Wire.h>
#include <MPU6050.h>
MPU6050 mpu;
void setup() {
  Serial.begin(115200);
  Wire.begin();
  mpu.initialize();
}
void loop() {
  Vector rawAccel = mpu.readRawAccel();
  Vector rawGyro = mpu.readRawGyro();
Serial.print("Acceleration (x, y, z): ");
  Serial.print(rawAccel.X);
  Serial.print(", ");
  Serial.print(rawAccel.Y);
  Serial.print(", ");
  Serial.println(rawAccel.Z);
Serial.print("Gyroscope (x, y, z): ");
  Serial.print(rawGyro.X);
  Serial.print(", ");
  Serial.print(rawGyro.Y);
  Serial.print(", ");
  Serial.println(rawGyro.Z);
delay(50);
}
```
### Example 2: Raspberry Pi - Python Script for Accelerometer and Gyroscope Data
This example uses the Python library `smbus` to communicate with the MPU-6050 module via I2C.
```python
import smbus
import time
bus = smbus.SMBus(1)  # I2C bus 1 on Raspberry Pi
mpu_addr = 0x68  # MPU-6050 address
def read_accel():
    bus.write_byte(mpu_addr, 0x3B)  # Accelerometer data register
    data = bus.read_i2c_block_data(mpu_addr, 0x3B, 6)  # Read 6 bytes (x, y, z)
    return data
def read_gyro():
    bus.write_byte(mpu_addr, 0x43)  # Gyroscope data register
    data = bus.read_i2c_block_data(mpu_addr, 0x43, 6)  # Read 6 bytes (x, y, z)
    return data
while True:
    accel_data = read_accel()
    gyro_data = read_gyro()
print("Acceleration (x, y, z): ", accel_data[0], accel_data[1], accel_data[2])
    print("Gyroscope (x, y, z): ", gyro_data[0], gyro_data[1], gyro_data[2])
time.sleep(0.05)
```
These examples demonstrate the basic usage of the MPU-6050 module for reading accelerometer and gyroscope data. You can build upon these examples to create more complex applications, such as gesture recognition, motion tracking, and stabilization systems.