MMA8451 change default I2C address

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MMA8451 change default I2C address

1,702 Views
davidblanco
Contributor I

Hello everyone, I am interfacing Raspberry Pi with the MMA8451. Raspberry Pi only provides 1 i2c port, because the other i2c is attached to the camera device port, and the MMA8451 only have 2 I2C addresses.

My question is: There is any way to change the default I2C addresses 0x1C and 0x1D of the MMA8451? In the datasheet there is nothing about this and I can't think about other way than using a multiplexer to use more than two MMA8451 in the same Pi board.

Thank you for your support!

Labels (1)
Tags (3)
0 Kudos
1 Reply

696 Views
david_diaz
NXP Employee
NXP Employee

Hello David,

Indeed, the MMA8451Q's standard slave address is a choice between the two sequential addresses 0011100 and 0011101. The selection is made by the high- and low-logic level of the SA0 (pin 7) input respectively. The slave addresses are factory programmed and alternate addresses are available at customer request. The format is shown below:

I2C_address.jpg

Usually it is not possible to change the I2C slave addresses of the MMA8451Q for individual customers unless it represents a big business opportunity.

Could you please send me more information about your application, volumes, and production data?

You may send this information creating a new case. You may find more information here.  

On the other hand, I can gladly suggest you some solutions:

  1. Using a 2 channel I2C Bus Multiplexer (in case you need two MMA8451 on the same I2C bus).

     More specifically, I recommend the PCA9540B. You may find more information here​.

  1. Considering the FXLS8471Q, which is basically the same device as the MMA8451Q, but its two address selection inputs (SA1 and SA0) allow assignment of four unique addresses (0x1C, 0x1D, 0x1E, or 0x1F).

    

     You can find more information about the FXLS8471Q here​.

I hope this information will be useful for you.

If I misunderstood your question, feel free to let me know.  I will be glad to help.

Have a great day.

David Diaz.

Note: If this post answers your question, please click the Correct Answer button. Thank you!

0 Kudos