Skip to main content
Visitor II
September 24, 2024
Solved

LSM6DS3TR-C not responding to I2C on custom PCB

  • September 24, 2024
  • 1 reply
  • 1789 views

Hello!

I recently designed a custom PCB with an LSM6DS3TR-C IMU. However, it doesn't seem like it responds to I2C and I wonder if anyone could take a quick look at the schematic I have for it to see if I've done a misstake. VCC in the schematic is 3.3V.

Help appreciated :)

    This topic has been closed for replies.
    Best answer by Andrew Neil

    @victorhook wrote:

    I am not using external pullups for the SDA/SCL ?


    Definitely a Bad Idea - internal pullups are far too weak (too high resistance) for reliable I2C

     


    @victorhook wrote:

    My guess is that the logic analyzer has stronger pullups or something, thus making it work when it's connected. Does this sound reasonable?


    Certainly.
     

    1 reply

    Super User
    September 24, 2024

    Pin 7 is missing, it should be connected to GND. Perhaps it's just hidden. Otherwise, looks good.

    TDK_0-1727208819435.png

     

    See if you can see SDA/SCL on a scope. If you're using STM32/HAL, not that the slave address should be left-shifted one bit.

    Visitor II
    September 26, 2024

    Hello, thanks for your response :)

    I connected a logic analyzer and it turns out that it indeed works with this analyzer connected, but not without it. I am not using external pullups for the SDA/SCL which I think is the problem. It doesn't seem to be enough with the internal ones in the mcu (STM32C011F6)... My guess is that the logic analyzer has stronger pullups or something, thus making it work when it's connected. Does this sound reasonable?

    Super User
    September 26, 2024

    Not really. Logic analyzers should be very high impedance and should not pull one way or another in general, although the cheaper ones will.

     

    I2C needs external pullups of ~2 kOhm or so for normal speeds. If you only have internal pullups, can set the clock speed to 10 kHz or so and it should work.