1 REVISION HISTORY ................................................................................................................................... 5
2 PURPOSE AND SCOPE ............................................................................................................................. 6
5 FEATURES ................................................................................................................................................ 10
5.1 GYROSCOPE FEATURES ..................................................................................................................... 10
5.2 ACCELEROMETER FEATURES ............................................................................................................. 10
5.3 ADDITIONAL FEATURES ...................................................................................................................... 10
Edited supply current numbers for different modes (section 6.4)
08/05/2011
2.2
Unit of measure for accelerometer sensitivity changed from LSB/mg to LSB/g
10/12/2011
2.3
Updated accelerometer self test specifications in Table 6.2. Updated package
dimensions (section 11.2). Updated PCB design guidelines (section 11.3)
10/18/2011
3.0
For Rev D parts. Updated accelerometer specifications in Table 6.2. Updated
accelerometer specification note (sections 8.2, 8.3, & 8.4). Updated qualification
test plan (section 12.2).
10/24/2011
3.1
Edits for clarity
Changed operating voltage range to 2.375V-3.46V
Added accelerometer Intelligence Function increment value of 1mg/LSB
(Section 6.2)
Updated absolute maximum rating for acceleration (any axis, unpowered) from
0.3ms to 0.2ms (Section 6.9)
Modified absolute maximum rating for Latch-up to Level A and ±100mA (Section
6.9, 12.2)
11/16/2011
3.2
Updated self-test response specifications for Revision D parts dated with
date code 1147 (YYWW) or later.
Edits for clarity
Added Gyro self-test (sections 5.1, 6.1, 7.6, 7.12)
Added Min/Max limits to Accel self-test response (section 6.2)
Updated Accelerometer low power mode operating currents (Section 6.3)
Added gyro self test to block diagram (section 7.5)
Updated packaging labels and descriptions (sections 11.8 & 11.9)
5/16/2012
3.3
Updated Gyro and Accelerometer self test information (sections 6.1, 6.2, 7.12)
Updated latch-up information (Section 6.9)
Updated programmable interrupts information (Section 8)
Changed shipment information from maximum of 3 reels (15K units) per shipper
box to 5 reels (25K units) per shipper box (Section 11.7)
Updated packing shipping and label information (Sections 11.8, 11.9)
Updated reliability references (Section 12.2)
This product specification provides advanced information regarding the electrical specification and design
related information for the MPU-6000™ and MPU-6050™MotionTracking™ devices, collectively called the
MPU-60X0™ or MPU™.
Electrical characteristics are based upon design analysis and simulation results only. Specifications are
subject to change without notice. Final specifications will be updated based upon characterization of
production silicon. For references to register map and descriptions of individual registers, please refer to the
MPU-6000/MPU-6050 Register Map and Register Descriptions document.
The self-test response specifications provided in this document pertain to Revision D parts with date
codes of 1147 (YYWW) or later. Please see Section 11.6 for package marking description details.
MotionInterface™ is becoming a “must-have” function being adopted by smartphone and tablet
manufacturers due to the enormous value it adds to the end user experience. In smartphones, it finds use in
applications such as gesture commands for applications and phone control, enhanced gaming, augmented
reality, panoramic photo capture and viewing, and pedestrian and vehicle navigation. With its ability to
precisely and accurately track user motions, MotionTracking technology can convert handsets and tablets
into powerful 3D intelligent devices that can be used in applications ranging from health and fitness
monitoring to location-based services. Key requirements for MotionInterface enabled devices are small
package size, low power consumption, high accuracy and repeatability, high shock tolerance, and application
specific performance programmability – all at a low consumer price point.
The MPU-60X0 is the world’s first integrated 6-axis MotionTracking device that combines a 3-axis
gyroscope, 3-axis accelerometer, and a Digital Motion Processor™ (DMP) all in a small 4x4x0.9mm
package. With its dedicated I2C sensor bus, it directly accepts inputs from an external 3-axis compass to
provide a complete 9-axis MotionFusion™ output. The MPU-60X0 MotionTracking device, with its 6-axis
integration, on-board MotionFusion™, and run-time calibration firmware, enables manufacturers to eliminate
the costly and complex selection, qualification, and system level integration of discrete devices, guaranteeing
optimal motion performance for consumers. The MPU-60X0 is also designed to interface with multiple noninertial digital sensors, such as pressure sensors, on its auxiliary I2C port. The MPU-60X0 is footprint
compatible with the MPU-30X0 family.
The MPU-60X0 features three 16-bit analog-to-digital converters (ADCs) for digitizing the gyroscope outputs
and three 16-bit ADCs for digitizing the accelerometer outputs. For precision tracking of both fast and slow
motions, the parts feature a user-programmable gyroscope full-scale range of ±250, ±500, ±1000, and
±2000°/sec (dps) and a user-programmable accelerometer full-scale range of ±2g, ±4g, ±8g, and ±16g.
An on-chip 1024 Byte FIFO buffer helps lower system power consumption by allowing the system processor
to read the sensor data in bursts and then enter a low-power mode as the MPU collects more data. With all
the necessary on-chip processing and sensor components required to support many motion-based use
cases, the MPU-60X0 uniquely enables low-power MotionInterface applications in portable applications with
reduced processing requirements for the system processor. By providing an integrated MotionFusion output,
the DMP in the MPU-60X0 offloads the intensive MotionProcessing computation requirements from the
system processor, minimizing the need for frequent polling of the motion sensor output.
Communication with all registers of the device is performed using either I2C at 400kHz or SPI at 1MHz
(MPU-6000 only). For applications requiring faster communications, the sensor and interrupt registers may
be read using SPI at 20MHz (MPU-6000 only). Additional features include an embedded temperature sensor
and an on-chip oscillator with ±1% variation over the operating temperature range.
By leveraging its patented and volume-proven Nasiri-Fabrication platform, which integrates MEMS wafers
with companion CMOS electronics through wafer-level bonding, InvenSense has driven the MPU-60X0
package size down to a revolutionary footprint of 4x4x0.9mm (QFN), while providing the highest
performance, lowest noise, and the lowest cost semiconductor packaging required for handheld consumer
electronic devices. The part features a robust 10,000g shock tolerance, and has programmable low-pass
filters for the gyroscopes, accelerometers, and the on-chip temperature sensor.
For power supply flexibility, the MPU-60X0 operates from VDD power supply voltage range of 2.375V-3.46V.
Additionally, the MPU-6050 provides a VLOGIC reference pin (in addition to its analog supply pin: VDD),
which sets the logic levels of its I2C interface. The VLOGIC voltage may be 1.8V±5% or VDD.
The MPU-6000 and MPU-6050 are identical, except that the MPU-6050 supports the I2C serial interface only,
and has a separate VLOGIC reference pin. The MPU-6000 supports both I2C and SPI interfaces and has a
single supply pin, VDD, which is both the device’s logic reference supply and the analog supply for the part.
The table below outlines these differences:
BlurFree™ technology (for Video/Still Image Stabilization)
AirSign™ technology (for Security/Authentication)
TouchAnywhere™ technology (for “no touch” UI Application Control/Navigation)
MotionCommand™ technology (for Gesture Short-cuts)
Motion-enabled game and application framework
InstantGesture™ iG™ gesture recognition
Location based services, points of interest, and dead reckoning
Handset and portable gaming
Motion-based game controllers
3D remote controls for Internet connected DTVs and set top boxes, 3D mice
Wearable sensors for health, fitness and sports
Toys
The triple-axis MEMS gyroscope in the MPU-60X0 includes a wide range of features:
Digital-output X-, Y-, and Z-Axis angular rate sensors (gyroscopes) with a user-programmable full-
scale range of ±250, ±500, ±1000, and ±2000°/sec
External sync signal connected to the FSYNC pin supports image, video and GPS synchronization
Integrated 16-bit ADCs enable simultaneous sampling of gyros
Enhanced bias and sensitivity temperature stability reduces the need for user calibration
Improved low-frequency noise performance
Digitally-programmable low-pass filter
Gyroscope operating current: 3.6mA
Standby current: 5µA
Factory calibrated sensitivity scale factor
User self-test
5.2 Accelerometer Features
The triple-axis MEMS accelerometer in MPU-60X0 includes a wide range of features:
Digital-output triple-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and
±16g
Integrated 16-bit ADCs enable simultaneous sampling of accelerometers while requiring no external
multiplexer
Accelerometer normal operating current: 500µA
Low power accelerometer mode current: 10µA at 1.25Hz, 20µA at 5Hz, 60µA at 20Hz, 110µA at
40Hz
Orientation detection and signaling
Tap detection
User-programmable interrupts
High-G interrupt
User self-test
5.3 Additional Features
The MPU-60X0 includes the following additional features:
9-Axis MotionFusion by the on-chip Digital Motion Processor (DMP)
Auxiliary master I2C bus for reading data from external sensors (e.g., magnetometer)
3.9mA operating current when all 6 motion sensing axes and the DMP are enabled
VDD supply voltage range of 2.375V-3.46V
Flexible VLOGIC reference voltage supports multiple I2C interface voltages (MPU-6050 only)
Smallest and thinnest QFN package for portable devices: 4x4x0.9mm
Minimal cross-axis sensitivity between the accelerometer and gyroscope axes
1024 byte FIFO buffer reduces power consumption by allowing host processor to read the data in
bursts and then go into a low-power mode as the MPU collects more data
Digital-output temperature sensor
User-programmable digital filters for gyroscope, accelerometer, and temp sensor
10,000 g shock tolerant
400kHz Fast Mode I2C for communicating with all registers
1MHz SPI serial interface for communicating with all registers (MPU-6000 only)
20MHz SPI serial interface for reading sensor and interrupt registers (MPU-6000 only)
MEMS structure hermetically sealed and bonded at wafer level
RoHS and Green compliant
5.4 MotionProcessing
Internal Digital Motion Processing™ (DMP™) engine supports 3D MotionProcessing and gesture
recognition algorithms
The MPU-60X0 collects gyroscope and accelerometer data while synchronizing data sampling at a
user defined rate. The total dataset obtained by the MPU-60X0 includes 3-Axis gyroscope data, 3Axis accelerometer data, and temperature data. The MPU’s calculated output to the system
processor can also include heading data from a digital 3-axis third party magnetometer.
The FIFO buffers the complete data set, reducing timing requirements on the system processor by
allowing the processor burst read the FIFO data. After burst reading the FIFO data, the system
processor can save power by entering a low-power sleep mode while the MPU collects more data.
Programmable interrupt supports features such as gesture recognition, panning, zooming, scrolling,
tap detection, and shake detection
Digitally-programmable low-pass filters
Low-power pedometer functionality allows the host processor to sleep while the DMP maintains the
step count.
5.5 Clocking
On-chip timing generator ±1% frequency variation over full temperature range
Optional external clock inputs of 32.768kHz or 19.2MHz
Input Voltage Level (CLKIN, AUX_DA, AD0, FSYNC, INT,
SCL, SDA)
-0.5V to VDD + 0.5V
CPOUT (2.5V ≤ VDD ≤ 3.6V )
-0.5V to 30V
Acceleration (Any Axis, unpowered)
10,000g for 0.2ms
Operating Temperature Range
-40°C to +105°C
Storage Temperature Range
-40°C to +125°C
Electrostatic Discharge (ESD) Protection
2kV (HBM);
250V (MM)
Latch-up
JEDEC Class II (2),125°C
±100mA
6.9 Absolute Maximum Ratings
Stress above those listed as “Absolute Maximum Ratings” may cause permanent damage to the device.
These are stress ratings only and functional operation of the device at these conditions is not implied.
Exposure to the absolute maximum ratings conditions for extended periods may affect device reliability.
Note: Pin names in round brackets ( ) apply only to MPU-6000
Pin names in square brackets [ ] apply only to MPU-6050
Z Accel
Y Accel
X Accel
ADC
ADC
ADC
CLKIN
CLKOUT
ADCX Gyro
Signal Conditioning
FIFO
Config
Registers
Sensor
Registers
Self
test
[VLOGIC]
8
Self
test
Self
test
Self
test
Self
test
Self
test
7.5 Block Diagram
7.6 Overview
The MPU-60X0 is comprised of the following key blocks and functions:
Three-axis MEMS rate gyroscope sensor with 16-bit ADCs and signal conditioning
Three-axis MEMS accelerometer sensor with 16-bit ADCs and signal conditioning
Digital Motion Processor (DMP) engine
Primary I2C and SPI (MPU-6000 only) serial communications interfaces
Auxiliary I2C serial interface for 3rd party magnetometer & other sensors
Clocking
Sensor Data Registers
FIFO
Interrupts
Digital-Output Temperature Sensor
Gyroscope & Accelerometer Self-test
Bias and LDO
Charge Pump
7.7 Three-Axis MEMS Gyroscope with 16-bit ADCs and Signal Conditioning
The MPU-60X0 consists of three independent vibratory MEMS rate gyroscopes, which detect rotation about
the X-, Y-, and Z- Axes. When the gyros are rotated about any of the sense axes, the Coriolis Effect causes
a vibration that is detected by a capacitive pickoff. The resulting signal is amplified, demodulated, and filtered
to produce a voltage that is proportional to the angular rate. This voltage is digitized using individual on-chip
16-bit Analog-to-Digital Converters (ADCs) to sample each axis. The full-scale range of the gyro sensors
may be digitally programmed to ±250, ±500, ±1000, or ±2000 degrees per second (dps). The ADC sample
rate is programmable from 8,000 samples per second, down to 3.9 samples per second, and user-selectable
low-pass filters enable a wide range of cut-off frequencies.
7.8 Three-Axis MEMS Accelerometer with 16-bit ADCs and Signal Conditioning
The MPU-60X0’s 3-Axis accelerometer uses separate proof masses for each axis. Acceleration along a
particular axis induces displacement on the corresponding proof mass, and capacitive sensors detect the
displacement differentially. The MPU-60X0’s architecture reduces the accelerometers’ susceptibility to
fabrication variations as well as to thermal drift. When the device is placed on a flat surface, it will measure
0g on the X- and Y-axes and +1g on the Z-axis. The accelerometers’ scale factor is calibrated at the factory
and is nominally independent of supply voltage. Each sensor has a dedicated sigma-delta ADC for providing
digital outputs. The full scale range of the digital output can be adjusted to ±2g, ±4g, ±8g, or ±16g.
7.9 Digital Motion Processor
The embedded Digital Motion Processor (DMP) is located within the MPU-60X0 and offloads computation of
motion processing algorithms from the host processor. The DMP acquires data from accelerometers,
gyroscopes, and additional 3rd party sensors such as magnetometers, and processes the data. The resulting
data can be read from the DMP’s registers, or can be buffered in a FIFO. The DMP has access to one of the
MPU’s external pins, which can be used for generating interrupts.
The purpose of the DMP is to offload both timing requirements and processing power from the host
processor. Typically, motion processing algorithms should be run at a high rate, often around 200Hz, in order
to provide accurate results with low latency. This is required even if the application updates at a much lower
rate; for example, a low power user interface may update as slowly as 5Hz, but the motion processing should
still run at 200Hz. The DMP can be used as a tool in order to minimize power, simplify timing, simplify the
software architecture, and save valuable MIPS on the host processor for use in the application.
7.10 Primary I2C and SPI Serial Communications Interfaces
The MPU-60X0 communicates to a system processor using either a SPI (MPU-6000 only) or an I2C serial
interface. The MPU-60X0 always acts as a slave when communicating to the system processor. The LSB of
the of the I2C slave address is set by pin 9 (AD0).
The logic levels for communications between the MPU-60X0 and its master are as follows:
MPU-6000: The logic level for communications with the master is set by the voltage on VDD
MPU-6050: The logic level for communications with the master is set by the voltage on VLOGIC
For further information regarding the logic levels of the MPU-6050, please refer to Section 10.
The MPU-60X0 has an auxiliary I2C bus for communicating to an off-chip 3-Axis digital output magnetometer
or other sensors. This bus has two operating modes:
I2C Master Mode: The MPU-60X0 acts as a master to any external sensors connected to the
auxiliary I2C bus
Pass-Through Mode: The MPU-60X0 directly connects the primary and auxiliary I2C buses together,
allowing the system processor to directly communicate with any external sensors.
Auxiliary I2C Bus Modes of Operation:
I2C Master Mode: Allows the MPU-60X0 to directly access the data registers of external digital
sensors, such as a magnetometer. In this mode, the MPU-60X0 directly obtains data from auxiliary
sensors, allowing the on-chip DMP to generate sensor fusion data without intervention from the
system applications processor.
For example, In I2C Master mode, the MPU-60X0 can be configured to perform burst reads,
returning the following data from a magnetometer:
X magnetometer data (2 bytes)
Y magnetometer data (2 bytes)
Z magnetometer data (2 bytes)
The I2C Master can be configured to read up to 24 bytes from up to 4 auxiliary sensors. A fifth sensor
can be configured to work single byte read/write mode.
Pass-Through Mode: Allows an external system processor to act as master and directly
communicate to the external sensors connected to the auxiliary I2C bus pins (AUX_DA and
AUX_CL). In this mode, the auxiliary I2C bus control logic (3rd party sensor interface block) of the
MPU-60X0 is disabled, and the auxiliary I2C pins AUX_DA and AUX_CL (Pins 6 and 7) are
connected to the main I2C bus (Pins 23 and 24) through analog switches.
Pass-Through Mode is useful for configuring the external sensors, or for keeping the MPU-60X0 in a
low-power mode when only the external sensors are used.
In Pass-Through Mode the system processor can still access MPU-60X0 data through the I2C
interface.
Auxiliary I2C Bus IO Logic Levels
MPU-6000: The logic level of the auxiliary I2C bus is VDD
MPU-6050: The logic level of the auxiliary I2C bus can be programmed to be either VDD or VLOGIC
For further information regarding the MPU-6050’s logic levels, please refer to Section 10.2.
Please refer to the MPU-6000/MPU-6050 Register Map and Register Descriptions document for more details
on self test.
Self-test allows for the testing of the mechanical and electrical portions of the sensors. The self-test for each
measurement axis can be activated by means of the gyroscope and accelerometer self-test registers
(registers 13 to 16).
When self-test is activated, the electronics cause the sensors to be actuated and produce an output signal.
The output signal is used to observe the self-test response.
The self-test response is defined as follows:
Self-test response = Sensor output with self-test enabled – Sensor output without self-test enabled
The self-test response for each accelerometer axis is defined in the accelerometer specification table
(Section 6.2), while that for each gyroscope axis is defined in the gyroscope specification table (Section 6.1).
When the value of the self-test response is within the min/max limits of the product specification, the part has
passed self test. When the self-test response exceeds the min/max values, the part is deemed to have failed
self-test. Code for operating self test code is included within the MotionApps software provided by
InvenSense.
I2C Processor Bus: for reading all
sensor data from MPU and for
configuring external sensors (i.e.
compass in this example)
Interface bypass mux allows
direct configuration of
compass by system processor
Optional
Sensor I2C Bus: for
configuring and reading
from external sensors
7.13 MPU-60X0 Solution for 9-axis Sensor Fusion Using I2C Interface
In the figure below, the system processor is an I2C master to the MPU-60X0. In addition, the MPU-60X0 is an
I2C master to the optional external compass sensor. The MPU-60X0 has limited capabilities as an I2C
Master, and depends on the system processor to manage the initial configuration of any auxiliary sensors.
The MPU-60X0 has an interface bypass multiplexer, which connects the system processor I2C bus pins 23
and 24 (SDA and SCL) directly to the auxiliary sensor I2C bus pins 6 and 7 (AUX_DA and AUX_CL).
Once the auxiliary sensors have been configured by the system processor, the interface bypass multiplexer
should be disabled so that the MPU-60X0 auxiliary I2C master can take control of the sensor I2C bus and
gather data from the auxiliary sensors.
For further information regarding I2C master control, please refer to Section 10.
Processor SPI Bus: for reading all
data from MPU and for configuring
MPU and external sensors
7
6
AUX_CL
AUX_DA
Compass
SCL
SDA
Optional
I2C Master performs
read and write
transactions on
Sensor I2C bus.
Sensor I2C Bus: for
configuring and
reading data from
external sensors
7.14 MPU-6000 Using SPI Interface
In the figure below, the system processor is an SPI master to the MPU-6000. Pins 8, 9, 23, and 24 are used
to support the /CS, SDO, SCLK, and SDI signals for SPI communications. Because these SPI pins are
shared with the I2C slave pins (9, 23 and 24), the system processor cannot access the auxiliary I2C bus
through the interface bypass multiplexer, which connects the processor I2C interface pins to the sensor I2C
interface pins.
Since the MPU-6000 has limited capabilities as an I2C Master, and depends on the system processor to
manage the initial configuration of any auxiliary sensors, another method must be used for programming the
sensors on the auxiliary sensor I2C bus pins 6 and 7 (AUX_DA and AUX_CL).
When using SPI communications between the MPU-6000 and the system processor, configuration of
devices on the auxiliary I2C sensor bus can be achieved by using I2C Slaves 0-4 to perform read and write
transactions on any device and register on the auxiliary I2C bus. The I2C Slave 4 interface can be used to
perform only single byte read and write transactions.
Once the external sensors have been configured, the MPU-6000 can perform single or multi-byte reads
using the sensor I2C bus. The read results from the Slave 0-3 controllers can be written to the FIFO buffer as
well as to the external sensor registers.
For further information regarding the control of the MPU-60X0’s auxiliary I2C interface, please refer to the
MPU-6000/MPU-6050 Register Map and Register Descriptions document.
The MPU-60X0 has a flexible clocking scheme, allowing a variety of internal or external clock sources to be
used for the internal synchronous circuitry. This synchronous circuitry includes the signal conditioning and
ADCs, the DMP, and various control circuits and registers. An on-chip PLL provides flexibility in the
allowable inputs for generating this clock.
Allowable internal sources for generating the internal clock are:
An internal relaxation oscillator
Any of the X, Y, or Z gyros (MEMS oscillators with a variation of ±1% over temperature)
Allowable external clocking sources are:
32.768kHz square wave
19.2MHz square wave
Selection of the source for generating the internal synchronous clock depends on the availability of external
sources and the requirements for power consumption and clock accuracy. These requirements will most
likely vary by mode of operation. For example, in one mode, where the biggest concern is power
consumption, the user may wish to operate the Digital Motion Processor of the MPU-60X0 to process
accelerometer data, while keeping the gyros off. In this case, the internal relaxation oscillator is a good clock
choice. However, in another mode, where the gyros are active, selecting the gyros as the clock source
provides for a more accurate clock source.
Clock accuracy is important, since timing errors directly affect the distance and angle calculations performed
by the Digital Motion Processor (and by extension, by any processor).
There are also start-up conditions to consider. When the MPU-60X0 first starts up, the device uses its
internal clock until programmed to operate from another source. This allows the user, for example, to wait
for the MEMS oscillators to stabilize before they are selected as the clock source.
7.16 Sensor Data Registers
The sensor data registers contain the latest gyro, accelerometer, auxiliary sensor, and temperature
measurement data. They are read-only registers, and are accessed via the serial interface. Data from these
registers may be read anytime. However, the interrupt function may be used to determine when new data is
available.
For a table of interrupt sources please refer to Section 8.
7.17 FIFO
The MPU-60X0 contains a 1024-byte FIFO register that is accessible via the Serial Interface. The FIFO
configuration register determines which data is written into the FIFO. Possible choices include gyro data,
accelerometer data, temperature readings, auxiliary sensor readings, and FSYNC input. A FIFO counter
keeps track of how many bytes of valid data are contained in the FIFO. The FIFO register supports burst
reads. The interrupt function may be used to determine when new data is available.
For further information regarding the FIFO, please refer to the MPU-6000/MPU-6050 Register Map and
Register Descriptions document.
7.18 Interrupts
Interrupt functionality is configured via the Interrupt Configuration register. Items that are configurable include
the INT pin configuration, the interrupt latching and clearing method, and triggers for the interrupt. Items that
can trigger an interrupt are (1) Clock generator locked to new reference oscillator (used when switching clock
sources); (2) new data is available to be read (from the FIFO and Data registers); (3) accelerometer event
interrupts; and (4) the MPU-60X0 did not receive an acknowledge from an auxiliary sensor on the secondary
I2C bus. The interrupt status can be read from the Interrupt Status register.
For further information regarding interrupts, please refer to the MPU-60X0 Register Map and Register
Descriptions document.
For information regarding the MPU-60X0’s accelerometer event interrupts, please refer to Section 8.
7.19 Digital-Output Temperature Sensor
An on-chip temperature sensor and ADC are used to measure the MPU-60X0 die temperature. The
readings from the ADC can be read from the FIFO or the Sensor Data registers.
7.20 Bias and LDO
The bias and LDO section generates the internal supply and the reference voltages and currents required by
the MPU-60X0. Its two inputs are an unregulated VDD of 2.375 to 3.46V and a VLOGIC logic reference
supply voltage of 1.71V to VDD (MPU-6050 only). The LDO output is bypassed by a capacitor at REGOUT.
For further details on the capacitor, please refer to the Bill of Materials for External Components (Section
7.3).
7.21 Charge Pump
An on-board charge pump generates the high voltage required for the MEMS oscillators. Its output is
bypassed by a capacitor at CPOUT. For further details on the capacitor, please refer to the Bill of Materials
for External Components (Section 7.3).
The MPU-60X0 has a programmable interrupt system which can generate an interrupt signal on the INT pin.
Status flags indicate the source of an interrupt. Interrupt sources may be enabled and disabled individually.
Table of Interrupt Sources
For information regarding the interrupt enable/disable registers and flag registers, please refer to the MPU6000/MPU-6050 Register Map and Register Descriptions document. Some interrupt sources are explained
below.
Digital I/O supply voltage. VLOGIC must be ≤ VDD at all times.
9 Y
AD0 / SDO
I2C Slave Address LSB (AD0); SPI serial data output (SDO)
9 Y
AD0
I2C Slave Address LSB
23 Y
SCL / SCLK
I2C serial clock (SCL); SPI serial clock (SCLK)
23 Y
SCL
I2C serial clock
24 Y
SDA / SDI
I2C serial data (SDA); SPI serial data input (SDI)
24 Y
SDA
I2C serial data
9 Digital Interface
9.1 I2C and SPI (MPU-6000 only) Serial Interfaces
The internal registers and memory of the MPU-6000/MPU-6050 can be accessed using either I2C at 400 kHz
or SPI at 1MHz (MPU-6000 only). SPI operates in four-wire mode.
Serial Interface
Note:
To prevent switching into I2C mode when using SPI (MPU-6000), the I2C interface should be disabled by
setting the I2C_IF_DIS configuration bit. Setting this bit should be performed immediately after waiting for the
time specified by the “Start-Up Time for Register Read/Write” in Section 6.3.
For further information regarding the I2C_IF_DIS bit, please refer to the MPU-6000/MPU-6050 Register Map
and Register Descriptions document.
9.2 I2C Interface
I2C is a two-wire interface comprised of the signals serial data (SDA) and serial clock (SCL). In general, the
lines are open-drain and bi-directional. In a generalized I2C interface implementation, attached devices can
be a master or a slave. The master device puts the slave address on the bus, and the slave device with the
matching address acknowledges the master.
The MPU-60X0 always operates as a slave device when communicating to the system processor, which thus
acts as the master. SDA and SCL lines typically need pull-up resistors to VDD. The maximum bus speed is
400 kHz.
The slave address of the MPU-60X0 is b110100X which is 7 bits long. The LSB bit of the 7 bit address is
determined by the logic level on pin AD0. This allows two MPU-60X0s to be connected to the same I2C bus.
When used in this configuration, the address of the one of the devices should be b1101000 (pin AD0 is logic
low) and the address of the other should be b1101001 (pin AD0 is logic high).
9.3 I2C Communications Protocol
START (S) and STOP (P) Conditions
Communication on the I2C bus starts when the master puts the START condition (S) on the bus, which is
defined as a HIGH-to-LOW transition of the SDA line while SCL line is HIGH (see figure below). The bus is
considered to be busy until the master puts a STOP condition (P) on the bus, which is defined as a LOW to
HIGH transition on the SDA line while SCL is HIGH (see figure below).
Additionally, the bus remains busy if a repeated START (Sr) is generated instead of a STOP condition.
START and STOP Conditions
Data Format / Acknowledge
I2C data bytes are defined to be 8-bits long. There is no restriction to the number of bytes transmitted per
data transfer. Each byte transferred must be followed by an acknowledge (ACK) signal. The clock for the
acknowledge signal is generated by the master, while the receiver generates the actual acknowledge signal
by pulling down SDA and holding it low during the HIGH portion of the acknowledge clock pulse.
If a slave is busy and cannot transmit or receive another byte of data until some other task has been
performed, it can hold SCL LOW, thus forcing the master into a wait state. Normal data transfer resumes
when the slave is ready, and releases the clock line (refer to the following figure).
After beginning communications with the START condition (S), the master sends a 7-bit slave address
followed by an 8th bit, the read/write bit. The read/write bit indicates whether the master is receiving data from
or is writing to the slave device. Then, the master releases the SDA line and waits for the acknowledge
signal (ACK) from the slave device. Each byte transferred must be followed by an acknowledge bit. To
acknowledge, the slave device pulls the SDA line LOW and keeps it LOW for the high period of the SCL line.
Data transmission is always terminated by the master with a STOP condition (P), thus freeing the
communications line. However, the master can generate a repeated START condition (Sr), and address
another slave without first generating a STOP condition (P). A LOW to HIGH transition on the SDA line while
SCL is HIGH defines the stop condition. All SDA changes should take place when SCL is low, with the
exception of start and stop conditions.
Complete I2C Data Transfer
To write the internal MPU-60X0 registers, the master transmits the start condition (S), followed by the I2C
address and the write bit (0). At the 9th clock cycle (when the clock is high), the MPU-60X0 acknowledges the
transfer. Then the master puts the register address (RA) on the bus. After the MPU-60X0 acknowledges the
reception of the register address, the master puts the register data onto the bus. This is followed by the ACK
signal, and data transfer may be concluded by the stop condition (P). To write multiple bytes after the last
ACK signal, the master can continue outputting data rather than transmitting a stop signal. In this case, the
MPU-60X0 automatically increments the register address and loads the data to the appropriate register. The
following figures show single and two-byte write sequences.
Start Condition: SDA goes from high to low while SCL is high
AD
Slave I2C address
W
Write bit (0)
R
Read bit (1)
ACK
Acknowledge: SDA line is low while the SCL line is high at the
9th clock cycle
NACK
Not-Acknowledge: SDA line stays high at the 9th clock cycle
RA
MPU-60X0 internal register address
DATA
Transmit or received data
P
Stop condition: SDA going from low to high while SCL is high
Master
S
AD+W
RA S
AD+R
NACK
P
Slave
ACK
ACK
ACK
DATA
Master
S
AD+W
RA S
AD+R
ACK
NACK
P
Slave
ACK
ACK
ACK
DATA
DATA
To read the internal MPU-60X0 registers, the master sends a start condition, followed by the I2C address and
a write bit, and then the register address that is going to be read. Upon receiving the ACK signal from the
MPU-60X0, the master transmits a start signal followed by the slave address and read bit. As a result, the
MPU-60X0 sends an ACK signal and the data. The communication ends with a not acknowledge (NACK)
signal and a stop bit from master. The NACK condition is defined such that the SDA line remains high at the
9th clock cycle. The following figures show single and two-byte read sequences.
SPI is a 4-wire synchronous serial interface that uses two control lines and two data lines. The MPU-6000
always operates as a Slave device during standard Master-Slave SPI operation.
With respect to the Master, the Serial Clock output (SCLK), the Serial Data Output (SDO) and the Serial
Data Input (SDI) are shared among the Slave devices. Each SPI slave device requires its own Chip Select
(/CS) line from the master.
/CS goes low (active) at the start of transmission and goes back high (inactive) at the end. Only one /CS line
is active at a time, ensuring that only one slave is selected at any given time. The /CS lines of the nonselected slave devices are held high, causing their SDO lines to remain in a high-impedance (high-z) state
so that they do not interfere with any active devices.
SPI Operational Features
1. Data is delivered MSB first and LSB last
2. Data is latched on the rising edge of SCLK
3. Data should be transitioned on the falling edge of SCLK
4. The maximum frequency of SCLK is 1MHz
5. SPI read and write operations are completed in 16 or more clock cycles (two or more bytes). The
first byte contains the SPI Address, and the following byte(s) contain(s) the SPI data. The first
bit of the first byte contains the Read/Write bit and indicates the Read (1) or Write (0) operation.
The following 7 bits contain the Register Address. In cases of multiple-byte Read/Writes, data is
two or more bytes:
The MPU-6050 supports I2C communications on both its primary (microprocessor) serial interface and its
auxiliary interface.
10.2 Logic Levels
The MPU-6050’s I/O logic levels are set to be VLOGIC, as shown in the table below. AUX_VDDIO must be
set to 0.
I/O Logic Levels vs. AUX_VDDIO
Note: The power-on-reset value for AUX_VDDIO is 0.
When AUX_VDDIO is set to 0 (its power-on-reset value), VLOGIC is the power supply voltage for both the
microprocessor system bus and the auxiliary I2C bus, as shown in the figure of Section 10.3.
The figure below depicts a sample circuit with a third party magnetometer attached to the auxiliary I2C bus. It
shows logic levels and voltage connections for AUX_VDDIO = 0. Note: Actual configuration will depend on
the auxiliary sensors used.
I/O Levels and Connections for AUX_VDDIO = 0
Notes:
1. AUX_VDDIO determines the IO voltage levels of AUX_DA and AUX_CL
(0 = set output levels relative to VLOGIC)
2. All other MPU-6050 logic IOs are referenced to VLOGIC.
This section provides general guidelines for assembling InvenSense Micro Electro-Mechanical Systems
(MEMS) gyros packaged in Quad Flat No leads package (QFN) surface mount integrated circuits.
11.1 Orientation of Axes
The diagram below shows the orientation of the axes of sensitivity and the polarity of rotation. Note the pin 1
identifier (•) in the figure.
The Pad Diagram using a JEDEC type extension with solder rising on the outer edge is shown below. The
Pad Dimensions Table shows pad sizing (mean dimensions) recommended for the MPU-60X0 product.
JEDEC type extension with solder rising on outer edge
InvenSense MEMS Gyros sense rate of rotation. In addition, gyroscopes sense mechanical stress coming
from the printed circuit board (PCB). This PCB stress can be minimized by adhering to certain design rules:
When using MEMS gyroscope components in plastic packages, PCB mounting and assembly can cause
package stress. This package stress in turn can affect the output offset and its value over a wide range of
temperatures. This stress is caused by the mismatch between the Coefficient of Linear Thermal Expansion
(CTE) of the package material and the PCB. Care must be taken to avoid package stress due to mounting.
Traces connected to pads should be as symmetric as possible. Maximizing symmetry and balance for pad
connection will help component self alignment and will lead to better control of solder paste reduction after
reflow.
Any material used in the surface mount assembly process of the MEMS gyroscope should be free of
restricted RoHS elements or compounds. Pb-free solders should be used for assembly.
11.4.2 Exposed Die Pad Precautions
The MPU-60X0 has very low active and standby current consumption. The exposed die pad is not required
for heat sinking, and should not be soldered to the PCB. Failure to adhere to this rule can induce
performance changes due to package thermo-mechanical stress. There is no electrical connection between
the pad and the CMOS.
11.4.3 Trace Routing
Routing traces or vias under the gyro package such that they run under the exposed die pad is prohibited.
Routed active signals may harmonically couple with the gyro MEMS devices, compromising gyro response.
These devices are designed with the drive frequencies as follows: X = 33±3Khz, Y = 30±3Khz, and
Z=27±3Khz. To avoid harmonic coupling don’t route active signals in non-shielded signal planes directly
below, or above the gyro package. Note: For best performance, design a ground plane under the e-pad to
reduce PCB signal noise from the board on which the gyro device is mounted. If the gyro device is stacked
under an adjacent PCB board, design a ground plane directly above the gyro device to shield active signals
from the adjacent PCB board.
11.4.4 Component Placement
Do not place large insertion components such as keyboard or similar buttons, connectors, or shielding boxes
at a distance of less than 6 mm from the MEMS gyro. Maintain generally accepted industry design practices
for component placement near the MPU-60X0 to prevent noise coupling and thermo-mechanical stress.
11.4.5 PCB Mounting and Cross-Axis Sensitivity
Orientation errors of the gyroscope and accelerometer mounted to the printed circuit board can cause crossaxis sensitivity in which one gyro or accel responds to rotation or acceleration about another axis,
respectively. For example, the X-axis gyroscope may respond to rotation about the Y or Z axes. The
orientation mounting errors are illustrated in the figure below.
Package Gyro & Accel Axes ( ) Relative to PCB Axes ( ) with Orientation Errors (Θ and Φ)
MPU
-
6000
MPU
-
6050
Φ
Θ
X
Y
Z
Orientation Error
(θ or Φ)
Cross-Axis Sensitivity
(sinθ or sinΦ)
0º
0%
0.5º
0.87%
1º
1.75%
The table below shows the cross-axis sensitivity as a percentage of the gyroscope or accelerometer’s
sensitivity for a given orientation error, respectively.
Cross-Axis Sensitivity vs. Orientation Error
The specifications for cross-axis sensitivity in Section 6.1 and Section 6.2 include the effect of the die
orientation error with respect to the package.
11.4.6 MEMS Handling Instructions
MEMS (Micro Electro-Mechanical Systems) are a time-proven, robust technology used in hundreds of
millions of consumer, automotive and industrial products. MEMS devices consist of microscopic moving
mechanical structures. They differ from conventional IC products, even though they can be found in similar
packages. Therefore, MEMS devices require different handling precautions than conventional ICs prior to
mounting onto printed circuit boards (PCBs).
The MPU-60X0 has been qualified to a shock tolerance of 10,000g. InvenSense packages its gyroscopes as
it deems proper for protection against normal handling and shipping. It recommends the following handling
precautions to prevent potential damage.
Do not drop individually packaged gyroscopes, or trays of gyroscopes onto hard surfaces. Components
placed in trays could be subject to g-forces in excess of 10,000g if dropped.
Printed circuit boards that incorporate mounted gyroscopes should not be separated by manually
snapping apart. This could also create g-forces in excess of 10,000g.
Do not clean MEMS gyroscopes in ultrasonic baths. Ultrasonic baths can induce MEMS damage if the
bath energy causes excessive drive motion through resonant frequency coupling.
11.4.7 ESD Considerations
Establish and use ESD-safe handling precautions when unpacking and handling ESD-sensitive devices.
Store ESD sensitive devices in ESD safe containers until ready for use. The Tape-and-Reel moisture-
sealed bag is an ESD approved barrier. The best practice is to keep the units in the original moisture
sealed bags until ready for assembly.
Restrict all device handling to ESD protected work areas that measure less than 200V static charge. Ensure
that all workstations and personnel are properly grounded to prevent ESD.
11.4.8 Reflow Specification
Qualification Reflow: The MPU-60X0 was qualified in accordance with IPC/JEDEC J-STD-020D.1. This
standard classifies proper packaging, storage and handling in order to avoid subsequent thermal and
mechanical damage during the solder reflow attachment phase of PCB assembly.
The qualification preconditioning process specifies a sequence consisting of a bake cycle, a moisture soak
cycle (in a temperature humidity oven), and three consecutive solder reflow cycles, followed by functional
device testing.
The peak solder reflow classification temperature requirement for package qualification is (260 +5/-0°C) for
lead-free soldering of components measuring less than 1.6 mm in thickness. The qualification profile and a
table explaining the set-points are shown below:
12 months -- Storage conditions: <40°C and <90% RH
After opening moisture-sealed bag
168 hours -- Storage conditions: ambient ≤30°C at 60%RH
INVENSENSE
MPU6000
XXXXXX-XX
XX YYWW X
Lot traceability code
Foundry code
Package Vendor Code
Rev Code
YY = Year Code
WW = Work Week
TOP VIEW
Part number
INVENSENSE
MPU6050
XXXXXX-XX
XX YYWW X
TOP VIEW
Temperature Set Points Corresponding to Reflow Profile Above
Notes: Customers must never exceed the Classification temperature (T
All temperatures refer to the topside of the QFN package, as measured on the package body surface.
= 260°C).
Pmax
Production Reflow: Check the recommendations of your solder manufacturer. For optimum results, use
lead-free solders that have lower specified temperature profiles (Tp
~ 235°C). Also use lower ramp-up and
max
ramp-down rates than those used in the qualification profile. Never exceed the maximum conditions that we
used for qualification, as these represent the maximum tolerable ratings for the device.
11.5 Storage Specifications
The storage specification of the MPU-60X0 conforms to IPC/JEDEC J-STD-020D.1 Moisture Sensitivity
Level (MSL) 3.
JEDEC JESD22-B104C, Mil-Std-883,
Method 2002.5, Cond. E, 10,000g’s, 0.2ms,
±X, Y, Z – 6 directions, 5 times/direction
3 5 (0/1)
(VIB)
Vibration
JEDEC JESD22-B103B, Variable Frequency (random),
Cond. B, 5-500Hz,
X, Y, Z – 4 times/direction
3 5 (0/1)
(TC)
Temperature Cycling
(1)
JEDEC JESD22-A104D
Condition G [-40°C to +125°C],
Soak Mode 2 [5’], 1000 cycles
3
77
(0/1)
TEST
Method/Condition
Lot
Quantity
Sample /
Lot
Acc /
Reject
Criteria
(BMS)
Board Mechanical Shock
JEDEC JESD22-B104C,Mil-Std-883,
Method 2002.5, Cond. E, 10000g’s, 0.2ms,
+-X, Y, Z – 6 directions, 5 times/direction
1 5 (0/1)
(BTC)
Board
Temperature Cycling
(1)
JEDEC JESD22-A104D
Condition G [ -40°C to +125°C],
Soak mode 2 [5’], 1000 cycles
1
40
(0/1)
12 Reliability
12.1 Qualification Test Policy
InvenSense’s products complete a Qualification Test Plan before being released to production. The
Qualification Test Plan for the MPU-60X0 followed the JESD47I Standards, “Stress-Test-Driven Qualification
of Integrated Circuits,” with the individual tests described below.
12.2 Qualification Test Plan
Accelerated Life Tests
Device Component Level Tests
(1)Tests are preceded by MSL3 Preconditioning in accordance with JEDEC JESD22-A113F
The MPU-6000/MPU-6050 is RoHS and Green compliant.
The MPU-6000/MPU-6050 is in full environmental compliance as evidenced in report HS-MPU-6000,
Materials Declaration Data Sheet.
Environmental Declaration Disclaimer:
InvenSense believes this environmental information to be correct but cannot guarantee accuracy or completeness. Conformity
documents for the above component constitutes are on file. InvenSense subcontracts manufacturing and the information contained
herein is based on data received from vendors and suppliers, which has not been validated by InvenSense.
This information furnished by InvenSense is believed to be accurate and reliable. However, no responsibility is assumed by InvenSense
for its use, or for any infringements of patents or other rights of third parties that may result from its use. Specifications are subject to
change without notice. InvenSense reserves the right to make changes to this product, including its circuits and software, in order to
improve its design and/or performance, without prior notice. InvenSense makes no warranties, neither expressed nor implied, regarding
the information and specifications contained in this document. InvenSense assumes no responsibility for any claims or damages arising
from information contained in this document, or from the use of products and services detailed therein. This includes, but is not limited
to, claims or damages based on the infringement of patents, copyrights, mask work and/or other intellectual property rights.
Certain intellectual property owned by InvenSense and described in this document is patent protected. No license is granted by
implication or otherwise under any patent or patent rights of InvenSense. This publication supersedes and replaces all information
previously supplied. Trademarks that are registered trademarks are the property of their respective companies. InvenSense sensors
should not be used or sold in the development, storage, production or utilization of any conventional or mass-destructive weapons or for
any other weapons or life threatening applications, as well as in any other life critical applications such as medical equipment,
transportation, aerospace and nuclear instruments, undersea equipment, power plant equipment, disaster prevention and crime
prevention equipment.
InvenSense® is a registered trademark of InvenSense, Inc. MPUTM, MPU-6000TM, MPU-6050TM, MPU-60X0TM, Digital Motion
Processor™, DMP
trademarks of InvenSense, Inc.
™
, Motion Processing Unit™, MotionFusion™, MotionInterface™, MotionTracking™, and MotionApps™ are