Showing results for 
Search instead for 
Did you mean: 

LSM9DS1 fluctuating current draw

Philip Maxwell
Associate II

I have a system containing a LSM9DS1 sampling AXL and Mag at 50Hz (gyro is disabled). When the LSM9DS1 is not attached (desoldered) our system (MCU only) draws about 2mA (10mV average over a 5 ohm resistor). This is constant and stable current of 2mA i.e. almost a flat line.

When the LSM9DS1 is attached power consumption increases as expected, however;

1 - From graph below min current increases from about 2mA to about 2.5mA (0.5mA increase)

2 - However sometimes the system now pulls about 4.4mA at freq of 160Hz (increase of 2.4mA)

3 - Sometimes system pulls 7mA (increase of 5mA).

This results in the wild plot you see below. Any obvious reasons for this sort of current waveform? I have tried changing lots of LSM9DS1 settings with no improvement. I am under the impression it should draw about 600uA with gyro disabled.

Here are my config settings;

   configureAXL(0x10,0x00); //CTRL_REG1_G (10h) //gyro off

   configureAXL(0x11,0x00); //CTRL_REG2_G (11h)

   configureAXL(0x12,0x00); //CTRL_REG3_G (12h)

   configureAXL(0x13,0x00); //ORIENT_CFG_G (13h)

   configureAXL(0x1E,0x00); //CTRL_REG4 (1Eh) 0011 1000

   configureAXL(0x1F,0x38); //CTRL_REG5_XL (1Fh) 0011 1000

   configureAXL(0x20,0x50); //CTRL_REG6_XL (20h) 0x70 = 119Hz, 0x50 = 50Hz

   configureAXL(0x21,0x00); //CTRL_REG7_XL (21h)

   configureAXL(0x22,0x04); //CTRL_REG8 (22h) 0000 1100

   configureAXL(0x23,0x04); //CTRL_REG9 (23h) 0000 0100

   configureAXL(0x24,0x00); //CTRL_REG10 (24h) 0100 0000

   configureAXL(0x2E,0x00); //FIFO_CTRL (2Eh)


   configureMAG(0x20,0xFC); //CTRL_REG1_M (20h) 1111 1100 - 80Hz

   configureMAG(0x21,0x20); //CTRL_REG2_M (21h) 0010 0000 +/- 8 gauss

   configureMAG(0x22,0x80); //CTRL_REG3_M (22h) 1000 0100 was 0x00

   configureMAG(0x23,0x0C); //CTRL_REG4_M (23h) 0000 1100

   configureMAG(0x24,0x00); //CTRL_REG5_M (24h) 0000 0000

   configureMAG(0x30,0x00); //INT_CFG_M (30h) (need to set to 0x00)


   configureMAG(0x32,0x00); //INT_THS_L(32h)

   configureMAG(0x33,0x00); //INT_THS_H(33h)

Any help appretiated.


(Graph time is in mS)0690X00000Bx4ztQAB.png

Philip Maxwell
Associate II

The mag sensor was in ultra performance mode at 80Hz, which is the cause of those high current readings. With the mag sensor on medium performance and a lower ODR, the current draw is a lot less as described in the datasheet.

It would be good if the datasheet as some more current values noted at difference performance settings, there is little information about this.