<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>SensorsのトピックRe: Re: mag3110 magnetometer calibration</title>
    <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296553#M665</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ajna,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A compass heading (yaw) can be determined by using just the x- and y-magnetometer measurements, but as you have noticed, these are offset from zero by the magnetic “hard iron” interfering field, which results from both permanently magnetized ferromagnetic materials on the PCB and from a zero-field offset in the magnetometer sensor itself. That is why it is necessary to do calibration. In addition to that, in case the device is not kept horizontal, the accelerometer is needed for tilt compensation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assuming that the device lies perfectly horizontal, you can rotate it in a figure of eight for a few seconds, record the minimum and maximum magnetometer readings, compute the corresponding x- and y- offset values by using the min/max averaging and then substract these offset values from the current magnetometer measurements. The heading then can be easily computed using the atan2() function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 Apr 2014 13:56:05 GMT</pubDate>
    <dc:creator>TomasVaverka</dc:creator>
    <dc:date>2014-04-15T13:56:05Z</dc:date>
    <item>
      <title>mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296550#M662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am working in im6xq board. We have connected mag3110 to the i2c1 line. A platfrom data we are given is 0. The problem is, we are not able to interpret the data output of the sensor. Our team calculated the angle as taninverse (My/Mx), where My and Mx are raw data obtained from magnetometer. But this angle is varying only between some 45 degrees, eventhough we tried full rotation. Any way is there for calibrating this magnetometer? Also it will be helpfull, if let us know any mistake in angle calculation we are doing. Data output we obtained while running magnetometer is included here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Test Count = 11, Mx = 565, My = 1556, Mz = 1359&lt;/P&gt;&lt;P&gt;Test Count = 12, Mx = 566, My = 1559, Mz = 1363&lt;/P&gt;&lt;P&gt;Test Count = 13, Mx = 566, My = 1559, Mz = 1370&lt;/P&gt;&lt;P&gt;Test Count = 14, Mx = 569, My = 1562, Mz = 1372&lt;/P&gt;&lt;P&gt;Test Count = 15, Mx = 563, My = 1558, Mz = 1361&lt;/P&gt;&lt;P&gt;Test Count = 16, Mx = 561, My = 1559, Mz = 1356&lt;/P&gt;&lt;P&gt;Test Count = 17, Mx = 565, My = 1554, Mz = 1369&lt;/P&gt;&lt;P&gt;Test Count = 18, Mx = 569, My = 1555, Mz = 1360&lt;/P&gt;&lt;P&gt;Test Count = 19, Mx = 562, My = 1565, Mz = 1377&lt;/P&gt;&lt;P&gt;Test Count = 20, Mx = 567, My = 1561, Mz = 1367&lt;/P&gt;&lt;P&gt;Test Count = 21, Mx = 567, My = 1567, Mz = 1361&lt;/P&gt;&lt;P&gt;Test Count = 22, Mx = 567, My = 1558, Mz = 1372&lt;/P&gt;&lt;P&gt;Test Count = 23, Mx = 567, My = 1556, Mz = 1357&lt;/P&gt;&lt;P&gt;Test Count = 24, Mx = 568, My = 1555, Mz = 1358&lt;/P&gt;&lt;P&gt;Test Count = 25, Mx = 569, My = 1559, Mz = 1360&lt;/P&gt;&lt;P&gt;Test Count = 26, Mx = 568, My = 1555, Mz = 1362&lt;/P&gt;&lt;P&gt;Test Count = 27, Mx = 564, My = 1555, Mz = 1347&lt;/P&gt;&lt;P&gt;Test Count = 28, Mx = 566, My = 1560, Mz = 1369&lt;/P&gt;&lt;P&gt;Test Count = 29, Mx = 572, My = 1569, Mz = 1355&lt;/P&gt;&lt;P&gt;Test Count = 30, Mx = 565, My = 1556, Mz = 1355&lt;/P&gt;&lt;P&gt;Test Count = 31, Mx = 566, My = 1557, Mz = 1363&lt;/P&gt;&lt;P&gt;Test Count = 32, Mx = 566, My = 1553, Mz = 1362&lt;/P&gt;&lt;P&gt;Test Count = 33, Mx = 566, My = 1560, Mz = 1361&lt;/P&gt;&lt;P&gt;Test Count = 34, Mx = 568, My = 1556, Mz = 1355&lt;/P&gt;&lt;P&gt;Test Count = 35, Mx = 565, My = 1568, Mz = 1355&lt;/P&gt;&lt;P&gt;Test Count = 36, Mx = 570, My = 1558, Mz = 1365&lt;/P&gt;&lt;P&gt;Test Count = 37, Mx = 574, My = 1562, Mz = 1364&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This output we obtained without any rotation, but in resting position. We need an complete angle rotation ie, form 0 to 360 on board rotaion, for our eCompass application. Any suggestion or comments are invited. Waiting for your valuable replies.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Ajna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2026 20:57:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296550#M662</guid>
      <dc:creator>ajnaca</dc:creator>
      <dc:date>2026-02-03T20:57:56Z</dc:date>
    </item>
    <item>
      <title>Re: mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296551#M663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Ajna,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;My first suggestion is to take a closer look at &lt;A href="http://cache.freescale.com/files/sensors/doc/reports_presentations/ARTICLE_REPRINT.pdf"&gt;this&lt;/A&gt; article describing among others a simple hard-iron calibration technique.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;For more information, please refer to both &lt;A href="http://cache.freescale.com/files/sensors/doc/app_note/AN4246.pdf"&gt;AN4246&lt;/A&gt; “Calibrating an eCompass in the Presence of Hard and Soft-Iron Interference” and &lt;A href="http://cache.freescale.com/files/sensors/doc/app_note/AN4248.pdf"&gt;AN4248&lt;/A&gt; “Implementing a Tilt-Compensated eCompass using Accelerometer and Magnetometer Sensors” and visit our &lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=E-Compass"&gt;eCompass website&lt;/A&gt; for additional C source code and details.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;I hope this helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;Tomas&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Arial','sans-serif';"&gt;&lt;SPAN style="font-weight: inherit; font-style: italic; font-size: 11px; font-family: inherit; color: #3d3d3d;"&gt;&lt;EM style="font-weight: inherit; font-family: inherit;"&gt;PS:&lt;SPAN class="Apple-converted-space" style="font-weight: inherit; font-style: inherit; font-family: inherit;"&gt;&lt;SPAN class="Apple-converted-space"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: italic; font-size: 11px; font-family: inherit; color: #3d3d3d;"&gt;If my answer helps to solve your question, please mark it as "Correct" or “Helpful”. Thank you.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 10:54:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296551#M663</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2014-04-15T10:54:21Z</dc:date>
    </item>
    <item>
      <title>Re: mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296552#M664</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Thoms,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are not combining accelerometer with our application. Only we need is the determination of angle in a range of 0 - 360, using magnetometer. It is possible to obtain the degree of rotation using magnetometer, right ..?&lt;/P&gt;&lt;P&gt;If so how it can be achieved...?? Please help me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All related documents I have gone through. everywhre angle is given as taninverse (ratio of horizontal axes). But for this, we are not getting any meaningfull data. we think it's not meaningfull because, it is not ranging from 0-360 eventhough we are rotating that much. Why is it so..?? Please help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Ajna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 12:02:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296552#M664</guid>
      <dc:creator>ajnaca</dc:creator>
      <dc:date>2014-04-15T12:02:33Z</dc:date>
    </item>
    <item>
      <title>Re: Re: mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296553#M665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ajna,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A compass heading (yaw) can be determined by using just the x- and y-magnetometer measurements, but as you have noticed, these are offset from zero by the magnetic “hard iron” interfering field, which results from both permanently magnetized ferromagnetic materials on the PCB and from a zero-field offset in the magnetometer sensor itself. That is why it is necessary to do calibration. In addition to that, in case the device is not kept horizontal, the accelerometer is needed for tilt compensation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assuming that the device lies perfectly horizontal, you can rotate it in a figure of eight for a few seconds, record the minimum and maximum magnetometer readings, compute the corresponding x- and y- offset values by using the min/max averaging and then substract these offset values from the current magnetometer measurements. The heading then can be easily computed using the atan2() function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Tomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 Apr 2014 13:56:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296553#M665</guid>
      <dc:creator>TomasVaverka</dc:creator>
      <dc:date>2014-04-15T13:56:05Z</dc:date>
    </item>
    <item>
      <title>Re: Re: mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296554#M666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Tomas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your kind reply. Now I am getting 0-360 degree variations in angle, once I did the calibrations. But the variation is not uniform, on rotation of the board. Whether I need to do some calibration for the uniform variation of angle ? Now for 180 and 360 degree rotation, we are getting, accurate angle. But thing is, for other range , an range of error is also producing. But the angle limit is 0-360 properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also it will be good if you tell how to find the true north using this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Ajna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Apr 2014 08:47:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296554#M666</guid>
      <dc:creator>ajnaca</dc:creator>
      <dc:date>2014-04-16T08:47:52Z</dc:date>
    </item>
    <item>
      <title>Re: mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296555#M667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Tomas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am stucked up with another context. How we can calculate the effective magnetic intensity at a point, from 3 axis data obtained from mag3110 ? Looking forward to hear from you. Kindly help me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Ajna&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Jan 2015 05:28:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296555#M667</guid>
      <dc:creator>ajnaca</dc:creator>
      <dc:date>2015-01-19T05:28:30Z</dc:date>
    </item>
    <item>
      <title>Re: mag3110 magnetometer calibration</title>
      <link>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296556#M668</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/TomasVaverka"&gt;TomasVaverka&lt;/A&gt; we are using the same calibration method.&lt;/P&gt;&lt;P&gt;Please let me know if there is any method&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt; to find the maximum and min values of x and y are reached while rotating,so that we can exit before the fixed timeout?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Apr 2015 08:10:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Sensors/mag3110-magnetometer-calibration/m-p/296556#M668</guid>
      <dc:creator>pramodk_g_</dc:creator>
      <dc:date>2015-04-24T08:10:10Z</dc:date>
    </item>
  </channel>
</rss>

