Showing results for 
Search instead for 
Did you mean: 


Associate II
Posted on January 16, 2018 at 11:10

In the datasheet say that this pin must be work(indicate moment of magnetometer new data avalaible ) automatically(without need of configuration), but it doesn't work. Why?

In the

said that M_XYZ_DA status bit must be connected with DRDY_M output pin(page 32,

CFG_REG_C (62h) 0 bit



oes not LSM9DS1 datasheet contain complete information?

This question(

) has proved this  assumption

Miroslav BATEK
ST Employee
Posted on January 17, 2018 at 12:39

The DRDY_M signal is available without any configuration.

Do you read the data from the magnetometer? If not the DRDY is set and stay high until you read the data.

Posted on January 17, 2018 at 13:50

After magnetometer initialization DRDY_M set up to HIGH. When I first read mag data it set to LOW and... it was staying LOW until power reset action

in spite of

magnetometer data were correctly read again and again.

I have decided this issue when change configuration value of

CTRL_REG3_M (22h)

register from 0x84 to 0x04(7th

bit setting disable I2C interface


How I2C interface is connected with DRDY_M signal?



, thank you,

your attention helped to solve this problem


Posted on January 17, 2018 at 14:16

Do you want to say that the DRDY_M stop work when you set CTRL_REG3_M (22h) to 0x04 and it works if the value is 0x84?

I'm not able replicate this issue.

Posted on January 17, 2018 at 14:38


, it is work when 0x04

is written

to CTRL_REG3_M (22h)


and doesn't work when - 0x84.

This is my experience..

Posted on January 18, 2018 at 14:31

I suppose you have some error in HW connection, because the CTRL_REG3_ doesn't have any impact on DRDY_M signal.

Are you really using 3-wire SPI mode (CTRL_REG3 = 0x04)?

I tested it with CTRL_REG3 = 0x00, 0x84, 0x04 and DRDY_M works for all of them.

Posted on January 19, 2018 at 12:02

Miroslav, do you use DRDY_M signal as indicator of new mag. data

availability and read the data by that signal? Or do you read the data regardless of the DRDY_M signal and are you only watching the signal?

Please, also try with CTRL_REG3 = 0x80