Skip to main content
Visitor II
September 21, 2017
Solved

LSM9DS1 - IO Pins

  • September 21, 2017
  • 2 replies
  • 3114 views
Posted on September 21, 2017 at 07:14

Hi Guys, I'm planning on using the LSM9DS1 as a heading sensor on my board, and I was curious about the functionality of some of the pins - I couldn't find any detailed description in the datasheet.

The pin description describes Pins 5,6 (SDO_A/G, SDO_M) as 'I2C least significant bit of the device address' for I2C mode - are these required if talking to the module in I2C mode?

Also am I correct in assuming that pins 7,8 (CS_A/G, CS_M) just need to be pulled high externally to VDD_IO to enable I2C mode?

And are pins 9 - 13 required or is it possible to just use the I2C bus to talk to the module and read back measurements etc? I'm guessing the interrupts would be handy to alert to a fall or something like that but would not necessarily be required? And I'm not sure the purpose of the Data Ready, Data Enable Pins?

Many Thanks in advance!

Dave

#lsm9ds1
    This topic has been closed for replies.
    Best answer by Miroslav BATEK
    Posted on September 21, 2017 at 09:08

    The pins SDO_A/G and SDO_M defines the I2C address of your sensor. Please see Table 19. It can be used in case you have two sensors on the same I2C bus. You have to connect it to VDD_IO or GND.

    0690X00000608JZQAY.png

    To enable I2C mode you have to connect CS_A/G and CS_M to VDD_IO.

    Connection of pins 9-13 is optional. If you need for example wake-up your microcontroller when some significant motion is detected you can use the interrupt pins. When new data are available pulses are generated on data ready pins. Concerning the Data Enable pin please have a look here 

    https://community.st.com/0D50X00009XkhX7SAJ

     .

    2 replies

    ST Employee
    September 21, 2017
    Posted on September 21, 2017 at 09:08

    The pins SDO_A/G and SDO_M defines the I2C address of your sensor. Please see Table 19. It can be used in case you have two sensors on the same I2C bus. You have to connect it to VDD_IO or GND.

    0690X00000608JZQAY.png

    To enable I2C mode you have to connect CS_A/G and CS_M to VDD_IO.

    Connection of pins 9-13 is optional. If you need for example wake-up your microcontroller when some significant motion is detected you can use the interrupt pins. When new data are available pulses are generated on data ready pins. Concerning the Data Enable pin please have a look here 

    https://community.st.com/0D50X00009XkhX7SAJ

     .
    Visitor II
    September 25, 2017
    Posted on September 25, 2017 at 03:15

    Many Thanks Miroslav, that's great.

    Cheers,

    Dave

    Visitor II
    September 25, 2017
    Posted on September 25, 2017 at 04:40

    Actually one more quick follow-up - I've had a look at the DEN_A/G post, but I'm still not sure I understand fully. Is it an Input pin? To allow external turn on of A/G data on the I2C bus?

    Thanks,

    Dave
    ST Employee
    October 24, 2017
    Posted on October 24, 2017 at 14:09

    If you have two sensors on the same I2C bus you have to distinguish them by different SD0_/AG connection thus different I2C address.

    Visitor II
    October 24, 2017
    Posted on October 24, 2017 at 14:18

    'Two sensors.'

    Do you mean two different sensor devices, e.g. LSM9DS1 connected to the same I2C bus ?

    Is there the default address of I2C set by production for LSM9DS1 ?

    ST Employee
    October 24, 2017
    Posted on October 24, 2017 at 16:20

    Yes, in example two LSM9DS1 connected to the same I2C bus.

    Only two 7-bit addresses are possible 1101010b = 0x6A or 1101011b = 0x6B, the last bit is set by the connection

    SDO_A/G pin.