Sensor I2C

MPU6050 Module

The MPU6050 module is a 6-axis motion sensor with a 3-axis accelerometer and 3-axis gyroscope.

Part images

MPU6050 module. A 6-axis accelerometer and gyroscope module. Image source: SunFounder Pico 2 W Starter Kit documentation, Components section, © 2026 SunFounder.
MPU6050 axes. SunFounder orientation reference for X, Y, and Z axes. Image source: SunFounder Pico 2 W Starter Kit documentation, Components section, © 2026 SunFounder.
Accelerometer principle. SunFounder diagram for acceleration sensing concept. Image source: SunFounder Pico 2 W Starter Kit documentation, Components section, © 2026 SunFounder.
Gyroscope principle. SunFounder diagram for angular-velocity sensing concept. Image source: SunFounder Pico 2 W Starter Kit documentation, Components section, © 2026 SunFounder.

What it is

The MPU6050 module is a 6-axis motion sensor with a 3-axis accelerometer and 3-axis gyroscope.

How students use it

Students use it for tilt, acceleration, gesture, bubble-level, controller, and motion-tracking projects.

Pins and power

Typical module pins include VCC, GND, SCL, SDA, XDA, XCL, AD0, and INT. Verify labels on the actual module.

Use Pico-safe module power and I2C logic. Verify the board labels and regulator/level-shift behavior before wiring.

SunFounder defines orientation with the labeled surface upward and dot at top-left: Z is vertical, X left-to-right, and Y back-to-front.

Voltage and safety

Keep I2C pull-ups at Pico-safe 3.3V. Some modules accept 5V power but still need verified 3.3V I2C signaling.

Educational motion sensor only. Do not use readings for navigation, medical, or safety-critical decisions.

Module internals

Main component: MPU-6050 6-axis motion tracking device.

MPU-6050 IC, I2C header pins, address/interrupt pins, module PCB, and support passives.

Datasheet notes

SunFounder lists accelerometer ranges +/-2g, +/-4g, +/-8g, +/-16g and gyroscope ranges +/-250, +/-500, +/-1000, +/-2000 degrees/s, with raw readings from -32768 to 32767.

Common libraries

Use machine.I2C plus an MPU6050 MicroPython driver for register setup and scaled acceleration/gyro readings.

Common mistakes

Wrong I2C address from AD0 state, swapped SDA/SCL, not calibrating offsets, confusing raw values with g or degrees/s, and using the wrong board orientation.