cancel
Showing results for 
Search instead for 
Did you mean: 

LIS2DU12TR accelerometer

PE4A
Associate

Hi,

I am trying to use the LIS2DU12TR's low address that is 0x18 but I keep on encountering issues with not able to read WHO_AM_I and the accelerometer does not work. Can anyone please help me with this?

Also, does it support 100kHz I2C bus?

Thanks.

3 REPLIES 3
Federica Bossi
ST Employee

Hi @PE4A ,

The LIS2DU12 device supports two possible I2C addresses depending on the state of the SA0 pin:

  • Low address: 0x18 (when SA0 is connected to GND)
  • High address: 0x19 (when SA0 is connected to VDDIO)

Is your SA0 connected to GND? If it is left floating or connected to VDDIO, the device responds at 0x19 instead.

Consider also that proper pull-ups (typically 4.7 kΩ to 10 kΩ) are required on I2C lines for reliable communication.

Yes, the LIS2DU12 supports 100kHz I2C bus according to the datasheet:

FedericaBossi_0-1759735285640.png

 

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi Federica,

Thank you for your response. Yes, my SA0 is tied to GND and hence, I am trying to get WHO_AM_I by reading the register 0x43. If I tie it to VDDIO, it works completely fine and I get 0x45 as a response, but when I tie it to GND, I get no response.

Yes, I have tied 4.7k pull-ups on the I2C lines.

Is there any boot-up procedure that I am probably missing out to use the Address 0x18?


Hi @PE4A ,

No special boot-up procedure is required to use address 0x18. Just power the device with SA0 tied low and communicate at 0x18.

Are you sure that the SA0 is connected to GND?

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.