I'd like to connect 12 mpu9250 sensors to one arduino board.

I can't find documentation on how to change the addresses of mpu9250 boards. (i read through the reference ). Some tutorials talk about changing addresses for other device so i assume it is possible for mpu9250. I found this map of registers but can't figure out how to change the address.

I realize that mpu9250 might be too specific, so general guidance on how to solve these problems would be highly appreciated.

mpu9250 is similar to more popular mpu9150 and mpu6050. It is also known as GY-9250


2 Answers 2


Page 23 of the manual you linked:

The MPU-9250 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).

It seems you can only choose between two addresses as listed in the table on page 12.

  • fair enough, I just thought it would be logical to allow user to change the address Mar 8, 2015 at 18:57

Might be a little late, but you can string more than two of these on one I2C bus, with a little ingenuity.

You connect the AD0 pin of each MPU to a different I/O pin of the processor, then take low the address of the one MPU you want to talk to.

Then that MPU has one address, all the others have the other address, and being slaves will not respond.

Provided you don't have more than one MPU selected at once, works a dream.

  • A very cunning suggestion, I like it!
    – Nick Gammon
    Oct 17, 2015 at 5:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.