Skip to main content
Visitor II
October 2, 2025
Question

LIS2DU12TR accelerometer

  • October 2, 2025
  • 1 reply
  • 727 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.

    This topic has been closed for replies.

    1 reply

    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

     

    PE4AAuthor
    Visitor II
    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?


    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?