cancel
Showing results for 
Search instead for 
Did you mean: 

The fluctuation in the readings from a LIS3MDL sensor

M. Jeong
Associate II
Posted on October 11, 2017 at 11:12

I'm testing a LIS3MDL magnetic field sensor using an Arduino Pro mini.The Arduino IDE has a library for Pololu LIS3MDL module and example codes as well. I connected the sensor module to the Arduino via I2C and ran an example program. The program is supposed to read the magnitude of the magnetic field in x, y, z axes with the sensor and to send the readings to PC via UART. The program is working fine, except that I see fluctuations in the readings. The sensor module is laid on my desk and is about 1m from desktop. The following is a set of readings that I received from the sensor.

M: 678 1720 2750
M: 701 1739 2784
M: 692 1754 2769
M: 684 1742 2833
M: 729 1733 2837
M: 671 1750 2742
M: 719 1757 2786
M: 739 1746 2762
M: 735 1742 2790
M: 675 1722 2734
M: 725 1696 2809
M: 733 1690 2772
M: 671 1726 2800
M: 670 1711 2764
M: 670 1726 2782
M: 706 1689 2793
M: 699 1713 2811
M: 725 1716 2766
M: 685 1724 2749
M: 707 1709 2736
M: 682 1733 2762
M: 705 1718 2784
M: 694 1710 2788
M: 710 1725 2755
M: 723 1713 2775
M: 719 1716 2746
M: 667 1700 2766
M: 698 1715 2782
M: 653 1711 2798
M: 714 1694 2765
M: 677 1705 2799
M: 669 1691 2783
M: 682 1722 2832
M: 698 1720 2787
M: 653 1747 2787
M: 698 1715 2727
M: 677 1714 2777
M: 647 1719 2724
M: 682 1713 2737
M: 685 1756 2790
M: 703 1745 2802
M: 687 1739 2745
M: 692 1736 2761
M: 670 1719 2766
M: 706 1752 2819
M: 720 1715 2822
M: 706 1727 2757
M: 675 1751 2857
M: 635 1752 2769
M: 732 1755 2813
M: 656 1743 2744
M: 660 1731 2828
M: 685 1777 2820
M: 674 1746 2797
M: 679 1799 2771
�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

According to the library the range is +-4 gauss. Thus the amplitude of the fluctuation is about (100/6842) = 0.01gauss.

1. Is the fluctuation normal for the LSI3MDL? I wonder if it's an intrinsic property of the sensor.

2. Isn't it possible to have an accuracy of 1 degrees, when one measures the orientation with LIS3MDL?

1 REPLY 1
Miroslav BATEK
ST Employee
Posted on October 13, 2017 at 11:43

1. The fluctuation of the output values is not normal, it should be much less. Please try it in a different environment to exclude external disturbances of the magnetic field.

2. To reach 1 degree of heading precision would be very difficult. Please be aware to measure heading you would need also precise accelerometer to compensate tilt of the magnetometer and you also need to eliminate Hard Iron and Soft Iron error of the magnetometer.