Skip to main content
Associate
October 2, 2025
Question

LIS2DU12TR accelerometer

  • October 2, 2025
  • 1 reply
  • 729 views

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.

1 reply

Federica Bossi
Technical Moderator
October 6, 2025

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.
PE4AAuthor
Associate
October 6, 2025

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?


Federica Bossi
Technical Moderator
October 7, 2025

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.